Changeset fe88079 in git
- Timestamp:
- Mar 5, 2009, 3:30:23 PM (14 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', '00e2e9c41af3fde1273eb3633f4c0c7c3db2579d')
- Children:
- e67578de8a1ef6cb0775436fca233d5068c4d649
- Parents:
- 9cb4078b918c5799bfa2896f95e3c4bfc8f5bd73
- Location:
- kernel
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/f5data.h
r9cb4078 rfe88079 3 3 * Computer Algebra System SINGULAR * 4 4 ****************************************/ 5 /* $Id: f5data.h,v 1. 8 2009-03-04 20:23:05ederc Exp $ */5 /* $Id: f5data.h,v 1.9 2009-03-05 14:30:23 ederc Exp $ */ 6 6 /* 7 7 * ABSTRACT: labeled polynomial interface … … 212 212 public: 213 213 inline Rule(int i, poly term); 214 inline ~Rule(); 214 215 inline int getIndex(); 215 216 inline poly getTerm(); … … 221 222 } 222 223 224 Rule::~Rule() { 225 //pDelete(&term); 226 } 227 223 228 int Rule::getIndex() { 224 229 return index; -
kernel/f5gb.cc
r9cb4078 rfe88079 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: f5gb.cc,v 1.3 8 2009-03-04 20:23:04ederc Exp $ */4 /* $Id: f5gb.cc,v 1.39 2009-03-05 14:30:23 ederc Exp $ */ 5 5 /* 6 6 * ABSTRACT: f5gb interface … … 78 78 f_i = tempNF; 79 79 gPrev->insert(ONE,i,f_i); 80 //gPrev->insert(ONE,gPrev->getLength()+1,f_i); 80 81 // tag the first element in gPrev of the current index for findReductor() 81 82 lTag->setFirstCurrentIdx(gPrev->getLast()); … … 278 279 */ 279 280 inline bool criterion2(poly t, LNode* l, RList* rules, RTagList* rTag) { 280 //Print("------------------------------IN CRITERION 2-----------------------------------------\n");281 //Print("RULES: \n");281 Print("------------------------------IN CRITERION 2-----------------------------------------\n"); 282 Print("RULES: \n"); 282 283 RNode* tempR = rules->getFirst(); 283 //while(NULL != tempR->getRule()) { 284 // Print("ADDRESS OF RULE: %p\n",tempR->getRule()); 285 // pWrite(tempR->getRuleTerm()); 286 // Print("ADDRESS OF TERM: %p\n",tempR->getRuleTerm()); 287 // Print("%d\n\n",tempR->getRuleIndex()); 288 // tempR = tempR->getNext(); 289 //} 290 //Print("TESTED ELEMENT: "); 291 //pWrite(l->getPoly()); 292 //pWrite(l->getTerm()); 293 //pWrite(ppMult_qq(t,l->getTerm())); 294 //Print("%d\n\n",l->getIndex()); 284 while(NULL != tempR->getRule()) { 285 Print("ADDRESS OF RNODE: %p\n",tempR); 286 Print("ADDRESS OF RULE: %p\n",tempR->getRule()); 287 pWrite(tempR->getRuleTerm()); 288 Print("ADDRESS OF TERM: %p\n",tempR->getRuleTerm()); 289 Print("%d\n\n",tempR->getRuleIndex()); 290 tempR = tempR->getNext(); 291 } 292 Print("TESTED ELEMENT: "); 293 pWrite(l->getPoly()); 294 pWrite(l->getTerm()); 295 pWrite(ppMult_qq(t,l->getTerm())); 296 Print("%d\n\n",l->getIndex()); 295 297 // start at the previously added element to gPrev, as all other elements will have the same index for sure 296 298 RNode* testNode = new RNode(); … … 305 307 //Print("DEBUG\n"); 306 308 //Print("L INDEX: %d\n",l->getIndex()); 307 testNode = rTag->get(l->getIndex()); 309 /*------------------------------------- 310 * TODO: WHEN INTERREDUCING THE GB THE 311 * INDEX OF THE PREVIOUS ELEMENTS 312 * GETS HIGHER! 313 *-----------------------------------*/ 314 testNode = rules->getFirst(); 315 //testNode = rTag->get(l->getIndex()); 308 316 //Print("TESTNODE ADDRESS: %p\n",testNode); 309 317 } … … 314 322 //Print("%p\n",testNode->getRule()); 315 323 // NOTE: testNode is possibly NULL as rTag->get() returns NULL for elements of index <=1! 324 //Print("TESTNODE: %p\n",testNode); 325 //pWrite(testNode->getRuleTerm()); 316 326 if(NULL != testNode && NULL != testNode->getRule()) { 317 327 //pWrite(testNode->getRuleTerm()); … … 329 339 && l->getIndex() == testNode->getRuleIndex()) { 330 340 //pWrite(testNode->getRuleTerm()); 331 //pWrite(testNode->getRuleTerm());332 //pWrite(t);333 //pWrite(l->getTerm());334 //pWrite(u1);341 pWrite(testNode->getRuleTerm()); 342 pWrite(t); 343 pWrite(l->getTerm()); 344 pWrite(u1); 335 345 //Print("%d\n",testNode->getRuleIndex()); 336 346 if(pLmDivisibleBy(testNode->getRuleTerm(),u1)) { 337 //Print("Criterion 2 NOT passed!\n");347 Print("Criterion 2 NOT passed!\n"); 338 348 pDelete(&u1); 339 349 return true; … … 341 351 testNode = testNode->getNext(); 342 352 } 353 //delete testNode; 343 354 pDelete(&u1); 344 355 return false; … … 420 431 //Print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ZERO REDUCTION~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); 421 432 reductionsToZero++; 433 Print("IN SPOLS 1\n"); 422 434 rules->insert(temp->getLp1Index(),ppMult_qq(temp->getT1(),temp->getLp1Term())); 423 435 //Print("RULE ADDED: \n"); … … 428 440 } 429 441 else { 442 Print("IN SPOLS 2\n"); 430 443 rules->insert(temp->getLp1Index(),ppMult_qq(temp->getT1(),temp->getLp1Term())); 431 444 //Print("RULE ADDED: \n"); … … 451 464 //Print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ZERO REDUCTION~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); 452 465 reductionsToZero++; 466 Print("IN SPOLS 3\n"); 453 467 rules->insert(temp->getLp1Index(),ppMult_qq(temp->getT1(),temp->getLp1Term())); 454 468 //Print("RULE ADDED: \n"); … … 458 472 } 459 473 else { 474 Print("IN SPOLS 4\n"); 460 475 rules->insert(temp->getLp1Index(),ppMult_qq(temp->getT1(),temp->getLp1Term())); 461 476 //Print("RULE ADDED: \n"); … … 570 585 //pWrite(gPrevRedCheck->getPoly()); 571 586 LNode* tempRed = new LNode(); 572 //Print("TESTED POLYNOMIAL IN THE FOLLOWING: ");573 //pWrite(l->getPoly());587 Print("TESTED POLYNOMIAL IN THE FOLLOWING: "); 588 pWrite(l->getPoly()); 574 589 //Print("HIER\n"); 575 590 tempRed = findReductor(l,gPrevRedCheck,gPrev,rules,lTag,rTag); 591 //Print("TEMPRED NEXT: %p\n",tempRed->getNext()); 576 592 //Print("--------------------------------HIER DEBUG 2----------------------------------\n"); 577 593 // if a reductor for l is found and saved in tempRed … … 579 595 // if label of reductor is greater than the label of l we have to built a new element 580 596 // and add it to sPolyList 581 //Print("REDUCTOR POLYNOMIAL: "); 582 //pWrite(tempRed->getPoly()); 583 //Print("TERM: "); 584 //pWrite(tempRed->getTerm()); 597 Print("REDUCTOR POLYNOMIAL: "); 598 pWrite(tempRed->getPoly()); 599 Print("TEMPRED: %p\n",tempRed); 600 Print("TERM: "); 601 pWrite(tempRed->getTerm()); 585 602 if(pLmCmp(tempRed->getTerm(),l->getTerm()) == 1) { 586 603 // needed sinc pSub destroys the arguments! … … 605 622 // for debugging 606 623 //pWrite(tempRed->getPoly()); 607 //Print("RULE ADDED\n");624 Print("RULE ADDED\n"); 608 625 rules->insert(tempRed->getIndex(),tempRed->getTerm()); 609 626 tempRed->getLPoly()->setRule(rules->getFirst()->getRule()); 610 //Print("%p\n",sPolyList->getFirst());611 //Print("%p\n",sPolyList->getFirst()->getLPoly());612 //Print("SPOLYLIST LENGTH: %d\n",sPolyList->getLength());627 Print("%p\n",sPolyList->getFirst()); 628 Print("%p\n",sPolyList->getFirst()->getLPoly()); 629 Print("SPOLYLIST LENGTH: %d\n",sPolyList->getLength()); 613 630 //sPolyList->print(); 614 631 615 632 sPolyList->insertByLabel(tempRed); 616 //sPolyList->print();633 sPolyList->print(); 617 634 //Print("SPOLYLIST LENGTH: %d\n",sPolyList->getLength()); 618 635 //Print("OH JE\n"); … … 622 639 reductionsToZero++; 623 640 //Print("RULE ADDED\n"); 624 //Print("wieder hier2\n");641 Print("wieder hier2\n"); 625 642 rules->insert(tempRed->getIndex(),tempRed->getTerm()); 626 643 pWrite(rules->getFirst()->getRuleTerm()); … … 667 684 if(NULL != l->getPoly()) { 668 685 pNorm(l->getPoly()); 669 //Print("----------------------------------ADDED TO GPREV IN TOPREDUCTION:-------------------------------------- ");670 //pWrite(l->getPoly());671 //pWrite(l->getTerm());672 //Print("INDEX: %d\n\n\n", l->getIndex());686 Print("----------------------------------ADDED TO GPREV IN TOPREDUCTION:-------------------------------------- "); 687 pWrite(l->getPoly()); 688 pWrite(l->getTerm()); 689 Print("INDEX: %d\n\n\n", l->getIndex()); 673 690 //sleep(20); 674 691 gPrev->insert(l->getLPoly()); … … 705 722 // not from the first element of gPrev with the current index 706 723 temp = gPrevRedCheck; 724 //temp = lTag->getFirstCurrentIdx(); 725 //Print("GPREVREDCHECK: %p\n",gPrevRedCheck); 726 //pWrite(gPrevRedCheck->getPoly()); 707 727 // search for reductors until we are at the end of gPrev resp. at the 708 728 // end of the elements of the current index … … 783 803 RList* rules = new RList(); 784 804 Print("RULES FIRST: %p\n",rules->getFirst()); 805 Print("RULES FIRST DATA: %p\n",rules->getFirst()->getRule()); 785 806 RTagList* rTag = new RTagList(rules->getFirst()); 786 807 i = 1; … … 837 858 Print("%d\n",gPrev->getLength()-gbLength-1); 838 859 for(j=0;j<=gPrev->getLength()-gbLength-1;j++) { 839 Print("YES\n");860 //Print("YES\n"); 840 861 temp = temp->getNext(); 841 862 if(temp) { 842 Print("%p\n",temp);843 pWrite(temp->getPoly());844 Print("%p\n",temp->getNext());863 //Print("%p\n",temp); 864 //pWrite(temp->getPoly()); 865 //Print("%p\n",temp->getNext()); 845 866 } 846 867 gbAdd->m[j] = temp->getPoly(); 847 868 //pWrite(temp->getPoly()); 848 869 } 849 Print("HIER AUCH\n");870 //Print("HIER AUCH\n"); 850 871 gbPrev = idAdd(gbPrev,gbAdd); 851 872 // interreduction stuff … … 856 877 qsortDegree(&gbPrev->m[0],&gbPrev->m[IDELEMS(gbPrev)-1]); 857 878 delete gPrev; 858 Print("RULES FIRST NOW1: %p\n",rules->getFirst());879 //Print("RULES FIRST NOW1: %p\n",rules->getFirst()); 859 880 delete rules; 860 Print("HIERLALA\n");861 LList*gPrev = new LList(pOne,1,gbPrev->m[0]);881 //Print("%p\n",rules->getFirst()); 882 gPrev = new LList(pOne,1,gbPrev->m[0]); 862 883 gPrev->insert(pOne,1,gbPrev->m[1]); 863 884 poly tempPoly = pInit(); … … 865 886 pLcm(pHead(gbPrev->m[0]),pHead(gbPrev->m[1]),tempPoly); 866 887 rules = new RList(); 888 //Print("%p\n",rules->getFirst()); 889 //pWrite(tempPoly); 867 890 rules->insert(2,tempPoly); 868 pWrite(rules->getFirst()->getRuleTerm()); 891 //Print("%p\n",rules->getFirst()); 892 //Print("%p\n",rules->getFirst()->getNext()->getNext()); 893 //Print("HIERLALA\n"); 894 //pWrite(rules->getFirst()->getRuleTerm()); 869 895 Print("RULES FIRST NOW2: %p\n",rules->getFirst()); 870 896 for(k=2; k<IDELEMS(gbPrev); k++) { 871 897 gPrev->insert(pOne,k+1,gbPrev->m[k]); 872 898 for(l=0; l<k; l++) { 899 pWrite(gbPrev->m[k]); 900 pWrite(gbPrev->m[l]); 873 901 pLcm(pHead(gbPrev->m[k]),pHead(gbPrev->m[l]),tempPoly); 874 902 pSetCoeff(tempPoly,nOne); … … 877 905 } 878 906 } 879 */907 */ 880 908 gbLength = gPrev->getLength(); 881 909 882 910 } 883 Print("%p\n",gPrev->getFirst()); 884 //gPrev->print(); 911 gPrev->print(); 885 912 //int anzahl = 1; 886 913 //while(NULL != temp) { -
kernel/f5lists.cc
r9cb4078 rfe88079 736 736 */ 737 737 RNode::RNode() { 738 Print("HIER RNODE CONSTRUCTOR\n"); 738 739 data = NULL; 739 740 next = NULL; … … 757 758 758 759 RNode* RNode::insert(int i, poly t) { 760 Print("IN INSERT: "); 761 pWrite(t); 759 762 Rule* r = new Rule(i,t); 763 Print("ADDRESS OF RULE: %p\n",r); 760 764 RNode* newElement = new RNode(r); 765 Print("ADDRESS OF RNODE: %p\n",newElement); 766 Print("ADDRESS OF RNODE DATA: %p\n",newElement->getRule()); 761 767 newElement->next = this; 762 768 return newElement; … … 800 806 Print("1 %p\n",first); 801 807 if(first) { 808 Print("1' %p\n",first->getRule()); 802 809 Print("2 %p\n",first->getNext()); 810 //Print("3 %p\n",first->getNext()->getRule()); 803 811 //Print("3 %p\n",first->getNext()->getRuleTerm()); 804 812 }
Note: See TracChangeset
for help on using the changeset viewer.