Module Arith.Type

Parameters

module X : Sig.X

Signature

type r = X.r
type t
val compare : t -> t -> int
val equal : t -> t -> bool
val hash : t -> int
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 print : Stdlib.Format.formatter -> t -> unit
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 Set : Stdlib.Set.S with type elt = t
module Map : Stdlib.Map.S with type key = t
module Ints : sig ... end

Helper functions for manipulating polynomials of type Tint.