Changeset abe5c8 in git
- Timestamp:
- Sep 24, 2012, 12:41:08 PM (10 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
- Children:
- f224d8590b63be01aff8b548ab4f2f5dea43b095
- Parents:
- 1592b986a21bcaba5633414189a7b08c5cce6213
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/kInline.h
r1592b9 rabe5c8 599 599 600 600 pNext(_p) = p_Minus_mm_Mult_qq( pNext(_p), m, q, pLength, lq, 601 spNoether, last,tailRing );601 spNoether, tailRing ); 602 602 // tailRing->p_Procs->p_Minus_mm_Mult_qq(pNext(_p), m, q, shorter,spNoether, tailRing, last); 603 603 // pLength += lq - shorter; -
kernel/kspoly.cc
r1592b9 rabe5c8 445 445 { 446 446 l2 = -1; 447 a2 = tailRing->p_Procs->pp_Mult_mm_Noether(a2, m2, spNoether, l2, tailRing ,last);447 a2 = tailRing->p_Procs->pp_Mult_mm_Noether(a2, m2, spNoether, l2, tailRing); 448 448 assume(l2 == pLength(a2)); 449 449 } 450 450 else 451 a2 = tailRing->p_Procs->pp_Mult_mm(a2, m2, tailRing ,last);451 a2 = tailRing->p_Procs->pp_Mult_mm(a2, m2, tailRing); 452 452 #ifdef HAVE_RINGS 453 453 if (!(rField_is_Domain(currRing))) l2 = pLength(a2); -
kernel/kutil.cc
r1592b9 rabe5c8 1786 1786 #endif 1787 1787 // get multiplied signatures for testing 1788 pSigMult = currRing->p_Procs->pp_Mult_mm(pSigMult,m1,currRing ,last);1788 pSigMult = currRing->p_Procs->pp_Mult_mm(pSigMult,m1,currRing); 1789 1789 pSigMultNegSev = ~p_GetShortExpVector(pSigMult,currRing); 1790 sSigMult = currRing->p_Procs->pp_Mult_mm(sSigMult,m2,currRing ,last);1790 sSigMult = currRing->p_Procs->pp_Mult_mm(sSigMult,m2,currRing); 1791 1791 sSigMultNegSev = ~p_GetShortExpVector(sSigMult,currRing); 1792 1792 … … 6021 6021 p_SetCompP (q, p_GetComp(strat->sig[k], currRing), currRing); 6022 6022 strat->syz[ctr] = p_Add_q (strat->syz[ctr], q, currRing); 6023 #if def DEBUGF5 || DEBUGF516023 #if defined(DEBUGF5) || defined(DEBUGF51) 6024 6024 pWrite(strat->syz[ctr]); 6025 6025 #endif -
libpolys/polys/kbuckets.cc
r1592b9 rabe5c8 699 699 int i, l1; 700 700 poly p1 = p; 701 poly last;702 701 ring r = bucket->bucket_ring; 703 702 … … 753 752 { 754 753 l1 = -1; 755 p1 = r->p_Procs->pp_Mult_mm_Noether(p1, m, spNoether, l1, r , last);754 p1 = r->p_Procs->pp_Mult_mm_Noether(p1, m, spNoether, l1, r); 756 755 i = pLogLength(l1); 757 756 } 758 else { 759 p1 = r->p_Procs->pp_Mult_mm(p1, m, r, last); 757 else 758 { 759 p1 = r->p_Procs->pp_Mult_mm(p1, m, r); 760 760 #ifdef HAVE_RINGS 761 761 if (rField_is_Ring(r) && !(rField_is_Domain(r))) … … 804 804 int i, l1; 805 805 poly p1 = p; 806 poly last;807 806 ring r = bucket->bucket_ring; 808 807 … … 892 891 //p_GetCoeff0(n, swap_n,r); 893 892 #endif 894 p1 = r->p_Procs->pp_Mult_mm(p1, m, r , last);893 p1 = r->p_Procs->pp_Mult_mm(p1, m, r); 895 894 #ifdef USE_COEF_BUCKETS 896 895 //m may not be changed -
libpolys/polys/monomials/p_polys.h
r1592b9 rabe5c8 950 950 else 951 951 { 952 poly last; 953 return r->p_Procs->pp_Mult_mm(p, m, r, last); 952 return r->p_Procs->pp_Mult_mm(p, m, r); 954 953 } 955 954 } … … 964 963 } 965 964 966 // like p_Minus_mm_Mult_qq, except that if lp == pLength(lp) lq == pLength(lq)967 // then result = p-m*q, lp == pLength(result), last == pLast(result)968 static inline poly p_Minus_mm_Mult_qq(poly p, const poly m, const poly q, int &lp, int lq,969 const poly spNoether, poly& last, const ring r)970 {971 int l;972 #ifdef HAVE_PLURAL973 if (rIsPluralRing(r))974 {975 p = nc_p_Minus_mm_Mult_qq(p, m, q, lp, lq, spNoether, r);976 last = p_Last(p, l, r);977 assume( lp == l );978 assume( lp == pLength(p) );979 return p;980 }981 #endif982 983 int shorter;984 const poly res = r->p_Procs->p_Minus_mm_Mult_qq(p, m, q, shorter, spNoether, r, last);985 lp = (lp + lq) - shorter;986 assume( last == p_Last(res, l, r) );987 assume( lp == l );988 assume( lp == pLength(res) );989 return res;990 }991 992 993 // like p_Minus_mm_Mult_qq (above) but without last994 965 static inline poly p_Minus_mm_Mult_qq(poly p, const poly m, const poly q, int &lp, int lq, 995 966 const poly spNoether, const ring r) … … 1004 975 #endif 1005 976 1006 int shorter; poly last;1007 const poly res = r->p_Procs->p_Minus_mm_Mult_qq(p, m, q, shorter, spNoether, r , last);977 int shorter; 978 const poly res = r->p_Procs->p_Minus_mm_Mult_qq(p, m, q, shorter, spNoether, r); 1008 979 lp += lq - shorter; 1009 980 assume( lp == pLength(res) ); … … 1023 994 1024 995 int shorter; 1025 poly last; 1026 1027 return r->p_Procs->p_Minus_mm_Mult_qq(p, m, q, shorter, NULL, r, last); // !!! 996 997 return r->p_Procs->p_Minus_mm_Mult_qq(p, m, q, shorter, NULL, r); 1028 998 } 1029 999 … … 1106 1076 static inline poly pp_Mult_qq(poly p, poly q, const ring r) 1107 1077 { 1108 poly last;1109 1078 if (p == NULL || q == NULL) return NULL; 1110 1079 … … 1115 1084 return nc_mm_Mult_pp(p, q, r); 1116 1085 #endif 1117 return r->p_Procs->pp_Mult_mm(q, p, r , last);1086 return r->p_Procs->pp_Mult_mm(q, p, r); 1118 1087 } 1119 1088 1120 1089 if (pNext(q) == NULL) 1121 1090 { 1122 return r->p_Procs->pp_Mult_mm(p, q, r , last);1091 return r->p_Procs->pp_Mult_mm(p, q, r); 1123 1092 } 1124 1093 … … 1150 1119 1151 1120 // this should be implemented more efficiently 1152 poly res , last;1121 poly res; 1153 1122 int shorter; 1154 1123 number n_old = pGetCoeff(m); … … 1156 1125 n_neg = n_Neg(n_neg, r->cf); 1157 1126 pSetCoeff0(m, n_neg); 1158 res = r->p_Procs->p_Minus_mm_Mult_qq(p, m, q, shorter, NULL, r , last);1127 res = r->p_Procs->p_Minus_mm_Mult_qq(p, m, q, shorter, NULL, r); 1159 1128 lp = (lp + lq) - shorter; 1160 1129 pSetCoeff0(m, n_old); -
libpolys/polys/nc/ncSAMult.cc
r1592b9 rabe5c8 51 51 52 52 // poly functions defined in p_Procs: ; 53 static poly ggnc_pp_Mult_mm(const poly p, const poly m, const ring r , poly& last)53 static poly ggnc_pp_Mult_mm(const poly p, const poly m, const ring r) 54 54 { 55 55 if( (p == NULL) || (m == NULL) ) -
libpolys/polys/nc/old.gring.cc
r1592b9 rabe5c8 434 434 435 435 /* poly functions defined in p_Procs : */ 436 poly gnc_pp_Mult_mm(const poly p, const poly m, const ring r , poly &last)436 poly gnc_pp_Mult_mm(const poly p, const poly m, const ring r) 437 437 { 438 438 return( gnc_p_Mult_mm_Common(p_Copy(p,r), m, 1, r) ); -
libpolys/polys/nc/sca.cc
r1592b9 rabe5c8 464 464 465 465 // return new poly = pPoly * pMonom; preserve pPoly and pMonom. 466 poly sca_pp_Mult_mm(const poly pPoly, const poly pMonom, const ring rRing , poly &)466 poly sca_pp_Mult_mm(const poly pPoly, const poly pMonom, const ring rRing) 467 467 { 468 468 assume( rIsSCA(rRing) ); -
libpolys/polys/templates/p_Minus_mm_Mult_qq__T.cc
r1592b9 rabe5c8 17 17 * 18 18 ***************************************************************/ 19 LINKAGE poly p_Minus_mm_Mult_qq__T(poly p, poly m, poly q, int& Shorter, const poly spNoether, const ring r , poly &last)19 LINKAGE poly p_Minus_mm_Mult_qq__T(poly p, poly m, poly q, int& Shorter, const poly spNoether, const ring r) 20 20 { 21 21 p_Test(p, r); … … 134 134 { 135 135 pNext(a) = p; 136 if (p == NULL) last = a;137 136 } 138 137 else // append (- m*q) to result 139 138 { 140 139 pSetCoeff0(m, tneg); 141 last = a;142 140 if (spNoether != NULL) 143 141 { 144 142 int ll = 0; 145 pNext(a) = r->p_Procs->pp_Mult_mm_Noether(q, m, spNoether, ll, r , last);143 pNext(a) = r->p_Procs->pp_Mult_mm_Noether(q, m, spNoether, ll, r); 146 144 shorter += ll; 147 145 } 148 146 else 149 147 { 150 pNext(a) = r->p_Procs->pp_Mult_mm(q, m, r , last);148 pNext(a) = r->p_Procs->pp_Mult_mm(q, m, r); 151 149 #ifdef HAVE_RINGS 152 150 if (! rField_is_Domain(r)) -
libpolys/polys/templates/p_Procs.h
r1592b9 rabe5c8 22 22 typedef poly (*p_Mult_mm_Proc_Ptr)(poly p, const poly m, const ring r); 23 23 typedef poly (*pp_Mult_mm_Proc_Ptr)(poly p, const poly m, 24 const ring r, 25 poly &last); 24 const ring r); 26 25 typedef poly (*pp_Mult_mm_Noether_Proc_Ptr)(poly p, const poly m, 27 26 const poly spNoether, int &ll, 28 const ring r , poly &last);27 const ring r); 29 28 typedef poly (*p_Add_q_Proc_Ptr)(poly p, poly q, int & shorter, const ring r); 30 29 typedef poly (*p_Minus_mm_Mult_qq_Proc_Ptr)(poly p, poly m, poly q, 31 30 int &shorter, const poly spNoether, 32 const ring r , poly &last);31 const ring r); 33 32 typedef poly (*p_Neg_Proc_Ptr)(poly p, const ring r); 34 33 typedef poly (*pp_Mult_Coeff_mm_DivSelect_Proc_Ptr)(poly p, const poly m, -
libpolys/polys/templates/pp_Mult_mm_Noether__T.cc
r1592b9 rabe5c8 17 17 * 18 18 ***************************************************************/ 19 LINKAGE poly pp_Mult_mm_Noether__T(poly p, const poly m, const poly spNoether, int &ll, const ring ri , poly &last)19 LINKAGE poly pp_Mult_mm_Noether__T(poly p, const poly m, const poly spNoether, int &ll, const ring ri) 20 20 { 21 21 p_Test(p, ri); … … 25 25 { 26 26 ll = 0; 27 last = NULL;28 27 return NULL; 29 28 } … … 64 63 ll = pLength(p); 65 64 66 if (q != &rp)67 last = q;68 65 pNext(q) = NULL; 69 66
Note: See TracChangeset
for help on using the changeset viewer.