[SCM] an open source computer algebra system branch, cleanedupstream, updated. 6125e540ca6d66c307958938a9d53b245507c323
Bernhard R. Link
brlink at debian.org
Tue Apr 24 15:55:13 UTC 2012
The following commit has been merged in the cleanedupstream branch:
commit 179b0a869126be8f0ffbbdce247f924c8e379b2b
Author: Martin Lee <martinlee84 at web.de>
Date: Mon Mar 5 23:56:39 2012 +0100
chg: do not compute p^k in FLINT
diff --git a/factory/facMul.cc b/factory/facMul.cc
index c98092d..38e29a0 100644
--- a/factory/facMul.cc
+++ b/factory/facMul.cc
@@ -421,8 +421,8 @@ mulNTL (const CanonicalForm& F, const CanonicalForm& G, const modpk& b)
if (b.getp() != 0)
{
fmpz_t FLINTpk;
- fmpz_init_set_ui (FLINTpk, b.getp());
- fmpz_pow_ui (FLINTpk, FLINTpk, b.getk());
+ fmpz_init (FLINTpk);
+ convertCF2Fmpz (FLINTpk, b.getpk());
fmpz_mod_poly_t FLINTF, FLINTG;
convertFacCF2Fmpz_mod_poly_t (FLINTF, F, FLINTpk);
convertFacCF2Fmpz_mod_poly_t (FLINTG, G, FLINTpk);
@@ -430,6 +430,7 @@ mulNTL (const CanonicalForm& F, const CanonicalForm& G, const modpk& b)
CanonicalForm result= convertFmpz_mod_poly_t2FacCF (FLINTF, F.mvar(), b);
fmpz_mod_poly_clear (FLINTG);
fmpz_mod_poly_clear (FLINTF);
+ fmpz_clear (FLINTpk);
return result;
}
return mulFLINTQ (F, G);
@@ -543,8 +544,8 @@ modNTL (const CanonicalForm& F, const CanonicalForm& G, const modpk& b)
if (b.getp() != 0)
{
fmpz_t FLINTpk;
- fmpz_init_set_ui (FLINTpk, b.getp());
- fmpz_pow_ui (FLINTpk, FLINTpk, b.getk());
+ fmpz_init (FLINTpk);
+ convertCF2Fmpz (FLINTpk, b.getpk());
fmpz_mod_poly_t FLINTF, FLINTG;
convertFacCF2Fmpz_mod_poly_t (FLINTF, F, FLINTpk);
convertFacCF2Fmpz_mod_poly_t (FLINTG, G, FLINTpk);
@@ -552,6 +553,7 @@ modNTL (const CanonicalForm& F, const CanonicalForm& G, const modpk& b)
CanonicalForm result= convertFmpz_mod_poly_t2FacCF (FLINTF,F.mvar(),b);
fmpz_mod_poly_clear (FLINTG);
fmpz_mod_poly_clear (FLINTF);
+ fmpz_clear (FLINTpk);
return result;
}
return modFLINTQ (F, G);
@@ -685,8 +687,8 @@ divNTL (const CanonicalForm& F, const CanonicalForm& G, const modpk& b)
if (b.getp() != 0)
{
fmpz_t FLINTpk;
- fmpz_init_set_ui (FLINTpk, b.getp());
- fmpz_pow_ui (FLINTpk, FLINTpk, b.getk());
+ fmpz_init (FLINTpk);
+ convertCF2Fmpz (FLINTpk, b.getpk());
fmpz_mod_poly_t FLINTF, FLINTG;
convertFacCF2Fmpz_mod_poly_t (FLINTF, F, FLINTpk);
convertFacCF2Fmpz_mod_poly_t (FLINTG, G, FLINTpk);
@@ -694,6 +696,7 @@ divNTL (const CanonicalForm& F, const CanonicalForm& G, const modpk& b)
CanonicalForm result= convertFmpz_mod_poly_t2FacCF (FLINTF,F.mvar(),b);
fmpz_mod_poly_clear (FLINTG);
fmpz_mod_poly_clear (FLINTF);
+ fmpz_clear (FLINTpk);
return result;
}
return divFLINTQ (F,G);
--
an open source computer algebra system
More information about the debian-science-commits
mailing list