[SCM] an open source computer algebra system branch, cleanedupstream, updated. 6125e540ca6d66c307958938a9d53b245507c323
Bernhard R. Link
brlink at debian.org
Tue Apr 24 15:55:40 UTC 2012
The following commit has been merged in the cleanedupstream branch:
commit d10308a9d18d522f21a2e73d49104949ab547278
Author: Hans Schoenemann <hannes at mathematik.uni-kl.de>
Date: Wed Apr 18 13:20:04 2012 +0200
fix: #414: output of n in Z/2^m
diff --git a/kernel/rmodulo2m.cc b/kernel/rmodulo2m.cc
index d6490f6..7d151af 100644
--- a/kernel/rmodulo2m.cc
+++ b/kernel/rmodulo2m.cc
@@ -147,14 +147,18 @@ number nr2mInit (int i, const ring r)
* note that the code computes a long which will then
* automatically casted to int
*/
-int nr2mInt(number &n, const ring r)
+long nr2mLong(number &n, const ring r)
{
NATNUMBER nn = (unsigned long)(NATNUMBER)n & r->nr2mModul;
unsigned long l = r->nr2mModul >> 1; l++; /* now: l = 2^(m-1) */
if ((NATNUMBER)nn > l)
- return (int)((NATNUMBER)nn - r->nr2mModul - 1);
+ return (long)((NATNUMBER)nn - r->nr2mModul - 1);
else
- return (int)((NATNUMBER)nn);
+ return (long)((NATNUMBER)nn);
+}
+int nr2mInt(number &n, const ring r)
+{
+ return (int)nr2mLong(n,r);
}
number nr2mAdd (number a, number b)
@@ -602,8 +606,8 @@ BOOLEAN nr2mDBTest (number a, const char *f, const int l)
void nr2mWrite (number &a, const ring r)
{
- int i = nr2mInt(a, r);
- StringAppend("%d", i);
+ long i = nr2mLong(a, r);
+ StringAppend("%ld", i);
}
static const char* nr2mEati(const char *s, int *i)
--
an open source computer algebra system
More information about the debian-science-commits
mailing list