This file is indexed.

/usr/include/singular/singular/kernel/GBEngine/f5data.h is in libsingular4-dev-common 1:4.1.0-p3+ds-2build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
//! \file f5data.cc
/****************************************
*  Computer Algebra System SINGULAR     *
****************************************/
/*
* ABSTRACT: labeled polynomial interface
*/
#ifndef F5DATA_HEADER
#define F5DATA_HEADER
#ifdef HAVE_F5
/*!
=========================================================
=========================================================
classes for labeled polynomials/pairs/S-polynomials in F5
=========================================================
=========================================================
*/
class LPolyOld;
class CPairOld;
class RuleOld;


/*!
============================
class of labeled polynomials
============================
*/
class LPolyOld {
    private:
        poly    term;           //term of signature
        int     index;          //index of signature
        poly    polynomial;     //standard polynomial data
        RuleOld*   _ruleOld;
        bool    del;
    public:
        inline          LPolyOld(poly t, int i, poly p, RuleOld* r=NULL);
 //       inline          LPolyOld(poly t, int i, poly p, RuleOld* r=NULL, bool b=0);
        inline  void    setPoly(poly p);
        inline  poly    getPoly();
        inline  void    setTerm(poly t);
        inline  poly    getTerm();
        inline  void    setIndex(int i);
        inline  int     getIndex();
        inline  void    setRuleOld(RuleOld* r);
        inline  RuleOld*   getRuleOld();
        inline  void    setDel(bool d);
        inline  bool    getDel();
        inline  void    set(poly t, int i, poly p, RuleOld* r);
        inline  LPolyOld*  get();
};

LPolyOld::LPolyOld(poly t,int i,poly p, RuleOld* r) {
    set(t,i,p,r);
    del =   0;
}

/*LPolyOld::LPolyOld(poly t,int i,poly p, RuleOld* r, bool b) {
    set(t,i,p,r);
    del =   b;
}
*/
void LPolyOld::setPoly(poly p)  {
    //poly _p     =   pInit();
    //_p          =   pCopy(p);
    polynomial = p;
}

void LPolyOld::setTerm(poly t) {
    //poly _t     =   pInit();
    //_t          =   pCopy(t);
    term = t;
}

void LPolyOld::setIndex(int i) {
    index = i;
}

void LPolyOld::setRuleOld(RuleOld* r) {
    _ruleOld   =   r;
}

void LPolyOld::setDel(bool d) {
    del =   d;
}

poly LPolyOld::getPoly() {
    return polynomial;
}

poly LPolyOld::getTerm() {
    return term;
}

int LPolyOld::getIndex() {
    return index;
}

RuleOld* LPolyOld::getRuleOld() {
    return _ruleOld;
}

bool LPolyOld::getDel() {
    return del;
}

void LPolyOld::set(poly t, int i, poly p, RuleOld* r) {
    this->setTerm(t);
    this->setIndex(i);
    this->setPoly(p);
    this->setRuleOld(r);
}

LPolyOld* LPolyOld::get() {
    return this;
}


/*!
===================================
structure of labeled critical pairs
===================================
*/
class CPairOld {
    private:
        long    deg;            // total degree of the critical pair
        poly    t1;             // first term for label
        LPolyOld*  lp1;            // first labeled poly
        poly    t2;             // second term for label
        LPolyOld*  lp2;            // second labeled poly
        RuleOld*   testedRuleOld;     // already tested by RuleOlds up to lastRuleOldTested
        bool  del;
    public:
        inline          CPairOld(long degree, poly term1, LPolyOld* LPolyOld1, poly term2, LPolyOld* LPolyOld2, bool useless, RuleOld* r = NULL);
        inline  long    getDeg();
        inline  poly    getT1();
        inline  poly*   getAdT1();
        inline  LPolyOld*  getAdLp1();
        inline  poly    getLp1Poly();
        inline  poly    getLp1Term();
        inline  int     getLp1Index();
        inline  poly    getT2();
        inline  poly*   getAdT2();
        inline  LPolyOld*  getAdLp2();
        inline  poly    getLp2Poly();
        inline  poly    getLp2Term();
        inline  int     getLp2Index();
        inline  bool    getDel();
        inline  RuleOld*   getTestedRuleOld();
        inline  void    setTestedRuleOld(RuleOld* r);
};

CPairOld::CPairOld(long degree, poly term1, LPolyOld* LPolyOld1, poly term2, LPolyOld* LPolyOld2, bool useless, RuleOld* r) {
   deg              =   degree;
   t1               =   term1;
   lp1              =   LPolyOld1;
   t2               =   term2;
   lp2              =   LPolyOld2;
   testedRuleOld       =   r;
   del              =   useless;
}

long CPairOld::getDeg() {
    return deg;
}

poly CPairOld::getT1() {
    return t1;
}

poly* CPairOld::getAdT1() {
    return &t1;
}

poly* CPairOld::getAdT2() {
    return &t2;
}

poly CPairOld::getT2() {
    return t2;
}

LPolyOld* CPairOld::getAdLp1() {
    return lp1;
}

LPolyOld* CPairOld::getAdLp2() {
    return lp2;
}

poly CPairOld::getLp1Poly() {
    return lp1->getPoly();
}

poly CPairOld::getLp2Poly() {
    return lp2->getPoly();
}

poly CPairOld::getLp1Term() {
    return lp1->getTerm();
}

poly CPairOld::getLp2Term() {
    return lp2->getTerm();
}

int CPairOld::getLp1Index() {
    return lp1->getIndex();
}

int CPairOld::getLp2Index() {
    return lp2->getIndex();
}

bool CPairOld::getDel() {
  return del;
}

RuleOld* CPairOld::getTestedRuleOld() {
    return testedRuleOld;
}

void CPairOld::setTestedRuleOld(RuleOld* r) {
    testedRuleOld      =   r;
}


/*!
========================================================
structure of RuleOlds(i.e. already computed / known labels)
========================================================
*/
class RuleOld {
    private:
        int     index;      // index of the labeled polynomial the RuleOld comes from
        poly    term;       // term of the labeled polynomial the RuleOld comes from
    public:
        inline          RuleOld(int i, poly term);
        inline          ~RuleOld();
        inline  int     getIndex();
        inline  poly    getTerm();
};

RuleOld::RuleOld(int i, poly t) {
    index   =   i;
    term    =   t;
}

RuleOld::~RuleOld() {
    //pDelete(&term);
}

int RuleOld::getIndex() {
    return index;
}

poly RuleOld::getTerm() {
    return term;
}
#endif
#endif