Changeset f6c7c9b in git
- Timestamp:
- Mar 18, 2009, 2:39:13 PM (15 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- d92713daaf53064c41302f5ac677aa51908ff3c9
- Parents:
- 810a4af4676af92fb8445bdc35075ece1f8751dd
- Location:
- kernel
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/f5gb.cc
r810a4af rf6c7c9b 155 155 delete critPairs; 156 156 //Print("IN F5INC\n"); 157 Print("\n\n\nRULES: \n"); 157 /* 158 Print("\n\n\nRULES: \n"); 158 159 RNode* tempR = rules->getFirst(); 159 160 Print("%p\n",tempR); … … 168 169 t++; 169 170 } 170 171 */ 171 172 //gPrev->print(); 172 173 return gPrev; … … 231 232 // testing both new labels by the F5 Criterion 232 233 //critPairs->print(); 233 if(!criterion2(u1, newElement, rules, rTag) && !criterion2(u2, temp, rules, rTag) && 234 if(!criterion2(gPrev->getFirst()->getIndex(), u1, newElement, rules, rTag) 235 && !criterion2(gPrev->getFirst()->getIndex(), u2, temp, rules, rTag) && 234 236 !criterion1(gPrev,u1,newElement,lTag) && !criterion1(gPrev,u2,temp,lTag)) { 235 237 // if they pass the test, add them to CList critPairs, having the LPoly with greater … … 322 324 idDelete(&testId); 323 325 if(NULL == temp) { 326 //if(l->getIndex() != gPrev->getFirst()->getIndex()) { 327 // Print("----------------------------Criterion1 not passed----------------------------------\n"); 328 //} 324 329 return true; 325 330 } … … 335 340 ===================================== 336 341 */ 337 inline bool criterion2( poly t, LNode* l, RList* rules, RTagList* rTag) {342 inline bool criterion2(int idx, poly t, LNode* l, RList* rules, RTagList* rTag) { 338 343 //Print("------------------------------IN CRITERION 2/1-----------------------------------------\n"); 339 344 /* … … 358 363 */ 359 364 // start at the previously added element to gPrev, as all other elements will have the same index for sure 365 if(idx > l->getIndex()) { 366 return false; 367 } 368 360 369 RNode* testNode; // = new RNode(); 361 370 371 362 372 if(NULL == rTag->getFirst()) { 363 373 if(NULL != rules->getFirst()) { … … 419 429 //Print("%d\n",testNode->getRuleIndex()); 420 430 if(pLmDivisibleByNoComp(testNode->getRuleTerm(),u1)) { 421 //Print("Criterion 2 NOT passed!\n"); 431 //Print("-----------------Criterion 2 NOT passed!-----------------------------------\n"); 432 //Print("INDEX: %d\n",l->getIndex()); 422 433 pDelete(&u1); 423 434 //Print("------------------------------IN CRITERION 2/1-----------------------------------------\n\n"); … … 464 475 //pWrite(testNode->getRuleTerm()); 465 476 if(pLmDivisibleByNoComp(testNode->getRuleTerm(),u1)) { 466 //Print("Criterion 2 NOT passed!\n"); 477 //Print("--------------------------Criterion 2 NOT passed!------------------------------\n"); 478 //Print("INDEX: %d\n",l->getIndex()); 467 479 pDelete(&u1); 468 480 //Print("------------------------------IN CRITERION 2/2-----------------------------------------\n\n"); … … 841 853 //Print("HALLO\n"); 842 854 // passing criterion2 ? 843 if(!criterion2( u,temp,rules,rTag)) {855 if(!criterion2(gPrev->getFirst()->getIndex(), u,temp,rules,rTag)) { 844 856 // passing criterion1 ? 845 857 if(!criterion1(gPrev,u,temp,lTag)) { … … 887 899 // this must be done due to possible later improvements 888 900 RList* rules = new RList(); 889 Print("RULES FIRST: %p\n",rules->getFirst());901 //Print("RULES FIRST: %p\n",rules->getFirst()); 890 902 //Print("RULES FIRST DATA: %p\n",rules->getFirst()->getRule()); 891 903 RTagList* rTag = new RTagList(rules->getFirst()); … … 975 987 gPrev->insert(pOne,1,gbPrev->m[1]); 976 988 poly tempPoly = pInit(); 989 pLcm(pHead(gbPrev->m[0]),pHead(gbPrev->m[1]),tempPoly); 990 tempPoly = pDivide(tempPoly,pOne()); 977 991 pSetCoeff(tempPoly,nOne); 978 pLcm(pHead(gbPrev->m[0]),pHead(gbPrev->m[1]),tempPoly);979 992 rules = new RList(); 980 993 rTag = new RTagList(rules->getFirst()); 981 994 982 995 //Print("%p\n",rules->getFirst()); 983 pWrite(tempPoly);996 //pWrite(tempPoly); 984 997 rules->insert(2,tempPoly); 985 998 rTag->insert(rules->getFirst()); … … 998 1011 poly tempPoly2 = pOne(); 999 1012 pLcm(pHead(gbPrev->m[k]),pHead(gbPrev->m[l]),tempPoly2); 1013 tempPoly2 = pDivide(tempPoly2,pOne()); 1000 1014 pSetCoeff(tempPoly2,nOne); 1001 pWrite(tempPoly2);1015 //pWrite(tempPoly2); 1002 1016 rules->insert(k+1,tempPoly2); 1003 1017 } -
kernel/f5gb.h
r810a4af rf6c7c9b 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: f5gb.h,v 1.3 2 2009-03-04 20:23:04ederc Exp $ */4 /* $Id: f5gb.h,v 1.33 2009-03-18 13:39:13 ederc Exp $ */ 5 5 /* 6 6 * ABSTRACT: f5gb interface … … 58 58 ===================================== 59 59 */ 60 inline bool criterion2( poly t, LNode* l, RList* rules, RTagList* rTag);60 inline bool criterion2(int idx, poly t, LNode* l, RList* rules, RTagList* rTag); 61 61 62 62 /* -
kernel/f5lists.cc
r810a4af rf6c7c9b 764 764 //Print("ADDRESS OF RNODE: %p\n",newElement); 765 765 //Print("ADDRESS OF RNODE DATA: %p\n",newElement->getRule()); 766 newElement->next = this; 767 return newElement; 768 769 /* 770 * not useful, as it does not only adds new rules to be tested but also 771 * deletes rules to be tested if a rule is set to another place in the line 772 * 766 773 if(NULL == this || this->getRuleIndex() < newElement->getRuleIndex()) { 767 774 newElement->next = this; … … 793 800 } 794 801 return newElement; 802 */ 795 803 } 796 804
Note: See TracChangeset
for help on using the changeset viewer.