aboutsummaryrefslogtreecommitdiffhomepage
path: root/contrib/groebner/polynom.ml
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/groebner/polynom.ml')
-rw-r--r--contrib/groebner/polynom.ml9
1 files changed, 5 insertions, 4 deletions
diff --git a/contrib/groebner/polynom.ml b/contrib/groebner/polynom.ml
index 13acaa240..5c859f755 100644
--- a/contrib/groebner/polynom.ml
+++ b/contrib/groebner/polynom.ml
@@ -11,6 +11,7 @@
Polynomes récursifs: Z[x1]...[xn].
*)
open Utile
+open Util
(***********************************************************************
1. Opérations sur les coefficients.
@@ -146,7 +147,6 @@ let rec eqP p q =
with _ -> false)
| (_,_) -> false
-
(* vire les zéros de tête d'un polynôme non normalisé, dont les coefficients
sont supposés normalisés.
si constant, rend le coef constant.
@@ -837,8 +837,9 @@ let factorise =
(* liste des facteurs sans carré non constants,
avec coef entier de tête positif *)
let facteurs2 p =
- List.map normc (list_select (fun q -> (deg_total q)>0)
- (List.flatten (factorise (normc p))))
+ List.map normc
+ (List.filter (fun q -> deg_total q >0)
+ (List.flatten (factorise (normc p))))
(* produit des facteurs non constants d'une décomposition sans carré *)
@@ -909,7 +910,7 @@ let rec is_positif p =
match p with
Pint a -> le_coef coef0 a
|Prec(x,p1) ->
- (array_test is_positif p1)
+ (array_for_all is_positif p1)
&& (try (Array.iteri (fun i c -> if (i mod 2)<>0 && not (eqP c cf0)
then failwith "pas pair")
p1;