Bls.GTinclude module type of struct include Mavryk_bls12_381.GT endPrime subgroup of Fq12, of order Fr.order, represented additively
type t = Mavryk_bls12_381.GT.tRepresents an element in the prime subgroup
Checks the bytes represent a point in the prime subgroup. The expected encoding is the same than Fq12.of_bytes_exn.
val of_bytes_exn : Stdlib.Bytes.t -> tSame than Fq12.of_bytes_exn but also verifies the element is in the prime subgroup. Raise Not_in_group if the element is not in the prime subgroup.
val of_bytes_opt : Stdlib.Bytes.t -> t optionSame than of_bytes_exn but returns an option instead of an exception.
val to_bytes : t -> Stdlib.Bytes.tSame than Fq12.to_bytes.
val zero : tThe neutral element of the subgroup. It is equal to Fq12.one.
val is_zero : t -> boolis_zero x is equivalent to eq x zero
val one : tA generator of the group. It is set to the result of Pairing.pairing
G1.one G2.one.
val is_one : t -> boolis_one x is equivalent to eq x one
val random : ?state:Stdlib.Random.State.t -> unit -> tGenerate a random element. The function ensures the element is in the prime subgroup.
The routines in the module Random.State are used to generate the elements. A state can be given to the function to be used. If no state is given, Random.get_state is used.
To create a value of type Random.State.t, you can use Random.State.make
[|42|].
val mul : t -> Mavryk_bls12_381.Fr.t -> tmul x n returns [n] x, i.e. the result of adding x n-times with itself. It is equivalent to Fq12.pow x (Fr.to_z n)
val t : t Repr.t