source: git/kernel/lpolynomial.h @ a0350e9

spielwiese
Last change on this file since a0350e9 was a0350e9, checked in by Christian Eder, 15 years ago
added lists for critical pairs git-svn-id: file:///usr/local/Singular/svn/trunk@11321 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 2.1 KB
Line 
1/****************************************
2*  Computer Algebra System SINGULAR     *
3****************************************/
4/* $Id: lpolynomial.h,v 1.5 2009-01-15 17:44:24 ederc Exp $ */
5/*
6* ABSTRACT: labeled polynomial interface
7*/
8#ifndef LPOLYNOMIAL_HEADER
9#define LPOLYNOMIAL_HEADER
10
11#ifdef HAVE_F5
12/*
13=========================================================
14=========================================================
15classes for labeled polynomials/pairs/S-polynomials in F5
16=========================================================
17=========================================================
18*/
19class LPoly;
20class CPair;
21
22
23/*
24=============================
25class of a labeled polynomial
26=============================
27*/
28class LPoly {
29    private:
30        poly    term; //term of signature
31        int     index; //index of signature
32        poly    polynomial; //standard polynomial data
33        bool    del; //for deletion in TopReduction Subalgorithm
34    public:
35                LPoly(poly*t,int* i,poly* p); 
36        void    setPoly(poly* p);
37        poly*   getPoly();
38        void    setTerm(poly* t);
39        poly*   getTerm();
40        void    setIndex(int* i);
41        int*    getIndex();
42        void    setDel(bool b);
43        bool    getDel() const;
44        void    set(poly* t, int* i, poly* p);
45        LPoly*  get();
46};
47
48
49/*
50===============================
51structure of the critical pairs
52===============================
53*/
54class CPair {
55    private:
56        int     deg;    // total degree of the critical pair
57        poly    t1;     // first term for label
58        LPoly*  lp1;     // first labeled poly
59        poly    t2;     // second term for label
60        LPoly*  lp2;     // second labeled poly
61    public:
62                CPair(int degree, poly term1, LPoly* lpoly1, poly term2, LPoly* lpoly2);
63        int     getDeg();
64        poly    getT1();
65        poly    getLp1Poly();
66        poly    getLp1Term();
67        int     getLp1Index();
68        poly    getT2();
69        poly    getLp2Poly();
70        poly    getLp2Term();
71        int     getLp2Index();
72};
73
74
75#endif
76#endif
Note: See TracBrowser for help on using the repository browser.