Changeset 88cceb in git
- Timestamp:
- Jul 12, 2014, 5:56:31 PM (9 years ago)
- Branches:
- (u'spielwiese', '8e0ad00ce244dfd0756200662572aef8402f13d5')
- Children:
- 642a254c3cd9870d56e7587e48237a9649b595d38f0728edc2d87e260893c1b9a488d65023bb0d2e
- Parents:
- b5d9340ceee76456a2eb1298e4089c556634b9e7
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/dyn_modules/syzextra/syzextra.cc
rb5d934 r88cceb 824 824 const number& lc2 = p_GetCoeff(pp, r); 825 825 826 number g = n_Lcm( lc1, lc2, r );826 number g = n_Lcm( lc1, lc2, r->cf ); 827 827 828 828 p_SetCoeff0(m , n_Div(g, lc1, r), r); -
kernel/fglm/fglmvec.cc
rb5d934 r88cceb 507 507 { 508 508 isZero = FALSE; 509 number temp = n_ Lcm(theLcm, rep->getconstelem (i), currRing->cf);509 number temp = n_NormalizeHelper (theLcm, rep->getconstelem (i), currRing->cf); 510 510 nDelete (&theLcm); 511 511 theLcm = temp; -
libpolys/coeffs/README.coeffs
rb5d934 r88cceb 66 66 -cfParDeg (otherwise: -1 for 0, 0 for non-zero) 67 67 -cfParameter (otherwise: error) 68 -cfInit_bigint (otherwise: error)69 68 70 69 automatic: … … 74 73 to describe: 75 74 -cfLcm 75 -cfNormalizeHelper 76 76 -cfQuotRem 77 77 -cfRandom -
libpolys/coeffs/coeffs.h
rb5d934 r88cceb 251 251 number (*cfQuotRem)(number a, number b, number *rem, const coeffs r); 252 252 number (*cfLcm)(number a, number b, const coeffs r); 253 number (*cfNormalizeHelper)(number a, number b, const coeffs r); 253 254 void (*cfDelete)(number * a, const coeffs r); 254 255 … … 674 675 /// in Z/nZ, Z/2^kZ: computed as in the case Z 675 676 /// in Z/pZ, C, R: not implemented 676 /// in Q: return the lcm of the numerators of 'a' and the denominator of 'b'677 677 /// in K(a)/<p(a)>: not implemented 678 678 /// in K(t_1, ..., t_n): not implemented 679 679 static inline number n_Lcm(number a, number b, const coeffs r) 680 680 { assume(r != NULL); assume(r->cfLcm!=NULL); return r->cfLcm(a,b,r); } 681 682 /// assume that r is a quotient field (otherwise, return 1) 683 /// for arguments (a1/a2,b1/b2) return (lcm(a1,b2)/1) 684 static inline number n_NormalizeHelper(number a, number b, const coeffs r) 685 { assume(r != NULL); assume(r->cfNormalizeHelper!=NULL); return r->cfNormalizeHelper(a,b,r); } 681 686 682 687 /// set the mapping function pointers for translating numbers from src to dst -
libpolys/coeffs/longrat.cc
rb5d934 r88cceb 1252 1252 * returns in result->z the lcm(a->z,b->n) 1253 1253 */ 1254 number nl Lcm(number a, number b, const coeffs r)1254 number nlNormalizeHelper(number a, number b, const coeffs r) 1255 1255 { 1256 1256 number result; … … 3091 3091 r->cfGetNumerator = nlGetNumerator; 3092 3092 r->cfExtGcd = nlExtGcd; // only for ring stuff and Z 3093 r->cf Lcm = nlLcm;3093 r->cfNormalizeHelper = nlNormalizeHelper; 3094 3094 r->cfDelete= nlDelete; 3095 3095 r->cfSetMap = nlSetMap; -
libpolys/coeffs/longrat.h
rb5d934 r88cceb 106 106 number nlGcd(number a, number b, const coeffs r); 107 107 number nlExtGcd(number a, number b, number *s, number *t, const coeffs); 108 number nl Lcm(number a, number b, const coeffs r); /*special routine !*/108 number nlNormalizeHelper(number a, number b, const coeffs r); /*special routine !*/ 109 109 BOOLEAN nlGreater(number a, number b, const coeffs r); 110 110 BOOLEAN nlIsMOne(number a, const coeffs r); -
libpolys/coeffs/numbers.cc
rb5d934 r88cceb 331 331 n->cfNormalize=ndNormalize; 332 332 n->cfGcd = ndGcd; 333 n->cfNormalizeHelper = ndGcd; /* tricky, isn't it ?*/ 333 334 n->cfLcm = ndGcd; /* tricky, isn't it ?*/ 334 335 n->cfInitMPZ = ndInitMPZ; … … 430 431 assume(n->cfGetNumerator!=NULL); 431 432 assume(n->cfGcd!=NULL); 432 assume(n->cf Lcm!=NULL);433 assume(n->cfNormalizeHelper!=NULL); 433 434 assume(n->cfDelete!=NULL); 434 435 assume(n->cfSetMap!=NULL); -
libpolys/polys/coeffrings.h
rb5d934 r88cceb 38 38 static inline number n_ExactDiv(number a, number b, const ring r){ return n_ExactDiv(a,b, r->cf);} 39 39 static inline number n_Gcd(number a, number b, const ring r){ return n_Gcd(a,b, r->cf);} 40 static inline number n_Lcm(number a, number b, const ring r){ return n_Lcm(a,b, r->cf);}41 40 42 41 #ifdef HAVE_RINGS -
libpolys/polys/ext_fields/algext.cc
rb5d934 r88cceb 101 101 number naGetNumerator(number &a, const coeffs cf); 102 102 number naGcd(number a, number b, const coeffs cf); 103 //number naLcm(number a, number b, const coeffs cf);104 103 int naSize(number a, const coeffs cf); 105 104 void naDelete(number *a, const coeffs cf); … … 642 641 } 643 642 #endif 644 number nap Lcm(number b, const coeffs cf)643 number napNormalizeHelper(number b, const coeffs cf) 645 644 { 646 645 number h=n_Init(1,naRing->cf); … … 649 648 while(bb!=NULL) 650 649 { 651 d=n_ Lcm(h,pGetCoeff(bb), naRing->cf);650 d=n_NormalizeHelper(h,pGetCoeff(bb), naRing->cf); 652 651 n_Delete(&h,naRing->cf); 653 652 h=d; … … 667 666 { 668 667 a=(number)p_Copy((poly)a,naRing); 669 number t=nap Lcm(b,cf);668 number t=napNormalizeHelper(b,cf); 670 669 if(!n_IsOne(t,naRing->cf)) 671 670 { … … 1284 1283 while (c_n!=NULL) 1285 1284 { // each monom: coeff in Q 1286 d=n_ Lcm(hzz,pGetCoeff(c_n),r->cf->extRing->cf);1285 d=n_NormalizeHelper(hzz,pGetCoeff(c_n),r->cf->extRing->cf); 1287 1286 n_Delete(&hzz,r->cf->extRing->cf); 1288 1287 hzz=d; … … 1461 1460 #endif 1462 1461 cf->cfGcd = naGcd; 1463 cf->cf Lcm= naLcmContent;1462 cf->cfNormalizeHelper = naLcmContent; 1464 1463 cf->cfSize = naSize; 1465 1464 cf->nCoeffIsEqual = naCoeffIsEqual; … … 1639 1638 #endif 1640 1639 cf->cfGcd = naGcd; 1641 cf->cf Lcm= naLcmContent;1640 cf->cfNormalizeHelper = naLcmContent; 1642 1641 cf->cfSize = naSize; 1643 1642 cf->nCoeffIsEqual = naCoeffIsEqual; -
libpolys/polys/ext_fields/transext.cc
rb5d934 r88cceb 126 126 number ntGetNumerator(number &a, const coeffs cf); 127 127 number ntGcd(number a, number b, const coeffs cf); 128 number nt Lcm(number a, number b, const coeffs cf);128 number ntNormalizeHelper(number a, number b, const coeffs cf); 129 129 int ntSize(number a, const coeffs cf); 130 130 void ntDelete(number * a, const coeffs cf); … … 1113 1113 number c; number tmp; 1114 1114 poly p = NUM(f); 1115 /* careful when using n_ Lcm!!! It computes the lcm of the numerator1115 /* careful when using n_NormalizeHelper!!! It computes the lcm of the numerator 1116 1116 of the 1st argument and the denominator of the 2nd!!! */ 1117 1117 while (p != NULL) 1118 1118 { 1119 1119 c = p_GetCoeff(p, ntRing); 1120 tmp = n_ Lcm(lcmOfDenominators, c, ntCoeffs);1120 tmp = n_NormalizeHelper(lcmOfDenominators, c, ntCoeffs); 1121 1121 n_Delete(&lcmOfDenominators, ntCoeffs); 1122 1122 lcmOfDenominators = tmp; … … 1127 1127 { 1128 1128 c = p_GetCoeff(p, ntRing); 1129 tmp = n_ Lcm(lcmOfDenominators, c, ntCoeffs);1129 tmp = n_NormalizeHelper(lcmOfDenominators, c, ntCoeffs); 1130 1130 n_Delete(&lcmOfDenominators, ntCoeffs); 1131 1131 lcmOfDenominators = tmp; … … 1496 1496 } 1497 1497 1498 number nt Lcm(number a, number b, const coeffs cf)1498 number ntNormalizeHelper(number a, number b, const coeffs cf) 1499 1499 { 1500 1500 ntTest(a); … … 2291 2291 else 2292 2292 { 2293 number g = n_ Lcm(d, pGetCoeff(den), Q);2293 number g = n_NormalizeHelper(d, pGetCoeff(den), Q); 2294 2294 n_Delete(&d, Q); d = g; 2295 2295 } … … 2437 2437 //cf->cfGcd = ntGcd_dummy; 2438 2438 cf->cfSubringGcd = ntGcd; 2439 cf->cf Lcm = ntLcm;2439 cf->cfNormalizeHelper = ntNormalizeHelper; 2440 2440 cf->cfSize = ntSize; 2441 2441 cf->nCoeffIsEqual = ntCoeffIsEqual; -
libpolys/polys/monomials/p_polys.cc
rb5d934 r88cceb 2329 2329 while (c_n!=NULL) 2330 2330 { // each monom: coeff in Q 2331 d=n_ Lcm(h,pGetCoeff(c_n),r->cf->extRing->cf);2331 d=n_NormalizeHelper(h,pGetCoeff(c_n),r->cf->extRing->cf); 2332 2332 n_Delete(&h,r->cf->extRing->cf); 2333 2333 h=d; … … 2764 2764 { 2765 2765 n_Normalize(pGetCoeff(p),r->cf); 2766 d=n_ Lcm(h,pGetCoeff(p),r->cf);2766 d=n_NormalizeHelper(h,pGetCoeff(p),r->cf); 2767 2767 n_Delete(&h,r->cf); 2768 2768 h=d; … … 2904 2904 { 2905 2905 n_Normalize(pGetCoeff(p),r->cf); 2906 d=n_ Lcm(h,pGetCoeff(p),r->cf);2906 d=n_NormalizeHelper(h,pGetCoeff(p),r->cf); 2907 2907 n_Delete(&h,r->cf); 2908 2908 h=d; … … 2940 2940 while (p!=NULL) 2941 2941 { 2942 d=n_ Lcm(h,pGetCoeff(p),r->cf);2942 d=n_NormalizeHelper(h,pGetCoeff(p),r->cf); 2943 2943 n_Delete(&h,r->cf); 2944 2944 h=d;
Note: See TracChangeset
for help on using the changeset viewer.