Module Polynome.Make

Parameters

module X : S

Signature

type r = X.r
type t
include Container_types.S_plus_stdlib with type t := t
module T : Container_types_intf.Thing with type t = t
include Container_types_intf.Thing with type t := T.t
include Stdlib.Hashtbl.HashedType with type t := T.t
val equal : T.t -> T.t -> bool
val hash : T.t -> int
include Stdlib.Map.OrderedType with type t := T.t
val compare : T.t -> T.t -> int
val print : T.t Fmt.t
module Map : Container_types_intf.Map_plus_stdlib with type key = t and module Set = Set
val create : (Numbers.Q.t * r) list -> Numbers.Q.t -> Ty.t -> t
val add : t -> t -> t
val sub : t -> t -> t
val mult : t -> t -> t
val mult_const : Numbers.Q.t -> t -> t
val add_const : Numbers.Q.t -> t -> t
val div : t -> t -> t * bool
val modulo : t -> t -> t
val is_const : t -> Numbers.Q.t option
val is_empty : t -> bool
val find : r -> t -> Numbers.Q.t
val choose : t -> Numbers.Q.t * r
val subst : r -> t -> t -> t
val remove : r -> t -> t
val to_list : t -> (Numbers.Q.t * r) list * Numbers.Q.t
val leaves : t -> r list
val type_info : t -> Ty.t
val is_monomial : t -> (Numbers.Q.t * r * Numbers.Q.t) option
val ppmc_denominators : t -> Numbers.Q.t
val pgcd_numerators : t -> Numbers.Q.t
val normal_form : t -> t * Numbers.Q.t * Numbers.Q.t
val normal_form_pos : t -> t * Numbers.Q.t * Numbers.Q.t
val abstract_selectors : t -> (r * r) list -> t * (r * r) list
val separate_constant : t -> t * Numbers.Q.t
module Ints : sig ... end

Helper functions for manipulating polynomials of type Tint.