PolyBoRi
LessWeightedLengthInStratModified.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 //*****************************************************************************
14 //*****************************************************************************
15 
16 #ifndef polybori_groebner_LessWeightedLengthInStratModified_h_
17 #define polybori_groebner_LessWeightedLengthInStratModified_h_
18 
19 // include basic definitions
20 #include "groebner_defs.h"
21 
23 
26  if ((e.deg==1) && (e.length<=4)){
27  //if (e.length==1) return -1;
28  //if (e.p.hasConstantPart()) return 0;
29  return res-1;
30  }
31  return res;
32 }
33 
39 class LessWeightedLengthInStratModified{
41 public:
44  this->strat=&strat;
45  }
46  bool operator() (const Monomial& a , const Monomial& b){
47  wlen_type wa=wlen_literal_exceptioned((*strat)[a]);
48  wlen_type wb=wlen_literal_exceptioned((*strat)[b]);
49 
50  return wa<wb;
51 
52  }
53  bool operator() (const Exponent& a , const Exponent& b){
54  wlen_type wa=wlen_literal_exceptioned((*strat)[a]);
55  wlen_type wb=wlen_literal_exceptioned((*strat)[b]);
56 
57  return wa<wb;
58 
59  }
60 };
61 
63 
64 #endif /* polybori_LessWeightedLengthInStratModified_h_ */
This class is just a wrapper for using variables for storing indices as interim data structure for Bo...
Definition: BooleExponent.h:34
#define END_NAMESPACE_PBORIGB
Definition: groebner_defs.h:16
LessWeightedLengthInStratModified(const ReductionStrategy &strat)
Definition: LessWeightedLengthInStratModified.h:43
wlen_type wlen_literal_exceptioned(const PolyEntry &e)
Definition: LessWeightedLengthInStratModified.h:24
#define BEGIN_NAMESPACE_PBORIGB
Definition: groebner_defs.h:15
This class defines PolyEntry.
Definition: PolyEntry.h:32
deg_type deg
Definition: PolyEntryBase.h:58
wlen_type weightedLength
Definition: PolyEntryBase.h:56
long wlen_type
Definition: groebner_defs.h:39
len_type length
Definition: PolyEntryBase.h:57
This class defines ReductionStrategy.
Definition: ReductionStrategy.h:34
This class is just a wrapper for using variables from cudd's decicion diagram.
Definition: BooleMonomial.h:50
const ReductionStrategy * strat
Definition: LessWeightedLengthInStratModified.h:42