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_ */
END_NAMESPACE_PBORIGB
#define END_NAMESPACE_PBORIGB
Definition:
groebner_defs.h:16
polybori::groebner::deg_type
int deg_type
Definition:
groebner_defs.h:42
polybori::groebner::LessUsedTailVariablesThenLessWeightedLengthInStrat::strat
const GroebnerStrategy * strat
Definition:
LessUsedTailVariablesThenLessWeightedLengthInStrat.h:30
polybori::groebner::PolyEntryBase::tailVariables
Exponent tailVariables
Definition:
PolyEntryBase.h:63
BEGIN_NAMESPACE_PBORIGB
#define BEGIN_NAMESPACE_PBORIGB
Definition:
groebner_defs.h:15
polybori::groebner::PolyEntry
This class defines PolyEntry.
Definition:
PolyEntry.h:32
polybori::groebner::LessUsedTailVariablesThenLessWeightedLengthInStrat
This class defines LessUsedTailVariablesThenLessWeightedLengthInStrat.
Definition:
LessUsedTailVariablesThenLessWeightedLengthInStrat.h:28
polybori::groebner::GroebnerStrategy::generators
ReductionStrategy generators
Definition:
GroebnerStrategy.h:204
polybori::groebner::LessUsedTailVariablesThenLessWeightedLengthInStrat::LessUsedTailVariablesThenLessWeightedLengthInStrat
LessUsedTailVariablesThenLessWeightedLengthInStrat(const GroebnerStrategy &strat)
Definition:
LessUsedTailVariablesThenLessWeightedLengthInStrat.h:31
polybori::groebner::PolyEntryBase::weightedLength
wlen_type weightedLength
Definition:
PolyEntryBase.h:56
groebner_defs.h
polybori::groebner::GroebnerStrategy
This class defines GroebnerStrategy.
Definition:
GroebnerStrategy.h:41
polybori::BooleMonomial
This class is just a wrapper for using variables from cudd's decicion diagram.
Definition:
BooleMonomial.h:50
polybori::BooleExponent::deg
deg_type deg() const
Degree of the corresponding monomial.
Definition:
BooleExponent.h:118
Generated by
1.8.9.1