- Timestamp:
- Nov 12, 2022, 6:37:40 PM (18 months ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- 7afda2f3c573a61d019acbe60473bfe15eda6636c3c704ae428df052f1a454e90db10d6be4c5b98e
- Parents:
- 4969bd84679f00e0090770de53eae064004f1330
- Location:
- kernel/GBEngine
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/GBEngine/kutil.cc
r4969bd8 r8e8744 4325 4325 #ifdef HAVE_RINGS 4326 4326 /*2 4327 * Generates spoly(0, h) if applicable. Assumes ring in Z/2^n.4327 * Generates spoly(0, h) if applicable. Assumes ring has zero divisors 4328 4328 */ 4329 4329 void enterExtendedSpoly(poly h,kStrategy strat) … … 4331 4331 if (nIsOne(pGetCoeff(h))) return; 4332 4332 number gcd; 4333 number zero=n_Init(0,currRing->cf); 4333 4334 bool go = false; 4334 if (n_DivBy( (number) 0, pGetCoeff(h), currRing->cf))4335 if (n_DivBy(zero, pGetCoeff(h), currRing->cf)) 4335 4336 { 4336 4337 gcd = n_Ann(pGetCoeff(h),currRing->cf); … … 4338 4339 } 4339 4340 else 4340 gcd = n_Gcd( (number) 0, pGetCoeff(h), strat->tailRing->cf);4341 gcd = n_Gcd(zero, pGetCoeff(h), strat->tailRing->cf); 4341 4342 if (go || !nIsOne(gcd)) 4342 4343 { … … 4350 4351 p_Test(p,strat->tailRing); 4351 4352 p = __pp_Mult_nn(p, gcd, strat->tailRing); 4352 nDelete(&gcd);4353 4353 4354 4354 if (p != NULL) … … 4407 4407 } 4408 4408 } 4409 nDelete(&zero); 4409 4410 nDelete(&gcd); 4410 4411 } … … 4414 4415 if (nIsOne(pGetCoeff(h))) return; 4415 4416 number gcd; 4417 number zero=n_Init(0,currRing->cf); 4416 4418 bool go = false; 4417 if (n_DivBy( (number) 0, pGetCoeff(h), currRing->cf))4419 if (n_DivBy(zero, pGetCoeff(h), currRing->cf)) 4418 4420 { 4419 4421 gcd = n_Ann(pGetCoeff(h),currRing->cf); … … 4421 4423 } 4422 4424 else 4423 gcd = n_Gcd( (number) 0, pGetCoeff(h), strat->tailRing->cf);4425 gcd = n_Gcd(zero, pGetCoeff(h), strat->tailRing->cf); 4424 4426 if (go || !nIsOne(gcd)) 4425 4427 { … … 4477 4479 p_Delete(&Lp.sig,currRing);Lp.sig = NULL; 4478 4480 strat->sigdrop = FALSE; 4479 return;4480 4481 } 4481 4482 else … … 4485 4486 strat->enterS(Lp,0,strat,strat->tl); 4486 4487 #endif 4487 return; 4488 } 4489 4488 } 4489 nDelete(&zero); 4490 nDelete(&gcd); 4491 return; 4490 4492 } 4491 4493 #else … … 4521 4523 } 4522 4524 } 4523 nDelete(&gcd);4524 4525 } 4525 4526 nDelete(&gcd); 4527 nDelete(&zero); 4526 4528 } 4527 4529 #endif -
kernel/GBEngine/ringgb.cc
r4969bd8 r8e8744 181 181 182 182 /*2 183 * Generates spoly(0, h) if applicable. Assumes ring in Z/2^n.183 * Generates spoly(0, h) if applicable. Assumes ring has zero divisors 184 184 */ 185 185 poly plain_zero_spoly(poly h) 186 186 { 187 187 poly p = NULL; 188 number gcd = n_Gcd((number) 0, pGetCoeff(h), currRing->cf); 188 number zero=n_Init(0,currRing->cf); 189 number gcd = n_Gcd(zero, pGetCoeff(h), currRing->cf); 189 190 if (!n_IsOne( gcd, currRing->cf )) 190 191 { … … 194 195 n_Delete(&tmp,currRing->cf); 195 196 } 197 n_Delete(&zero,currRing->cf); 196 198 return p; 197 199 }
Note: See TracChangeset
for help on using the changeset viewer.