PolyBoRi
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
groebner
include
polybori
groebner
LessUsedTailVariablesThenLessWeightedLengthInStrat.h
Go to the documentation of this file.
1
// -*- c++ -*-
2
//*****************************************************************************
14
//*****************************************************************************
15
16
#ifndef polybori_groebner_LessUsedTailVariablesThenLessWeightedLengthInStrat_h_
17
#define polybori_groebner_LessUsedTailVariablesThenLessWeightedLengthInStrat_h_
18
19
// include basic definitions
20
#include "
groebner_defs.h
"
21
22
BEGIN_NAMESPACE_PBORIGB
23
28
class
LessUsedTailVariablesThenLessWeightedLengthInStrat
{
29
public
:
30
const
GroebnerStrategy
*
strat
;
31
LessUsedTailVariablesThenLessWeightedLengthInStrat
(
const
GroebnerStrategy
& strat){
32
this->strat=&strat;
33
}
34
35
bool
operator() (
const
Monomial
& a,
const
Monomial
& b)
const
{
36
return
operator()(strat->generators[a], strat->generators[b]);
37
}
38
39
private
:
40
bool
operator() (
const
PolyEntry
& entry1,
const
PolyEntry
& entry2)
const
{
41
deg_type
d1 = entry1.
tailVariables
.
deg
();
42
deg_type
d2 = entry2.
tailVariables
.
deg
();
43
if
(d1 != d2)
44
return
(d1 < d2);
45
46
return
(entry1.
weightedLength
< entry2.
weightedLength
);
47
}
48
49
};
50
51
END_NAMESPACE_PBORIGB
52
53
#endif
/* polybori_LessUsedTailVariablesThenLessWeightedLengthInStrat_h_ */
Generated by
1.8.3.1