Changeset b429c16 in git
- Timestamp:
- Dec 6, 2006, 5:59:49 PM (17 years ago)
- Branches:
- (u'spielwiese', '91fdef05f09f54b8d58d92a472e9c4a43aa4656f')
- Children:
- bd860d3f60d5d79e7b9c070896415f1cf8e9e66a
- Parents:
- c80090fcc5ae3a1dc7fbae1ee5ff9decaf6e9dec
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/rmodulo2m.cc
rc80090 rb429c16 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: rmodulo2m.cc,v 1. 4 2006-03-20 20:33:57wienand Exp $ */4 /* $Id: rmodulo2m.cc,v 1.5 2006-12-06 16:59:49 wienand Exp $ */ 5 5 /* 6 6 * ABSTRACT: numbers modulo 2^m … … 58 58 /* 59 59 * Give the largest non unit k, such that a = x * k, b = y * k has 60 * a solution. 60 * a solution. 61 61 */ 62 62 number nr2mGcd (number a,number b,ring r) … … 246 246 else if ((long)b%2==0) 247 247 { 248 WerrorS("div by zero divisor"); 249 return (number)0; 250 } 251 else 252 { 253 return (number) nr2mMult(a, nr2mInversM(b)); 254 } 248 if ((long)b != 0) 249 { 250 while ((long) b%2 == 0 && (long) a%2 == 0) 251 { 252 a = (number) ((long) a / 2); 253 b = (number) ((long) b / 2); 254 } 255 } 256 if ((long) b%2 == 0) 257 { 258 WerrorS("div by zero divisor"); 259 return (number)0; 260 } 261 } 262 return (number) nr2mMult(a, nr2mInversM(b)); 255 263 } 256 264
Note: See TracChangeset
for help on using the changeset viewer.