package orgeat

  1. Overview
  2. Docs
type t
val zero : 'a Smol__Polynomial.Make(Literal.Variable).p
val is_zero : t -> bool
val one : t
val of_scalar : K.t -> t
val to_scalar : t -> K.t
val to_scalar_opt : t -> K.t option
val of_literal : Literal.Variable.t -> t
val flatten : t Smol__Polynomial.Make(Literal.Variable).p -> t
val get_support : t -> Literal.Variable.t list
val equal : t -> t -> bool
val deg : Literal.Variable.t -> t -> int
val add : t -> t -> t
val mul_scalar : K.t -> t -> t
val mul : t -> t -> t
val leading_coef : Literal.Variable.t -> t -> t * int
val apply_raw : (module Smol.Algebra.Mul_Monoid_S with type t = 'a) -> (module Smol.Algebra.Semiring_S with type t = 'b) -> (K.t -> 'a -> 'b) -> 'a Stdlib.Map.Make(Orgeat.Literal.Variable).t -> t -> 'b Smol__Polynomial.Make(Literal.Variable).p
val apply : (module Smol.Algebra.Semiring_S with type t = 'a) -> (K.t -> 'a -> 'a) -> 'a Stdlib.Map.Make(Orgeat.Literal.Variable).t -> t -> 'a Smol__Polynomial.Make(Literal.Variable).p
val eval : K.t Stdlib.Map.Make(Orgeat.Literal.Variable).t -> t -> t
val substitution : t Stdlib.Map.Make(Orgeat.Literal.Variable).t -> t -> t
val apply_at_0 : t -> K.t
val deriv : Literal.Variable.t -> t -> (int * K.t) Smol__Polynomial.Make(Literal.Variable).p
val to_string : t -> string
val map : ('a -> K.t) -> 'a Smol__Polynomial.Make(Literal.Variable).p -> t
val mapi : (Smol.Monomial.Make(Literal.Variable).t -> 'a -> K.t) -> 'a Smol__Polynomial.Make(Literal.Variable).p -> t
val merge : (Smol.Monomial.Make(Literal.Variable).t -> 'a option -> 'b option -> K.t) -> 'a Smol__Polynomial.Make(Literal.Variable).p -> 'b Smol__Polynomial.Make(Literal.Variable).p -> t
val mem : Smol.Monomial.Make(Literal.Variable).t -> 'a Smol__Polynomial.Make(Literal.Variable).p -> bool
val update : Smol.Monomial.Make(Literal.Variable).t -> (K.t -> K.t) -> t -> t
val remove : Smol.Monomial.Make(Literal.Variable).t -> 'a Smol__Polynomial.Make(Literal.Variable).p -> 'a Smol__Polynomial.Make(Literal.Variable).p
val union : (Smol.Monomial.Make(Literal.Variable).t -> K.t -> K.t -> K.t) -> t -> t -> t
val compare : ('a -> 'a -> int) -> 'a Smol__Polynomial.Make(Literal.Variable).p -> 'a Smol__Polynomial.Make(Literal.Variable).p -> int
val iter : (Smol.Monomial.Make(Literal.Variable).t -> 'a -> unit) -> 'a Smol__Polynomial.Make(Literal.Variable).p -> unit
val fold : (Smol.Monomial.Make(Literal.Variable).t -> 'a -> 'b -> 'b) -> 'a Smol__Polynomial.Make(Literal.Variable).p -> 'b -> 'b
val for_all : (Smol.Monomial.Make(Literal.Variable).t -> 'a -> bool) -> 'a Smol__Polynomial.Make(Literal.Variable).p -> bool
val exists : (Smol.Monomial.Make(Literal.Variable).t -> 'a -> bool) -> 'a Smol__Polynomial.Make(Literal.Variable).p -> bool
val filter : (Smol.Monomial.Make(Literal.Variable).t -> 'a -> bool) -> 'a Smol__Polynomial.Make(Literal.Variable).p -> 'a Smol__Polynomial.Make(Literal.Variable).p
val partition : (Smol.Monomial.Make(Literal.Variable).t -> 'a -> bool) -> 'a Smol__Polynomial.Make(Literal.Variable).p -> 'a Smol__Polynomial.Make(Literal.Variable).p * 'a Smol__Polynomial.Make(Literal.Variable).p
val cardinal : 'a Smol__Polynomial.Make(Literal.Variable).p -> int
val bindings : 'a Smol__Polynomial.Make(Literal.Variable).p -> (Smol.Monomial.Make(Literal.Variable).t * 'a) list
val to_seq : 'a Smol__Polynomial.Make(Literal.Variable).p -> (Smol.Monomial.Make(Literal.Variable).t * 'a) Stdlib.Seq.t
val add_seq : (Smol.Monomial.Make(Literal.Variable).t * K.t) Stdlib.Seq.t -> t -> t
val of_seq : (Smol.Monomial.Make(Literal.Variable).t * K.t) Stdlib.Seq.t -> t
val neg : t -> t
val sub : t -> t -> t
val partial_div_euclid : Literal.Variable.t -> t -> t -> t * t * t * int
val partial_gcd : Literal.Variable.t -> t -> t -> t
module Infix : sig ... end
val mul_int : int -> K.t Smol__Polynomial.Make(Literal.Variable).p -> t