package tezos-bls12-381-polynomial

  1. Overview
  2. Docs
type t
val allocate : int -> t

allocate n allocates a custom block to save a SRS of size n

val load_from_file : t -> string -> int -> int -> bool
val of_array : t -> Bls12_381.G1.t array -> int -> unit

of_array srs jacobian_pts length feeds the SRS srs with the SRS given in jacobian coordinates

val to_array : Bls12_381.G1.t array -> t -> int -> unit

to_array jacobian_pts_array srs length extracts the SRS points from srs and feed it in jacobian_pts_array

val get : Bls12_381.G1.t -> t -> int -> unit

get res srs i writes i-th element of srs in res

  • requires: 0 <= i < size srs
  • ensures: res = srs[i]
val pippenger : Bls12_381.G1.t -> t -> Carray.Stubs.fr_array -> int -> int -> int -> unit

pippenger res srs fr_array start len uses pippenger to compute multi scalar exponentiation