package octez-bls12-381-polynomial

  1. Overview
  2. Docs
module Domain_c = Domain.Stubs
module Domain = Domain.Domain_unsafe
module Polynomial_c = Polynomial.Stubs
module Polynomial = Polynomial.Polynomial_unsafe
type scalar = Fr.t
type polynomial = Polynomial.t
type t = int * Fr_carray.t
val t : (int * Fr_carray.t) Repr.t
type domain = Domain.t
val init : int -> (int -> Fr_carray.elt) -> degree:'a -> 'a * Fr_carray.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 to_carray : ('a * 'b) -> 'b
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) -> 'a
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) -> 'b * Fr_carray.t
val get : ('a * Fr_carray.t) -> int -> Fr_carray.elt
val get_inplace : ('a * Fr_carray.t) -> int -> Fr_carray.elt -> unit
val mul_by_scalar : Polynomial_c.fr -> ('a * Fr_carray.t) -> 'a * 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.fr -> int * Fr_carray.t
val equal : ('a * Fr_carray.t) -> ('a * 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
val dft : Domain.t -> Polynomial.t -> int * Fr_carray.t
val idft : Domain.t -> ('a * Fr_carray.t) -> Polynomial.t
val evaluation_fft_prime_factor_algorithm : domain1:Domain.t -> domain2:Domain.t -> Polynomial.t -> int * Fr_carray.t
val interpolation_fft_prime_factor_algorithm : domain1:Domain.t -> domain2:Domain.t -> (int * Fr_carray.t) -> Polynomial.t
OCaml

Innovation. Community. Security.