package irmin-pack
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=6e430cf44aee5ffdc94f6bfad8dbc401e3ea036ed1fbcf2a8697198ecbf6d412
sha512=b969d0913f0776384fafc4f138cb5187a921e827fd9940d0b350601e1913bdecdfc5acc62ec0ff7c6906e230950a68b39bd886ba3fe37be52e1c6117ddce1791
doc/irmin-pack.unix/Irmin_pack_unix/Checks/Make/argument-1-_/Hash/index.html
Module _.Hash
Object hashes.
Signature for digest hashes, inspired by Digestif.
type t = hash
The type for digest hashes.
val hash : ((string -> unit) -> unit) -> t
Compute a deterministic store key from a sequence of strings.
val short_hash : t -> int
short_hash h
is a small hash of h
, to be used for instance as the `hash` function of an OCaml Hashtbl
.
val to_raw_string : t -> string
to_raw_string t
is the raw sequence of bytes in t
(of length hash_size
).
val unsafe_of_raw_string : string -> t
unsafe_of_raw_string b
is the hash consisting of the raw sequence of bytes b
.
Warning: this function cannot guarantee that the supplied byte string is a valid output of the hash process, so should only be used on strings that are known to have been built with to_raw_string
.
short_hash_substring t off
computes the short-hash of the raw hash data contained in t
at offset off
. It has behaviour equivalent to:
Bigstringaf.substring t ~off ~len:hash_size
|> unsafe_of_raw_string
|> short_hash
but may be more efficient due to not needing to allocate an intermediate string
.
Value Types
val t : t Irmin.Type.t
t
is the value type for t
.