Changeset bac8611 in git
- Timestamp:
- Feb 1, 2008, 4:11:34 PM (15 years ago)
- Branches:
- (u'spielwiese', '91fdef05f09f54b8d58d92a472e9c4a43aa4656f')
- Children:
- befecbc5f2fd0929fe1c00f9ed52cc5c128a3612
- Parents:
- 3901ebf059dc5ef7abe8c2726771e6d8edee6d96
- Location:
- kernel
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/kspoly.cc
r3901ebf rbac8611 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: kspoly.cc,v 1.1 1 2007-05-11 10:48:03 wienand Exp $ */4 /* $Id: kspoly.cc,v 1.12 2008-02-01 15:11:33 wienand Exp $ */ 5 5 /* 6 6 * ABSTRACT - Routines for Spoly creation and reductions … … 399 399 #ifdef HAVE_RINGS 400 400 if (rField_is_Ring(currRing)) 401 pSetCoeff (m2, t1);401 pSetCoeff0(m2, t1); 402 402 else 403 403 #endif … … 435 435 #ifdef HAVE_RINGS 436 436 if (rField_is_Ring(currRing)) 437 pSetCoeff (m1, t2);437 pSetCoeff0(m1, t2); 438 438 else 439 439 #endif … … 487 487 #ifdef HAVE_RINGS 488 488 if (rField_is_Ring(currRing)) 489 pSetCoeff (m1, t2);489 pSetCoeff0(m1, t2); 490 490 else 491 491 #endif … … 498 498 #ifdef HAVE_RINGS 499 499 if (rField_is_Ring(currRing)) 500 pSetCoeff (m2, t1);500 pSetCoeff0(m2, t1); 501 501 else 502 502 #endif … … 526 526 #ifdef HAVE_RINGS 527 527 if (rField_is_Ring(currRing)) 528 pSetCoeff (m1, t1);528 pSetCoeff0(m1, t1); 529 529 else 530 530 #endif -
kernel/kutil.cc
r3901ebf rbac8611 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: kutil.cc,v 1.7 6 2008-01-31 16:13:54wienand Exp $ */4 /* $Id: kutil.cc,v 1.77 2008-02-01 15:11:33 wienand Exp $ */ 5 5 /* 6 6 * ABSTRACT: kernel: utils for kStd … … 917 917 { 918 918 if (set[j].lcm!=NULL) 919 pLmFree(set[j].lcm); 919 #ifdef HAVE_RINGS_OLD 920 if (pGetCoeff(set[j].lcm) != NULL) 921 pLmDelete(set[j].lcm); 922 else 923 #endif 924 pLmFree(set[j].lcm); 920 925 if (set[j].p!=NULL) 921 926 { 922 927 if (pNext(set[j].p) == strat->tail) 923 928 { 924 pLmFree(set[j].p); 929 #ifdef HAVE_RINGS_OLD 930 if (pGetCoeff(set[j].p) != NULL) 931 pLmDelete(set[j].p); 932 else 933 #endif 934 pLmFree(set[j].p); 925 935 /*- tail belongs to several int spolys -*/ 926 936 } … … 1037 1047 /*- computes the lcm(s[i],p) -*/ 1038 1048 Lp.lcm = pInit(); 1039 pSetCoeff (Lp.lcm, nLcm(pGetCoeff(p), pGetCoeff(strat->S[i]), currRing));1049 pSetCoeff0(Lp.lcm, nLcm(pGetCoeff(p), pGetCoeff(strat->S[i]), currRing)); 1040 1050 // Lp.lcm == 0 1041 if ( pGetCoeff(Lp.lcm) == NULL)1051 if (nIsZero(pGetCoeff(Lp.lcm))) 1042 1052 { 1043 1053 #ifdef KDEBUG … … 1053 1063 #endif 1054 1064 strat->cp++; 1055 pLm Free(Lp.lcm);1065 pLmDelete(Lp.lcm); 1056 1066 Lp.lcm=NULL; 1057 1067 return; … … 1075 1085 #endif 1076 1086 strat->cp++; 1077 pLm Free(Lp.lcm);1087 pLmDelete(Lp.lcm); 1078 1088 Lp.lcm=NULL; 1079 1089 return; … … 1108 1118 if ((strat->fromQ==NULL) || (isFromQ==0) || (strat->fromQ[i]==0)) 1109 1119 { 1110 pLm Free(Lp.lcm);1120 pLmDelete(Lp.lcm); 1111 1121 return; 1112 1122 } … … 1149 1159 if ((strat->fromQ==NULL) || (isFromQ==0) || (strat->fromQ[i]==0)) 1150 1160 { 1151 pLm Free(Lp.lcm);1161 pLmDelete(Lp.lcm); 1152 1162 return; 1153 1163 } … … 1220 1230 *the first case is handeled in chainCrit 1221 1231 */ 1222 if (Lp.lcm!=NULL) pLm Free(Lp.lcm);1232 if (Lp.lcm!=NULL) pLmDelete(Lp.lcm); 1223 1233 } 1224 1234 else … … 2187 2197 { 2188 2198 strat->c3++; 2189 pLm Free(Lp.lcm);2199 pLmDelete(Lp.lcm); 2190 2200 return; 2191 2201 } … … 2203 2213 { 2204 2214 strat->c3++; 2205 pLm Free(Lp.lcm);2215 pLmDelete(Lp.lcm); 2206 2216 return; 2207 2217 } … … 2239 2249 *the first case is handeled in chainCrit 2240 2250 */ 2241 if (Lp.lcm!=NULL) pLm Free(Lp.lcm);2251 if (Lp.lcm!=NULL) pLmDelete(Lp.lcm); 2242 2252 } 2243 2253 else … … 2658 2668 } 2659 2669 p_Setm(tmp, currRing); 2660 pSetCoeff0(p, NULL); 2661 p = p_LmDeleteAndNext(p, strat->tailRing); 2670 p = p_LmFreeAndNext(p, strat->tailRing); 2662 2671 pNext(tmp) = p; 2663 2664 2672 LObject h; 2665 2673 h.p = tmp; -
kernel/numbers.cc
r3901ebf rbac8611 2 2 * Computer Algebra System SINGULAR * 3 3 *****************************************/ 4 /* $Id: numbers.cc,v 1.1 2 2008-01-30 16:14:24 wienand Exp $ */4 /* $Id: numbers.cc,v 1.13 2008-02-01 15:11:34 wienand Exp $ */ 5 5 6 6 /* … … 382 382 nrnInitExp(c,r); 383 383 n->nInit = nrnInit; 384 n->nCopy = ndCopy; 384 n->cfDelete= nrnDelete; 385 n->nCopy = nrnCopy; 386 n->cfCopy = cfrnCopy; 387 n->nSize = nrnSize; 385 388 n->nInt = nrnInt; 386 389 n->nAdd = nrnAdd; … … 388 391 n->nMult = nrnMult; 389 392 n->nDiv = nrnDiv; 390 n->nIntDiv 393 n->nIntDiv= nrnIntDiv; 391 394 n->nExactDiv= nrnDiv; 392 395 n->nNeg = nrnNeg; … … 421 424 { 422 425 n->nInit = nrzInit; 423 n->nCopy = ndCopy; 426 n->cfDelete= nrzDelete; 427 n->nCopy = nrzCopy; 428 n->cfCopy = cfrzCopy; 429 n->nSize = nrzSize; 424 430 n->nInt = nrzInt; 425 431 n->nAdd = nrzAdd; -
kernel/ring.h
r3901ebf rbac8611 7 7 * ABSTRACT - the interpreter related ring operations 8 8 */ 9 /* $Id: ring.h,v 1.2 5 2008-02-01 13:46:08 SingularExp $ */9 /* $Id: ring.h,v 1.26 2008-02-01 15:11:34 wienand Exp $ */ 10 10 11 11 /* includes */ … … 230 230 #ifdef HAVE_RING2TOM 231 231 || rField_is_Ring_2toM(r) 232 #endif233 #ifdef HAVE_RINGMODN234 || rField_is_Ring_ModN(r)235 232 #endif 236 233 || rField_is_R(r)); } -
kernel/rintegers.cc
r3901ebf rbac8611 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: rintegers.cc,v 1. 6 2008-01-30 18:49:43wienand Exp $ */4 /* $Id: rintegers.cc,v 1.7 2008-02-01 15:11:34 wienand Exp $ */ 5 5 /* 6 6 * ABSTRACT: numbers modulo n … … 23 23 24 24 typedef MP_INT *int_number; 25 omBin gmp_nrz_bin = omGetSpecBin(sizeof(MP_INT)); 26 number nrzOne = nrzInit(1); 25 27 26 28 /* … … 29 31 number nrzMult (number a, number b) 30 32 { 31 int_number erg = (int_number) omAlloc (sizeof(MP_INT)); // evtl. spaeter mit bin33 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin 32 34 mpz_init(erg); 33 35 mpz_mul(erg, (int_number) a, (int_number) b); … … 40 42 number nrzLcm (number a,number b,ring r) 41 43 { 42 int_number erg = (int_number) omAlloc (sizeof(MP_INT)); // evtl. spaeter mit bin44 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin 43 45 mpz_init(erg); 44 46 mpz_lcm(erg, (int_number) a, (int_number) b); … … 52 54 number nrzGcd (number a,number b,ring r) 53 55 { 54 int_number erg = (int_number) omAlloc (sizeof(MP_INT)); // evtl. spaeter mit bin56 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin 55 57 mpz_init(erg); 56 58 mpz_gcd(erg, (int_number) a, (int_number) b); … … 64 66 number nrzExtGcd (number a, number b, number *s, number *t) 65 67 { 66 int_number erg = (int_number) omAlloc (sizeof(MP_INT)); // evtl. spaeter mit bin67 int_number bs = (int_number) omAlloc (sizeof(MP_INT)); // evtl. spaeter mit bin68 int_number bt = (int_number) omAlloc (sizeof(MP_INT)); // evtl. spaeter mit bin68 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin 69 int_number bs = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin 70 int_number bt = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin 69 71 mpz_init(erg); 70 72 mpz_init(bs); … … 78 80 void nrzPower (number a, int i, number * result) 79 81 { 80 int_number erg = (int_number) omAlloc (sizeof(MP_INT)); // evtl. spaeter mit bin82 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin 81 83 mpz_init(erg); 82 84 mpz_pow_ui(erg, (int_number) a, i); … … 89 91 number nrzInit (int i) 90 92 { 91 int_number erg = (int_number) omAlloc (sizeof(MP_INT)); // evtl. spaeter mit bin93 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin 92 94 mpz_init_set_si(erg, i); 93 95 return (number) erg; … … 97 99 { 98 100 mpz_clear((int_number) *a); 99 omFree((ADDRESS) *a); 101 omFreeBin((ADDRESS) *a, gmp_nrz_bin); 102 } 103 104 number nrzCopy(number a) 105 { 106 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin 107 mpz_init_set(erg, (int_number) a); 108 return (number) erg; 109 } 110 111 number cfrzCopy(number a, const ring r) 112 { 113 return nrzCopy(a); 114 } 115 116 int nrzSize(number a) 117 { 118 if (a == NULL) return 0; 119 return sizeof(MP_INT); 100 120 } 101 121 … … 110 130 number nrzAdd (number a, number b) 111 131 { 112 int_number erg = (int_number) omAlloc (sizeof(MP_INT)); // evtl. spaeter mit bin132 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin 113 133 mpz_init(erg); 114 134 mpz_add(erg, (int_number) a, (int_number) b); … … 118 138 number nrzSub (number a, number b) 119 139 { 120 int_number erg = (int_number) omAlloc (sizeof(MP_INT)); // evtl. spaeter mit bin140 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin 121 141 mpz_init(erg); 122 142 mpz_sub(erg, (int_number) a, (int_number) b); … … 126 146 number nrzGetUnit (number a) 127 147 { 128 int_number erg = (int_number) omAlloc(sizeof(MP_INT)); // evtl. spaeter mit bin 129 mpz_init_set_si(erg, 1); 130 return (number) erg; 148 return nrzOne; 131 149 } 132 150 … … 181 199 number nrzDiv (number a,number b) 182 200 { 183 int_number erg = (int_number) omAlloc (sizeof(MP_INT)); // evtl. spaeter mit bin184 int_number r = (int_number) omAlloc (sizeof(MP_INT)); // evtl. spaeter mit bin201 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 185 203 mpz_init(erg); 186 204 mpz_tdiv_qr(erg, r, (int_number) a, (int_number) b); … … 191 209 } 192 210 mpz_clear(r); 193 omFree (r);211 omFreeBin(r, gmp_nrz_bin); 194 212 return (number) erg; 195 213 } … … 197 215 number nrzIntDiv (number a,number b) 198 216 { 199 int_number erg = (int_number) omAlloc (sizeof(MP_INT)); // evtl. spaeter mit bin217 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin 200 218 mpz_init(erg); 201 219 mpz_tdiv_q(erg, (int_number) a, (int_number) b); … … 210 228 return (number)0; //TODO 211 229 } 212 int_number erg = (int_number) omAlloc(sizeof(MP_INT)); // evtl. spaeter mit bin 213 mpz_init(erg); 214 mpz_set(erg, (int_number) c); 215 return (number) erg; 230 return c; 216 231 } 217 232 218 233 number nrzNeg (number c) 219 234 { 220 int_number erg = (int_number) omAlloc (sizeof(MP_INT)); // evtl. spaeter mit bin235 int_number erg = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin 221 236 mpz_init(erg); 222 237 mpz_mul_si(erg, (int_number) c, -1); … … 298 313 char * nrzRead (char *s, number *a) 299 314 { 300 int_number z = (int_number) omAlloc (sizeof(MP_INT)); // evtl. spaeter mit bin315 int_number z = (int_number) omAllocBin(gmp_nrz_bin); // evtl. spaeter mit bin 301 316 { 302 317 mpz_init(z); -
kernel/rintegers.h
r3901ebf rbac8611 4 4 * Computer Algebra System SINGULAR * 5 5 ****************************************/ 6 /* $Id: rintegers.h,v 1. 2 2007-06-20 09:39:25wienand Exp $ */6 /* $Id: rintegers.h,v 1.3 2008-02-01 15:11:34 wienand Exp $ */ 7 7 /* 8 8 * ABSTRACT: numbers modulo n … … 14 14 extern NATNUMBER nrzModul; 15 15 16 number nrzCopy (number a); 17 number cfrzCopy (number a, const ring r); 18 int nrzSize (number a); 19 void nrzDelete (number *a, const ring r); 16 20 BOOLEAN nrzGreaterZero (number k); 17 21 number nrzMult (number a, number b); -
kernel/rmodulon.cc
r3901ebf rbac8611 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: rmodulon.cc,v 1.1 4 2008-02-01 10:31:44 wienand Exp $ */4 /* $Id: rmodulon.cc,v 1.15 2008-02-01 15:11:34 wienand Exp $ */ 5 5 /* 6 6 * ABSTRACT: numbers modulo n … … 23 23 24 24 typedef MP_INT *int_number; 25 omBin gmp_ bin = omGetSpecBin(sizeof(MP_INT));25 omBin gmp_nrn_bin = omGetSpecBin(sizeof(MP_INT)); 26 26 27 27 int_number nrnModul = NULL; … … 35 35 number nrnInit (int i) 36 36 { 37 int_number erg = (int_number) omAllocBin(gmp_ bin); // evtl. spaeter mit bin37 int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin 38 38 mpz_init_set_si(erg, i); 39 39 mpz_mod(erg, erg, nrnModul); … … 44 44 { 45 45 mpz_clear((int_number) *a); 46 omFreeBin((ADDRESS) *a, gmp_bin); 46 omFreeBin((ADDRESS) *a, gmp_nrn_bin); 47 *a = NULL; 48 } 49 50 number nrnCopy(number a) 51 { 52 int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin 53 mpz_init_set(erg, (int_number) a); 54 return (number) erg; 55 } 56 57 number cfrnCopy(number a, const ring r) 58 { 59 return nrnCopy(a); 60 } 61 62 int nrnSize(number a) 63 { 64 if (a == NULL) return 0; 65 return sizeof(MP_INT); 47 66 } 48 67 … … 60 79 number nrnMult (number a, number b) 61 80 { 62 int_number erg = (int_number) omAllocBin(gmp_ bin); // evtl. spaeter mit bin81 int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin 63 82 mpz_init(erg); 64 83 mpz_mul(erg, (int_number) a, (int_number) b); … … 69 88 void nrnPower (number a, int i, number * result) 70 89 { 71 int_number erg = (int_number) omAllocBin(gmp_ bin); // evtl. spaeter mit bin90 int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin 72 91 mpz_init(erg); 73 92 mpz_powm_ui(erg, (int_number) a, i, nrnModul); … … 77 96 number nrnAdd (number a, number b) 78 97 { 79 int_number erg = (int_number) omAllocBin(gmp_ bin); // evtl. spaeter mit bin98 int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin 80 99 mpz_init(erg); 81 100 mpz_add(erg, (int_number) a, (int_number) b); … … 86 105 number nrnSub (number a, number b) 87 106 { 88 int_number erg = (int_number) omAllocBin(gmp_ bin); // evtl. spaeter mit bin107 int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin 89 108 mpz_init(erg); 90 109 mpz_sub(erg, (int_number) a, (int_number) b); … … 95 114 number nrnNeg (number c) 96 115 { 97 int_number erg = (int_number) omAllocBin(gmp_ bin); // evtl. spaeter mit bin116 int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin 98 117 mpz_init(erg); 99 118 mpz_sub(erg, nrnModul, (int_number) c); … … 103 122 number nrnInvers (number c) 104 123 { 105 int_number erg = (int_number) omAllocBin(gmp_ bin); // evtl. spaeter mit bin124 int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin 106 125 mpz_init(erg); 107 126 mpz_invert(erg, (int_number) c, nrnModul); … … 129 148 { 130 149 if ((a == NULL) && (b == NULL)) return nrnInit(0); 131 int_number erg = (int_number) omAllocBin(gmp_ bin); // evtl. spaeter mit bin150 int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin 132 151 mpz_init_set(erg, nrnModul); 133 152 if (a != NULL) mpz_gcd(erg, erg, (int_number) a); … … 139 158 number nrnGcd3 (number a,number b, number c,ring r) 140 159 { 141 int_number erg = (int_number) omAllocBin(gmp_ bin); // evtl. spaeter mit bin160 int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin 142 161 mpz_init(erg); 143 162 if (a == NULL) a = (number) nrnModul; … … 157 176 number nrnExtGcd (number a, number b, number *s, number *t) 158 177 { 159 int_number erg = (int_number) omAllocBin(gmp_ bin); // evtl. spaeter mit bin160 int_number bs = (int_number) omAllocBin(gmp_ bin); // evtl. spaeter mit bin161 int_number bt = (int_number) omAllocBin(gmp_ bin); // evtl. spaeter mit bin178 int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin 179 int_number bs = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin 180 int_number bt = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin 162 181 mpz_init(erg); 163 182 mpz_init(bs); … … 264 283 { 265 284 if (a == NULL) a = (number) nrnModul; 266 int_number erg = (int_number) omAllocBin(gmp_ bin); // evtl. spaeter mit bin285 int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin 267 286 mpz_init(erg); 268 287 if (mpz_divisible_p((int_number) a, (int_number) b)) … … 296 315 number nrnIntDiv (number a,number b) 297 316 { 298 int_number erg = (int_number) omAllocBin(gmp_ bin); // evtl. spaeter mit bin317 int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin 299 318 mpz_init(erg); 300 319 if (a == NULL) a = (number) nrnModul; … … 330 349 nrnDelete((number*) &nrnMinusOne, NULL); 331 350 } 332 nrnModul = (int_number) omAllocBin(gmp_ bin); // evtl. spaeter mit bin351 nrnModul = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin 333 352 mpz_init(nrnModul); 334 353 mpz_set_ull(nrnModul, nrnBase); 335 354 mpz_pow_ui(nrnModul, nrnModul, nrnExponent); 336 355 337 nrnMinusOne = (int_number) omAllocBin(gmp_ bin); // evtl. spaeter mit bin356 nrnMinusOne = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin 338 357 mpz_init(nrnMinusOne); 339 358 mpz_sub_ui(nrnMinusOne, nrnModul, 1); … … 408 427 char * nrnRead (char *s, number *a) 409 428 { 410 int_number z = (int_number) omAllocBin(gmp_ bin); // evtl. spaeter mit bin429 int_number z = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin 411 430 { 412 431 s = nlCPEatLongC(s, z); -
kernel/rmodulon.h
r3901ebf rbac8611 4 4 * Computer Algebra System SINGULAR * 5 5 ****************************************/ 6 /* $Id: rmodulon.h,v 1. 5 2008-01-30 13:03:41wienand Exp $ */6 /* $Id: rmodulon.h,v 1.6 2008-02-01 15:11:34 wienand Exp $ */ 7 7 /* 8 8 * ABSTRACT: numbers modulo n … … 15 15 #endif 16 16 17 number nrnCopy (number a); 18 number cfrnCopy (number a, const ring r); 19 int nrnSize (number a); 20 void nrnDelete (number *a, const ring r); 17 21 BOOLEAN nrnGreaterZero (number k); 18 22 number nrnMult (number a, number b);
Note: See TracChangeset
for help on using the changeset viewer.