Changeset a576b0 in git
- Timestamp:
- May 29, 2015, 1:39:46 PM (8 years ago)
- Branches:
- (u'spielwiese', 'a7324b6e0b44a1a8ed3fa4d9ca3e2ff210ddd52c')
- Children:
- e00d2000bacbdc1e3326af703d7555b6a847ad1e
- Parents:
- 40e862737f0776c1a89a482ba5c81054d4339085
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/extra.cc
r40e8627 ra576b0 3756 3756 bigintmat *b=(bigintmat *)h->Data(); 3757 3757 // just for tests: simply transpose 3758 3759 3758 bigintmat *bb=b->transpose(); 3759 // return the result: 3760 3760 res->rtyp=CMATRIX_CMD; 3761 3761 res->data=(char*)bb; 3762 3762 return FALSE; 3763 3763 } … … 3765 3765 { 3766 3766 WerrorS("system(\"LU\",<cmatrix>) expected"); 3767 3767 return TRUE; 3768 3768 } 3769 3769 } -
kernel/GBEngine/kstd1.cc
r40e8627 ra576b0 186 186 loop 187 187 { 188 j = kFindDivisibleByInT(strat ->T, strat->sevT, strat->tl, h);188 j = kFindDivisibleByInT(strat, h); 189 189 if (j < 0) 190 190 { … … 214 214 p_LmShortDivisibleBy(strat->T[i].GetLmTailRing(), strat->sevT[i], h->GetLmTailRing(), ~h->sev, strat->tailRing)) 215 215 #else 216 j = kFindDivisibleByInT(strat ->T, strat->sevT, strat->tl, h, i);216 j = kFindDivisibleByInT(strat, h, i); 217 217 if (j < 0) break; 218 218 i = j; … … 387 387 loop 388 388 { 389 j = kFindDivisibleByInT(strat ->T, strat->sevT, strat->tl, h);389 j = kFindDivisibleByInT(strat, h); 390 390 #if ADIDEBUG_NF 391 391 if(j != -1) … … 430 430 p_LmShortDivisibleBy(strat->T[i].GetLmTailRing(), strat->sevT[i], h->GetLmTailRing(), ~h->sev, strat->tailRing)) 431 431 #else 432 j = kFindDivisibleByInT(strat ->T, strat->sevT, strat->tl, h, i);432 j = kFindDivisibleByInT(strat, h, i); 433 433 if (j < 0) break; 434 434 i = j; … … 589 589 loop 590 590 { 591 j = kFindDivisibleByInT(strat ->T, strat->sevT, strat->tl, h);591 j = kFindDivisibleByInT(strat, h); 592 592 if (j < 0) 593 593 { -
kernel/GBEngine/kstd2.cc
r40e8627 ra576b0 99 99 // return -1 if no divisor is found 100 100 // number of first divisor, otherwise 101 int kFindDivisibleByInT(const TSet &T, const unsigned long* sevT, 102 const int tl, const LObject* L, const int start) 101 int kFindDivisibleByInT(const kStrategy strat, const LObject* L, const int start) 103 102 { 104 103 unsigned long not_sev = ~L->sev; 105 104 int j = start; 106 poly p=L->p;107 ring r=currRing;108 L->GetLm(p, r);109 105 110 106 pAssume(~not_sev == p_GetShortExpVector(p, r)); 111 107 112 if (r == currRing) 113 { 108 const TSet T=strat->T; 109 const unsigned long* sevT=strat->sevT; 110 if (L->p!=NULL) 111 { 112 const ring r=currRing; 113 const poly p=L->p; 114 114 loop 115 115 { 116 if (j > tl) return -1;116 if (j > strat->tl) return -1; 117 117 #if defined(PDEBUG) || defined(PDIV_DEBUG) 118 118 if (p_LmShortDivisibleBy(T[j].p, sevT[j], … … 129 129 else 130 130 { 131 const poly p=L->t_p; 132 const ring r=strat->tailRing; 131 133 loop 132 134 { 133 if (j > tl) return -1;135 if (j > strat->tl) return -1; 134 136 #if defined(PDEBUG) || defined(PDIV_DEBUG) 135 137 if (p_LmShortDivisibleBy(T[j].t_p, sevT[j], … … 341 343 loop 342 344 { 343 j = kFindDivisibleByInT(strat ->T, strat->sevT, strat->tl, h);345 j = kFindDivisibleByInT(strat, h); 344 346 if (j < 0) return 1; 345 347 ksReducePoly(h, &(strat->T[j]), NULL, NULL, strat); // with debug output … … 423 425 loop 424 426 { 425 j = kFindDivisibleByInT(strat ->T, strat->sevT, strat->tl, h);427 j = kFindDivisibleByInT(strat, h); 426 428 if (j < 0) return 1; 427 429 … … 595 597 loop 596 598 { 597 j = kFindDivisibleByInT(strat ->T, strat->sevT, strat->tl, h, start);599 j = kFindDivisibleByInT(strat, h, start); 598 600 if (j < 0) 599 601 { … … 765 767 { 766 768 int j; 767 j = kFindDivisibleByInT(strat ->T, strat->sevT, strat->tl, &Ln);769 j = kFindDivisibleByInT(strat, &Ln); 768 770 if (j < 0) break; 769 771 With = &(strat->T[j]); … … 858 860 loop 859 861 { 860 j = kFindDivisibleByInT(strat ->T, strat->sevT, strat->tl, h);862 j = kFindDivisibleByInT(strat, h); 861 863 if (j < 0) return 1; 862 864 … … 1022 1024 loop 1023 1025 { 1024 j=kFindDivisibleByInT(strat ->T, strat->sevT, strat->tl, h);1026 j=kFindDivisibleByInT(strat, h); 1025 1027 if (j < 0) return 1; 1026 1028 … … 3160 3162 LObject Ln (strat->S[k],currRing, strat->tailRing); 3161 3163 Ln.SetShortExpVector(); 3162 j = kFindDivisibleByInT(strat ->T, strat->sevT, strat->tl, &Ln, j+1);3164 j = kFindDivisibleByInT(strat, &Ln, j+1); 3163 3165 if (j<0) { k++; j=-1;} 3164 3166 else … … 3166 3168 if ( pLmCmp(strat->S[k],strat->T[j].p) == 0) 3167 3169 { 3168 j = kFindDivisibleByInT(strat ->T, strat->sevT, strat->tl, &Ln, j+1);3170 j = kFindDivisibleByInT(strat, &Ln, j+1); 3169 3171 if (j<0) { k++; j=-1;} 3170 3172 else … … 3263 3265 loop 3264 3266 { 3265 j = kFindDivisibleByInT(strat ->T, strat->sevT, strat->tl, h);3267 j = kFindDivisibleByInT(strat, h); 3266 3268 if (j < 0) 3267 3269 { … … 3352 3354 if (at <= strat->Ll) 3353 3355 { 3354 int dummy=strat->sl;3356 //int dummy=strat->sl; 3355 3357 /* if (kFindDivisibleByInS(strat,&dummy, h) < 0) */ 3356 if (kFindDivisibleByInT(strat->T,strat->sevT, dummy, h) < 0) 3358 //if (kFindDivisibleByInT(strat->T,strat->sevT, dummy, h) < 0) 3359 if (kFindDivisibleByInT(strat, h) < 0) 3357 3360 return 1; 3358 3361 enterL(&strat->L,&strat->Ll,&strat->Lmax,*h,at); -
kernel/GBEngine/kutil.cc
r40e8627 ra576b0 5444 5444 { 5445 5445 int j; 5446 j = kFindDivisibleByInT(strat ->T, strat->sevT, strat->tl, &Ln);5446 j = kFindDivisibleByInT(strat, &Ln); 5447 5447 if (j < 0) break; 5448 5448 With = &(strat->T[j]); … … 9757 9757 { 9758 9758 int j; 9759 j = kFindDivisibleByInT(strat ->T, strat->sevT, strat->tl, &Ln);9759 j = kFindDivisibleByInT(strat, &Ln); 9760 9760 if (j < 0) break; 9761 9761 With = &(strat->T[j]); -
kernel/GBEngine/kutil.h
r40e8627 ra576b0 559 559 /// return -1 if no divisor is found 560 560 /// number of first divisor in T, otherwise 561 int kFindDivisibleByInT(const TSet &T, const unsigned long* sevT, 562 const int tl, const LObject* L, const int start=0); 561 int kFindDivisibleByInT(const kStrategy strat, const LObject* L, const int start=0); 563 562 564 563 /// return -1 if no divisor is found -
libpolys/polys/monomials/p_polys.cc
r40e8627 ra576b0 4529 4529 4530 4530 4531 static inline unsigned long GetBitFields( long e,4532 unsigned int s,unsigned int n)4531 static inline unsigned long GetBitFields(const long e, 4532 const unsigned int s, const unsigned int n) 4533 4533 { 4534 4534 #define Sy_bit_L(x) (((unsigned long)1L)<<(x)) … … 4562 4562 // exp1 / exp2 ==> (ev1 & ~ev2) == 0, i.e., 4563 4563 // if (ev1 & ~ev2) then exp1 does not divide exp2 4564 unsigned long p_GetShortExpVector( poly p, const ring r)4564 unsigned long p_GetShortExpVector(const poly p, const ring r) 4565 4565 { 4566 4566 assume(p != NULL); -
libpolys/polys/monomials/p_polys.h
r40e8627 ra576b0 51 51 * 52 52 ***************************************************************/ 53 unsigned long p_GetShortExpVector( poly a, const ring r);53 unsigned long p_GetShortExpVector(const poly a, const ring r); 54 54 55 55 /// p_GetShortExpVector of p * pp
Note: See TracChangeset
for help on using the changeset viewer.