Changeset e90881 in git for kernel/f5lists.cc


Ignore:
Timestamp:
Mar 29, 2009, 7:17:09 PM (14 years ago)
Author:
Christian Eder
Branches:
(u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
Children:
c6512c014a0813cb992533ab4dd571597c561ea4
Parents:
53e33d93f45a825808d84cade536120482dc46c3
Message:
implemented deletion of known useless polynomials before the interreduction of gprev takes place


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

Legend:

Unmodified
Added
Removed
  • kernel/f5lists.cc

    r53e33d9 re90881  
    151151}
    152152
     153inline LNode* LNode::insertByLabel(LNode* l) {
     154    //Print("ADDING SOLYS TO THE LIST\n");
     155    //Print("new element: ");
     156    //pWrite(t);
     157       if(NULL == this) { // || NULL == data) {
     158        l->next =   this;
     159        return l;
     160    }
     161    else {
     162         //Print("tested element1: ");
     163    //pWrite(this->getTerm());
     164        if(-1 == pLmCmp(l->getTerm(),this->getTerm())) {
     165            //Print("HIERDRIN\n");
     166            l->next =   this;
     167            //Print("%p\n",this);
     168            //Print("%p\n",newElement->next);
     169            return l;
     170        }
     171        else {
     172            LNode* temp = this;
     173            while(NULL != temp->next && NULL != temp->next->data) {
     174                //Print("tested element: ");
     175                //pWrite(temp->getTerm());
     176                if(-1 == pLmCmp(l->getTerm(),temp->next->getTerm())) {
     177                    l->next     =   temp->next;
     178                    temp->next  =   l;
     179                    return this;
     180                }
     181                else {
     182                    temp = temp->next;
     183                    //Print("%p\n",temp);
     184                    //Print("%p\n",temp->data);
     185                   
     186                    //Print("%p\n",temp->next);
     187                }
     188            }
     189        //Print("HIER\n");
     190            l->next     =   temp->next;
     191            temp->next  =   l;
     192            return this;
     193        }
     194    }
     195}
     196
    153197// deletes the first elements of the list with the same degree
    154198// only used for the S-polys, which are already sorted by increasing degree by CList
     
    184228}
    185229
     230bool LNode::getDel() {
     231    return data->getDel();
     232}
     233
    186234// set the data from the LPoly saved in LNode
    187235void LNode::setPoly(poly p) {
     
    199247void LNode::setNext(LNode* l) {
    200248    next    =   l;
     249}
     250
     251void LNode::setDel(bool d) {
     252    data->setDel(d);
    201253}
    202254
     
    229281        pWrite(temp->getPoly());
    230282        Print("%p\n",temp->next);
     283        Print("DELETE? %d\n",temp->getDel());
    231284        temp = temp->next;
    232285    }
     
    234287}
    235288
     289int LNode::count(LNode* l) {
     290    int nonDel  =   0;
     291    LNode* temp =   l;
     292    while(NULL != temp) {
     293        if(!temp->getDel()) {
     294            nonDel++;
     295            temp    =   temp->next;
     296        }
     297        else {
     298            temp    =   temp->next;
     299        }
     300    }
     301    return nonDel;
     302}
    236303
    237304/*
     
    304371
    305372void LList::insertByLabel(LNode* l) {
    306     first = first->insertByLabel(l->getTerm(),l->getIndex(),l->getPoly(),l->getRule());
     373    first = first->insertByLabel(l);
    307374    length++;
    308375    //Print("LENGTH %d\n",length);
     
    340407}
    341408
     409int LList::count(LNode* l) {
     410    return first->count(l);
     411}
    342412/*
    343413=======================================
Note: See TracChangeset for help on using the changeset viewer.