package tezos-protocol-alpha
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=aa2f5bc99cc4ca2217c52a1af2a2cdfd3b383208cb859ca2e79ca0903396ca1d
sha512=d68bb3eb615e3dcccc845fddfc9901c95b3c6dc8e105e39522ce97637b1308a7fa7aa1d271351d5933febd7476b2819e1694f31198f1f0919681f1f9cc97cb3a
doc/tezos_raw_protocol_alpha/Tezos_raw_protocol_alpha/Script_int/index.html
Module Tezos_raw_protocol_alpha.Script_int
Source
The types for arbitrary precision integers in Michelson. The type variable 't
is always n
or z
, n num
and z num
are incompatible.
This is internally a Z.t
. This module mostly adds signedness preservation guarantees.
num
is made algebraic in order to distinguish it from the other type parameters of Script_typed_ir.ty
.
Flag for natural numbers.
Flag for relative numbers.
Conversion from an OCaml string
. Returns None
in case of an invalid notation. Supports +
and -
sign modifiers, and 0x
, 0o
and 0b
base modifiers.
Conversion from a Zarith integer (Z.t
).
Conversion to a Zarith integer (Z.t
).
Euclidean division of a natural. ediv_n n d
returns None
if divisor is zero, or Some (q, r)
where n = d * q + r
and [0 <= r < d]
otherwise.
Sign agnostic addition. Use add_n
when working with naturals to preserve the sign.
Sign agnostic multiplication. Use mul_n
when working with a natural to preserve the sign.
Sign agnostic euclidean division. ediv n d
returns None
if divisor is zero, or Some (q, r)
where n = d * q + r
and [0 <= r < |d|]
otherwise. Use ediv_n
when working with a natural to preserve the sign.
Reverses each bit in the representation of the number. Also applies to the sign.
Shifts the natural to the left of a number of bits between 0 and 256. Returns None
if the amount is too high.
Shifts the natural to the right of a number of bits between 0 and 256. Returns None
if the amount is too high.
Shifts the number to the left of a number of bits between 0 and 256. Returns None
if the amount is too high.
Shifts the number to the right of a number of bits between 0 and 256. Returns None
if the amount is too high.
Naturals are encoded using Data_encoding.n
Integers are encoded using Data_encoding.z