Changeset 1d03c4e in git
- Timestamp:
- Jan 17, 2009, 1:35:50 PM (14 years ago)
- Branches:
- (u'spielwiese', '8d54773d6c9e2f1d2593a28bc68b7eeab54ed529')
- Children:
- 9655929209cd775b5b7cd5bc61d5b70c75f911b3
- Parents:
- 32d2a9c9252a1380b1f12522da4f43553091f048
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/rintegers.cc
r32d2a9 r1d03c4e 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: rintegers.cc,v 1.1 8 2008-12-08 15:00:43Singular Exp $ */4 /* $Id: rintegers.cc,v 1.19 2009-01-17 12:35:50 Singular Exp $ */ 5 5 /* 6 6 * ABSTRACT: numbers modulo n … … 29 29 number nrzMult (number a, number b) 30 30 { 31 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin31 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); 32 32 mpz_init(erg); 33 33 mpz_mul(erg, (int_number) a, (int_number) b); … … 40 40 number nrzLcm (number a,number b,ring r) 41 41 { 42 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin42 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); 43 43 mpz_init(erg); 44 44 mpz_lcm(erg, (int_number) a, (int_number) b); … … 52 52 number nrzGcd (number a,number b,ring r) 53 53 { 54 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin54 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); 55 55 mpz_init(erg); 56 56 mpz_gcd(erg, (int_number) a, (int_number) b); … … 64 64 number nrzExtGcd (number a, number b, number *s, number *t) 65 65 { 66 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin67 int_number bs = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin68 int_number bt = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin66 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); 67 int_number bs = (int_number) omAllocBin(gmp_nrz_bin); 68 int_number bt = (int_number) omAllocBin(gmp_nrz_bin); 69 69 mpz_init(erg); 70 70 mpz_init(bs); … … 78 78 void nrzPower (number a, int i, number * result) 79 79 { 80 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin80 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); 81 81 mpz_init(erg); 82 82 mpz_pow_ui(erg, (int_number) a, i); … … 89 89 number nrzInit (int i) 90 90 { 91 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin91 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); 92 92 mpz_init_set_si(erg, i); 93 93 return (number) erg; … … 104 104 number nrzCopy(number a) 105 105 { 106 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin106 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); 107 107 mpz_init_set(erg, (int_number) a); 108 108 return (number) erg; … … 130 130 number nrzAdd (number a, number b) 131 131 { 132 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin132 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); 133 133 mpz_init(erg); 134 134 mpz_add(erg, (int_number) a, (int_number) b); … … 138 138 number nrzSub (number a, number b) 139 139 { 140 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin140 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); 141 141 mpz_init(erg); 142 142 mpz_sub(erg, (int_number) a, (int_number) b); … … 199 199 number nrzDiv (number a,number b) 200 200 { 201 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin 202 int_number r = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin 203 mpz_init(erg); 201 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); 202 mpz_init(erg); 203 int_number r = (int_number) omAllocBin(gmp_nrz_bin); 204 mpz_init(r); 204 205 mpz_tdiv_qr(erg, r, (int_number) a, (int_number) b); 205 206 if (!nrzIsZero((number) r)) … … 215 216 number nrzIntDiv (number a,number b) 216 217 { 217 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin218 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); 218 219 mpz_init(erg); 219 220 mpz_tdiv_q(erg, (int_number) a, (int_number) b); … … 233 234 number nrzNeg (number c) 234 235 { 235 // nNeg inplace !!! TODO 236 // int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin 237 // mpz_init(erg); 236 // nNeg inplace !!! 238 237 mpz_mul_si((int_number) c, (int_number) c, -1); 239 238 return c; … … 242 241 number nrzMapMachineInt(number from) 243 242 { 244 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin243 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); 245 244 mpz_init_set_ui(erg, (NATNUMBER) from); 246 245 return (number) erg; … … 249 248 number nrzMapZp(number from) 250 249 { 251 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin250 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); 252 251 mpz_init_set_si(erg, (long) from); 253 252 return (number) erg; … … 256 255 number nrzMapQ(number from) 257 256 { 258 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin257 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); 259 258 mpz_init(erg); 260 259 nlGMP(from, (number) erg); … … 350 349 const char * nrzRead (const char *s, number *a) 351 350 { 352 int_number z = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin351 int_number z = (int_number) omAllocBin(gmp_nrz_bin); 353 352 { 354 353 mpz_init(z);
Note: See TracChangeset
for help on using the changeset viewer.