Primitive.Frtype t = Mavryk_bls12_381.Fr.tcheck_bytes bs returns true if bs is a correct byte representation of a field element
val zero : tThe neutral element for the addition
val one : tThe neutral element for the multiplication
negate x returns -x mod order. Equivalently, negate x returns the unique y such that x + y mod order = 0
val of_bytes_exn : Stdlib.Bytes.t -> tFrom a predefined bytes representation, construct a value t. It is not required that to_bytes (of_bytes_exn t) = t. Raise Not_in_field if the bytes do not represent an element in the field.
val of_bytes_opt : Stdlib.Bytes.t -> t optionFrom a predefined bytes representation, construct a value t. It is not required that to_bytes (Option.get (of_bytes_opt t)) = t. By default, little endian encoding is used and the given element is modulo the prime order
val to_bytes : t -> Stdlib.Bytes.tConvert the value t to a bytes representation which can be used for hashing for instance. It is not required that to_bytes (of_bytes_exn t) = t. By default, little endian encoding is used, and length of the resulting bytes may vary depending on the order.
val of_z : Z.t -> tof_z x builds an element t from the Zarith element x. mod order is applied if x >= order or x < 0.
val to_z : t -> Z.tto_z x builds a Zarith element, using the decimal representation. Arithmetic on the result can be done using the modular functions on integers