Changeset c4158f in git for kernel/f5gb.cc


Ignore:
Timestamp:
Mar 12, 2009, 3:34:03 PM (15 years ago)
Author:
Christian Eder
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
d738b47ee2746bdf05645beba5fff4b1ec35cbf3
Parents:
75e2e50e5ba0dbb6681ecbf8664330997a24b5e9
Message:
delete some double checkings, changed list stuff for last elements in lists


git-svn-id: file:///usr/local/Singular/svn/trunk@11557 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/f5gb.cc

    r75e2e5 rc4158f  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: f5gb.cc,v 1.43 2009-03-12 09:43:53 ederc Exp $ */
     4/* $Id: f5gb.cc,v 1.44 2009-03-12 14:34:03 ederc Exp $ */
    55/*
    66* ABSTRACT: f5gb interface
     
    9191    criticalPair(gPrev, critPairs, lTag, rTag, rules);
    9292    static LList* sPolyList        =   new LList();
     93    //sPolyList->print();
    9394    // labeled polynomials which have passed reduction() and have to be added to list gPrev
    9495    static LList* completed        =   new LList();
     
    178179    poly lcm            =   pOne();
    179180    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    }
    181185    // computation of critical pairs
    182186    //critPairs->print();
     
    264268        //pWrite(ppMult_qq(t,l->getTerm()));
    265269        //Print("%d\n\n",l->getIndex());
    266         while(testNode->getIndex() < idx && NULL != testNode->getLPoly()) {
     270        while(testNode->getIndex() < idx) { // && NULL != testNode->getLPoly()) {
    267271            //pWrite(testNode->getPoly());
    268272            //Print("%d\n",testNode->getIndex());
     
    291295        RNode* tempR    =   rules->getFirst();
    292296        int i   = 1;
    293         while(NULL != tempR->getRule()) {
     297        while(NULL != tempR) {
    294298            Print("ADDRESS OF %d RNODE: %p\n",i,tempR);
    295299            Print("ADDRESS OF RULE: %p\n",tempR->getRule());
     
    306310        //pWrite(ppMult_qq(t,l->getTerm()));
    307311        //Print("%d\n\n",l->getIndex());
    308         */
     312       */
    309313// 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();
    311315     
    312     if(NULL == rTag->getFirst() || NULL == rTag->getFirst()->getRule()) {
     316    if(NULL == rTag->getFirst() ) {
    313317        testNode    =   rules->getFirst();
    314318    }
     
    343347    //Print("TESTNODE: %p\n",testNode);
    344348    //pWrite(testNode->getRuleTerm());
    345     if(NULL != testNode && NULL != testNode->getRule()) {   
     349    if(NULL != testNode ) {   
    346350        //pWrite(testNode->getRuleTerm());
    347351    }
     
    355359        }
    356360    }
    357     while(NULL != testNode && NULL != testNode->getRule() && testNode->getRule() != l->getRule()
     361    while(NULL != testNode && testNode->getRule() != l->getRule()
    358362          && l->getIndex() == testNode->getRuleIndex()) {
    359363        //Print("%p\n",testNode);
     
    387391    //Print("------------------------------IN CRITERION 2/2-----------------------------------------\n");
    388392    //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        }
    396401        //Print("TESTED ELEMENT: ");
    397402        //pWrite(l->getPoly());
     
    399404        //pWrite(ppMult_qq(t,l->getTerm()));
    400405        //Print("%d\n\n",l->getIndex());
     406    */
    401407// start at the previously added element to gPrev, as all other elements will have the same index for sure
    402408        RNode* testNode =   rules->getFirst();
     
    404410    poly u1 = ppMult_qq(t,l->getTerm());
    405411        // 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) {
    407413        //pWrite(testNode->getRuleTerm());
    408414        if(pLmDivisibleBy(testNode->getRuleTerm(),u1)) {
     
    506512                        sPolyList->insertByLabel(ppMult_qq(temp->getT1(),temp->getLp1Term()),temp->getLp1Index(),sp,rules->getFirst()->getRule());
    507513                    }
    508                     // data is saved in sPolyList or zero => delete sp
    509514                }
    510515            }
     
    554559        // delete the above first element from sPolyList, temp will be either reduced to
    555560        // zero or added to gPrev, but never come back to sPolyList
    556         if(NULL != temp && NULL != temp->getLPoly()) {
     561        if(NULL != temp) {
    557562            sPolyList->setFirst(temp->getNext());
    558563        //Print("HIER\n");
     
    831836    // this must be done due to possible later improvements
    832837    RList* rules    =   new RList();
    833     //Print("RULES FIRST: %p\n",rules->getFirst());
     838    Print("RULES FIRST: %p\n",rules->getFirst());
    834839    //Print("RULES FIRST DATA: %p\n",rules->getFirst()->getRule());
    835840    RTagList* rTag  =   new RTagList(rules->getFirst());
     
    965970        //Print("JA\n");
    966971    }
    967         idShow(gbPrev);
     972        //idShow(gbPrev);
    968973    Print("\n\nNumber of zero-reductions:  %d\n",reductionsToZero);
    969974    //LNode* temp    =   gPrev->getFirst();
Note: See TracChangeset for help on using the changeset viewer.