Changeset cce6ed3 in git for kernel/lists.h


Ignore:
Timestamp:
Jan 25, 2009, 6:13:06 PM (15 years ago)
Author:
Christian Eder
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
f4e338f564fc725c8dac99c44cbf3f5ec5ceacb2
Parents:
0883ed62762dee5f6c5fa37f064d3883b99dc21f
Message:
lists done, started implementing f5incremental and critpair subalgorithms


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

Legend:

Unmodified
Added
Removed
  • kernel/lists.h

    r0883ed rcce6ed3  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: lists.h,v 1.3 2009-01-15 17:44:24 ederc Exp $ */
     4/* $Id: lists.h,v 1.4 2009-01-25 17:13:06 ederc Exp $ */
    55/*
    66* ABSTRACT: list interface
     
    2424class CNode;
    2525class CList;
    26 
     26class RList;
     27class RNode;
    2728
    2829/*
     
    4142                LNode(LNode* ln);
    4243                ~LNode();
    43         // append new elements to the list from the labeled / classical polynomial view
     44        // insert new elements to the list in first place from the labeled / classical polynomial view
    4445        LNode*  insert(LPoly* lp);
    4546        LNode*  insert(poly* t, int* i, poly* p);
     47        // insert new elements to the list with resp. to increasing labels
     48        // only used for the S-polys to be reduced (TopReduction building new S-polys with higher label)
     49        LNode*  insertByLabel(LPoly* lp);
     50        // deletes the first elements of the list with the same degree
    4651        // get next from current LNode
    4752        LNode*  getNext();
    48        
     53        // only used for the S-polys, which are already sorted by increasing degree by CList
     54        LNode*  deleteByDeg();
    4955        // get the LPoly* out of LNode*
    5056        LPoly*  getLPoly();
    51         // get the address of the polynomial part of LPoly* of LNode*
     57        // get the data from the LPoly saved in LNode
    5258        poly*   getPoly();
     59        poly*   getTerm();
     60        int*    getIndex();
    5361        // test if for any list element the polynomial part of the data is equal to *p
    5462        bool    polyTest(poly* p);
     63        LNode*  getNext(LNode* l);
    5564};
    5665
     
    6473    private:
    6574        LNode*  first;
    66         int     length;
    6775    public:
    6876                LList(LPoly* lp);
     
    7280        // insertion in front of the list
    7381        void    insert(poly* t,int* i, poly* p);
     82        void    insertByLabel(LPoly* lp);
     83        void    deleteByDeg();
    7484        bool    polyTest(poly* p);
    75         int     getLength() const;
    76         LNode*  getFirst();
     85        LNode*  getFirst();
     86        LNode*  getNext(LNode* l);
    7787};
    7888
     
    115125/*
    116126=======================================
    117 CNode class (nodes for lists of CPairs)
     127class CNode (nodes for lists of CPairs)
    118128=======================================
    119129*/
     
    126136                ~CNode();
    127137        CNode*  insert(CPair* c);
    128         CNode*  getLPoly() const;
     138        CNode*  getMinDeg();
     139        //CNode*  getLPoly() const;
    129140};
    130141
    131142
    132143/*
    133 =============================
    134 class CPList(lists of CPairs)
    135 =============================
     144============================
     145class CList(lists of CPairs)
     146============================
    136147*/
    137148class CList {
     
    141152                CList(CPair* c);
    142153                ~CList();
    143         void    insert(CPair* c);
     154        void    insert(CPair* c);
     155        CNode*  getMinDeg();
     156
     157};
     158
     159
     160/*
     161======================================
     162class RNode (nodes for lists of Rules)
     163======================================
     164*/
     165class RNode {
     166    private:
     167        Rule*   data;
     168        RNode*  next;
     169    public:
     170                RNode(Rule* r);
     171                ~RNode();
     172        RNode*  insert(Rule* r);
     173};
     174
     175/*
     176============================
     177class RList (lists of Rules)
     178============================
     179*/
     180class RList {
     181    private:
     182        RNode*  first;
     183    public:
     184                RList(Rule* r);
     185                ~RList();
     186        void    insert(Rule* r);
    144187};
    145188#endif
Note: See TracChangeset for help on using the changeset viewer.