[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