package tezos-bls12-381-polynomial

  1. Overview
  2. Docs
module Domain_c = Domain.Stubs
module Domain = Domain.Domain_unsafe
module Polynomial = Polynomial_c.Polynomial_unsafe
type scalar = Fr.t
type polynomial = Polynomial.t
type t = int * Stubs.fr_array
type domain = Domain.t
val of_array : (int * Fr_carray.elt array) -> int * Fr_carray.t
val to_array : ('a * Fr_carray.t) -> Fr_carray.elt array
val string_of_eval : (int * Fr_carray.t) -> string
val of_domain : Domain.t -> int * Fr_carray.t
val allocate : int -> Fr_carray.t
val to_domain : ('a * Fr_carray.t) -> Domain.t
val zero : int * Fr_carray.t
val degree : ('a * 'b) -> 'c
val length : ('a * Fr_carray.t) -> int
val create : int -> int * Fr_carray.t
val is_zero : (int * 'a) -> bool
val allocate_for_res : ('a * Fr_carray.t) option -> int -> Fr_carray.t
val copy : ?res:('a * Fr_carray.t) -> ('b * Fr_carray.t) -> 'c * Fr_carray.t
val get : ('a * Fr_carray.t) -> int -> Fr_carray.elt
val mul_by_scalar : Polynomial_c.Stubs.fr -> ('a * Fr_carray.t) -> 'b * Fr_carray.t
val mul_c : ?res:('a * Fr_carray.t) -> evaluations:(int * Fr_carray.t) list -> ?composition_gx:(int list * int) -> ?powers:int list -> unit -> int * Fr_carray.t
val constant : Fr_carray.t -> Fr_carray.elt -> unit
val linear_c : ?res:('a * Fr_carray.t) -> evaluations:(int * Fr_carray.t) list -> ?linear_coeffs:Fr.t list -> ?composition_gx:(int list * int) -> ?add_constant:Fr.t -> unit -> int * Fr_carray.t
val add : ?res:('a * Fr_carray.t) -> (int * Fr_carray.t) -> (int * Fr_carray.t) -> int * Fr_carray.t
val linear_with_powers : (int * Fr_carray.t) list -> Polynomial_c.Stubs.fr -> int * Fr_carray.t
val equal : ('a * Fr_carray.t) -> ('b * Fr_carray.t) -> bool
val evaluation_fft_internal : Domain.t -> polynomial -> Fr_carray.t
val evaluation_fft : domain -> polynomial -> t
val interpolation_fft_internal : Domain.t -> Fr_carray.t -> polynomial
val interpolation_fft : domain -> t -> polynomial
val interpolation_fft2 : Domain.t -> scalar array -> polynomial