Changeset c4158f in git
- Timestamp:
- Mar 12, 2009, 3:34:03 PM (14 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', '0604212ebb110535022efecad887940825b97c3f')
- Children:
- d738b47ee2746bdf05645beba5fff4b1ec35cbf3
- Parents:
- 75e2e50e5ba0dbb6681ecbf8664330997a24b5e9
- Location:
- kernel
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/f5gb.cc
r75e2e5 rc4158f 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: f5gb.cc,v 1.4 3 2009-03-12 09:43:53 ederc Exp $ */4 /* $Id: f5gb.cc,v 1.44 2009-03-12 14:34:03 ederc Exp $ */ 5 5 /* 6 6 * ABSTRACT: f5gb interface … … 91 91 criticalPair(gPrev, critPairs, lTag, rTag, rules); 92 92 static LList* sPolyList = new LList(); 93 //sPolyList->print(); 93 94 // labeled polynomials which have passed reduction() and have to be added to list gPrev 94 95 static LList* completed = new LList(); … … 178 179 poly lcm = pOne(); 179 180 poly t = pHead(newElement->getPoly()); 180 Rule* testedRule = rules->getFirst()->getRule(); 181 Rule* testedRule = NULL; 182 if(NULL != rules->getFirst()) { 183 testedRule = rules->getFirst()->getRule(); 184 } 181 185 // computation of critical pairs 182 186 //critPairs->print(); … … 264 268 //pWrite(ppMult_qq(t,l->getTerm())); 265 269 //Print("%d\n\n",l->getIndex()); 266 while(testNode->getIndex() < idx && NULL != testNode->getLPoly()) {270 while(testNode->getIndex() < idx) { // && NULL != testNode->getLPoly()) { 267 271 //pWrite(testNode->getPoly()); 268 272 //Print("%d\n",testNode->getIndex()); … … 291 295 RNode* tempR = rules->getFirst(); 292 296 int i = 1; 293 while(NULL != tempR ->getRule()) {297 while(NULL != tempR) { 294 298 Print("ADDRESS OF %d RNODE: %p\n",i,tempR); 295 299 Print("ADDRESS OF RULE: %p\n",tempR->getRule()); … … 306 310 //pWrite(ppMult_qq(t,l->getTerm())); 307 311 //Print("%d\n\n",l->getIndex()); 308 */312 */ 309 313 // start at the previously added element to gPrev, as all other elements will have the same index for sure 310 RNode* testNode = new RNode();314 RNode* testNode; // = new RNode(); 311 315 312 if(NULL == rTag->getFirst() || NULL == rTag->getFirst()->getRule()) {316 if(NULL == rTag->getFirst() ) { 313 317 testNode = rules->getFirst(); 314 318 } … … 343 347 //Print("TESTNODE: %p\n",testNode); 344 348 //pWrite(testNode->getRuleTerm()); 345 if(NULL != testNode && NULL != testNode->getRule()) {349 if(NULL != testNode ) { 346 350 //pWrite(testNode->getRuleTerm()); 347 351 } … … 355 359 } 356 360 } 357 while(NULL != testNode && NULL != testNode->getRule() &&testNode->getRule() != l->getRule()361 while(NULL != testNode && testNode->getRule() != l->getRule() 358 362 && l->getIndex() == testNode->getRuleIndex()) { 359 363 //Print("%p\n",testNode); … … 387 391 //Print("------------------------------IN CRITERION 2/2-----------------------------------------\n"); 388 392 //Print("LAST RULE TESTED: %p",testedRule); 389 //Print("RULES: \n"); 390 //RNode* tempR = rules->getFirst(); 391 //while(NULL != tempR->getRule()) { 392 //pWrite(tempR->getRuleTerm()); 393 //Print("%d\n\n",tempR->getRuleIndex()); 394 //tempR = tempR->getNext(); 395 //} 393 /* 394 Print("RULES: \n"); 395 RNode* tempR = rules->getFirst(); 396 while(NULL != tempR) { 397 pWrite(tempR->getRuleTerm()); 398 Print("%d\n\n",tempR->getRuleIndex()); 399 tempR = tempR->getNext(); 400 } 396 401 //Print("TESTED ELEMENT: "); 397 402 //pWrite(l->getPoly()); … … 399 404 //pWrite(ppMult_qq(t,l->getTerm())); 400 405 //Print("%d\n\n",l->getIndex()); 406 */ 401 407 // start at the previously added element to gPrev, as all other elements will have the same index for sure 402 408 RNode* testNode = rules->getFirst(); … … 404 410 poly u1 = ppMult_qq(t,l->getTerm()); 405 411 // first element added to rTag was NULL, check for this 406 while(NULL != testNode ->getRule()&& testNode->getRule() != testedRule) {412 while(NULL != testNode && testNode->getRule() != testedRule) { 407 413 //pWrite(testNode->getRuleTerm()); 408 414 if(pLmDivisibleBy(testNode->getRuleTerm(),u1)) { … … 506 512 sPolyList->insertByLabel(ppMult_qq(temp->getT1(),temp->getLp1Term()),temp->getLp1Index(),sp,rules->getFirst()->getRule()); 507 513 } 508 // data is saved in sPolyList or zero => delete sp509 514 } 510 515 } … … 554 559 // delete the above first element from sPolyList, temp will be either reduced to 555 560 // zero or added to gPrev, but never come back to sPolyList 556 if(NULL != temp && NULL != temp->getLPoly()) {561 if(NULL != temp) { 557 562 sPolyList->setFirst(temp->getNext()); 558 563 //Print("HIER\n"); … … 831 836 // this must be done due to possible later improvements 832 837 RList* rules = new RList(); 833 //Print("RULES FIRST: %p\n",rules->getFirst());838 Print("RULES FIRST: %p\n",rules->getFirst()); 834 839 //Print("RULES FIRST DATA: %p\n",rules->getFirst()->getRule()); 835 840 RTagList* rTag = new RTagList(rules->getFirst()); … … 965 970 //Print("JA\n"); 966 971 } 967 idShow(gbPrev);972 //idShow(gbPrev); 968 973 Print("\n\nNumber of zero-reductions: %d\n",reductionsToZero); 969 974 //LNode* temp = gPrev->getFirst(); -
kernel/f5lists.cc
r75e2e5 rc4158f 111 111 //Print("new element: "); 112 112 //pWrite(t); 113 if(NULL == this || NULL == data) {113 if(NULL == this) { // || NULL == data) { 114 114 LNode* newElement = new LNode(t, i, p, r, this); 115 115 return newElement; … … 242 242 243 243 LList::LList() { 244 first = new LNode(); 245 last = first; 244 first = last = NULL;; 246 245 length = 0; 247 246 } … … 931 930 RTagList::~RTagList() { 932 931 RTagNode* temp; 933 while(first ->getRNode()) {932 while(first) { 934 933 temp = first; 935 934 first = first->getNext();
Note: See TracChangeset
for help on using the changeset viewer.