diff options
author | 2017-04-11 01:16:37 +0200 | |
---|---|---|
committer | 2017-04-11 01:16:37 +0200 | |
commit | 97f1d0b6ddfce894941d34fc3b3e4c4df0efadd2 (patch) | |
tree | 81454b4f7f8b78bbb4376ea38f2777e76ce7252f /plugins/nsatz/ideal.mli | |
parent | 351b4e0d2d7fa9b1ed853e9d834993ee24a1a130 (diff) | |
parent | 9aa27e4554c607ea9bd94c999bf828c2874cf22a (diff) |
Merge PR#532: Clean Nsatz implementation.
Diffstat (limited to 'plugins/nsatz/ideal.mli')
-rw-r--r-- | plugins/nsatz/ideal.mli | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/plugins/nsatz/ideal.mli b/plugins/nsatz/ideal.mli index d1a2a0a7d..b7ec901af 100644 --- a/plugins/nsatz/ideal.mli +++ b/plugins/nsatz/ideal.mli @@ -6,6 +6,17 @@ (* * GNU Lesser General Public License Version 2.1 *) (************************************************************************) +type metadata = { + name_var : string list; +} + +module Monomial : +sig +type t +val repr : t -> int array +val make : int array -> t +end + module Make (P : Polynom.S) : sig (* Polynomials *) @@ -14,32 +25,26 @@ type deg = int type coef = P.t type poly -val repr : poly -> (coef * int array) list +val repr : poly -> (coef * Monomial.t) list val polconst : int -> coef -> poly val zeroP : poly val gen : int -> int -> poly val equal : poly -> poly -> bool -val name_var : string list ref val plusP : poly -> poly -> poly val oppP : poly -> poly val multP : poly -> poly -> poly val puisP : poly -> int -> poly -val poldepcontent : coef list ref - type certificate = { coef : coef; power : int; gb_comb : poly list list; last_comb : poly list } -val in_ideal : deg -> poly list -> poly -> poly list * poly * certificate +val in_ideal : metadata -> deg -> poly list -> poly -> certificate module Hashpol : Hashtbl.S with type key = poly -val sugar_flag : bool ref -val divide_rem_with_critical_pair : bool ref - end exception NotInIdeal |