Changeset 24ac666 in git
- Timestamp:
- Mar 16, 2009, 8:50:23 AM (14 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
- Children:
- a81e0b7a47bc8fc3194c348a4291cf22ceed6c27
- Parents:
- d738b47ee2746bdf05645beba5fff4b1ec35cbf3
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/f5gb.cc
rd738b47 r24ac666 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: f5gb.cc,v 1.4 5 2009-03-13 10:36:19ederc Exp $ */4 /* $Id: f5gb.cc,v 1.46 2009-03-16 07:50:23 ederc Exp $ */ 5 5 /* 6 6 * ABSTRACT: f5gb interface … … 191 191 pSetCoeff(lcm,nOne); 192 192 // computing factors u2 for new labels 193 u1 = pDivide(lcm,t); 194 pSetCoeff(u1,nOne); 195 u2 = pDivide(lcm, pHead(temp->getPoly())); 196 pSetCoeff(u2,nOne); 193 pExpVectorDiff(u1,lcm,t); 194 //pWrite(u1); 195 //u1 = pDivide(lcm,t); 196 //pWrite(u1); 197 //pSetCoeff(u1,nOne); 198 pExpVectorDiff(u2,lcm,temp->getPoly()); 199 //pWrite(u2); 200 //u2 = pDivide(lcm, pHead(temp->getPoly())); 201 //pWrite(u2); 202 //pSetCoeff(u2,nOne); 197 203 //if(gPrev->getLast()->getIndex()==5) { 198 204 //Print("IN CRITPAIRS\n"); … … 204 210 //} 205 211 // testing both new labels by the F5 Criterion 206 if(!criterion 1(gPrev,u1,newElement,lTag) && !criterion1(gPrev,u2,temp,lTag) &&207 !criterion 2(u1, newElement, rules, rTag) && !criterion2(u2, temp, rules, rTag)) {212 if(!criterion2(u1, newElement, rules, rTag) && !criterion2(u2, temp, rules, rTag) && 213 !criterion1(gPrev,u1,newElement,lTag) && !criterion1(gPrev,u2,temp,lTag)) { 208 214 // if they pass the test, add them to CList critPairs, having the LPoly with greater 209 215 // label as first element in the CPair … … 255 261 // starts at the first element in gPrev with index = (index of l)-1, these tags are saved in lTag 256 262 int idx = l->getIndex(); 263 int i; 257 264 if(idx == 1) { 258 265 return false; … … 268 275 //pWrite(ppMult_qq(t,l->getTerm())); 269 276 //Print("%d\n\n",l->getIndex()); 277 /* 270 278 while(testNode->getIndex() < idx) { // && NULL != testNode->getLPoly()) { 271 279 //pWrite(testNode->getPoly()); … … 277 285 //pWrite(testNode->getNext()->getPoly()); 278 286 testNode = testNode->getNext(); 287 } 288 */ 289 ideal testId = idInit(idx-1,1); 290 for(i=0;i<idx-1;i++) { 291 testId->m[i] = pHead(testNode->getPoly()); 292 testNode = testNode->getNext(); 293 } 294 poly temp = kNF(testId,currQuotient,u1); 295 //pWrite(temp); 296 for(i=0;i<IDELEMS(testId);i++) { 297 testId->m[i] = NULL; 298 } 299 idDelete(&testId); 300 if(NULL == temp) { 301 return true; 279 302 } 280 303 return false; … … 314 337 RNode* testNode; // = new RNode(); 315 338 316 if(NULL == rTag->getFirst() ) { 317 testNode = rules->getFirst(); 339 if(NULL == rTag->getFirst()->getRule()) { 340 if(NULL != rules->getFirst()) { 341 testNode = rules->getFirst(); 342 } 343 else { 344 return false; 345 } 318 346 } 319 347 else { 348 320 349 if(l->getIndex() > rTag->getFirst()->getRuleIndex()) { 321 350 testNode = rules->getFirst(); … … 338 367 } 339 368 } 340 341 369 //testNode = rules->getFirst(); 342 370 // save the monom t1*label_term(l) as it is tested various times in the following … … 367 395 //pWrite(u1); 368 396 //Print("%d\n",testNode->getRuleIndex()); 369 if(pLmDivisibleBy (testNode->getRuleTerm(),u1)) {397 if(pLmDivisibleByNoComp(testNode->getRuleTerm(),u1)) { 370 398 //Print("Criterion 2 NOT passed!\n"); 371 399 pDelete(&u1); … … 412 440 while(NULL != testNode && testNode->getRule() != testedRule) { 413 441 //pWrite(testNode->getRuleTerm()); 414 if(pLmDivisibleBy (testNode->getRuleTerm(),u1)) {442 if(pLmDivisibleByNoComp(testNode->getRuleTerm(),u1)) { 415 443 //Print("Criterion 2 NOT passed!\n"); 416 444 pDelete(&u1); … … 772 800 //pWrite(t); 773 801 //Print("HALLO\n"); 774 if(pLmDivisibleByNoComp( temp->getPoly(),t)) {802 if(pLmDivisibleByNoComp(pHead(temp->getPoly()),t)) { 775 803 //Print("HALLO\n"); 776 804 // get all the information needed for the following tests … … 852 880 ideal idNew = kInterRed(id); 853 881 id = idNew; 854 qsortDegree(&id->m[0],&id->m[IDELEMS(id)-1]);882 //qsortDegree(&id->m[0],&id->m[IDELEMS(id)-1]); 855 883 idShow(id); 856 884 LList* gPrev = new LList(ONE, i, id->m[0]); … … 911 939 if(i<IDELEMS(id)) { 912 940 ideal tempId = kInterRed(gbPrev); 913 idShow(tempId);941 //idShow(tempId); 914 942 sleep(5); 915 943 gbPrev = tempId; 916 qsortDegree(&gbPrev->m[0],&gbPrev->m[IDELEMS(gbPrev)-1]);944 //qsortDegree(&gbPrev->m[0],&gbPrev->m[IDELEMS(gbPrev)-1]); 917 945 delete gPrev; 918 946 //Print("RULES FIRST NOW1: %p\n",rules->getFirst());
Note: See TracChangeset
for help on using the changeset viewer.