package colibri2

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Polynome

include Colibri2_popop_lib.Popop_stdlib.Datatype with type t := t
include Colibri2_popop_lib.Popop_stdlib.OrderedHashedType with type t := t
val equal : t -> t -> bool
val hash_fold_t : t Base.Hash.folder
module S : Colibri2_popop_lib.Map_intf.Set with type 'a M.t = 'a M.t and type M.key = M.key
include Base.Hashtbl.Key.S with type t := t
val compare : t Base__Ppx_compare_lib.compare
val sexp_of_t : t -> Sexplib0.Sexp.t
val hash : t -> int
val invariant : t -> bool
val zero : t
val is_zero : t -> bool
val is_cst : t -> Colibri2_stdlib.Std.A.t option
val is_one_node : t -> Colibri2_core.Node.t option
type extract =
  1. | Zero
    (*

    p = 0

    *)
  2. | Cst of Colibri2_stdlib.Std.A.t
    (*

    p = q

    *)
  3. | Var of Colibri2_stdlib.Std.A.t * Colibri2_core.Node.t * t
    (*

    p = qx + p'

    *)
val extract : t -> extract
type kind =
  1. | ZERO
  2. | CST
  3. | VAR
val classify : t -> kind
val sub_cst : t -> Colibri2_stdlib.Std.A.t -> t
val add_cst : t -> Colibri2_stdlib.Std.A.t -> t
val mult_cst : Colibri2_stdlib.Std.A.t -> t -> t
val add : t -> t -> t
val sub : t -> t -> t
val x_p_cy : t -> Colibri2_stdlib.Std.A.t -> t -> t
val fold : ('a -> Colibri2_core.Node.t -> Colibri2_stdlib.Std.A.t -> 'a) -> 'a -> t -> 'a
val iter : (Colibri2_core.Node.t -> Colibri2_stdlib.Std.A.t -> unit) -> t -> unit
type 'a tree =
  1. | Empty
  2. | Node of 'a tree * Colibri2_core.Node.t * 'a * 'a tree * int
val normalize : t -> t

divide by the pgcd

OCaml

Innovation. Community. Security.