16 #ifndef polybori_factories_VariableBlock_h_
17 #define polybori_factories_VariableBlock_h_
50 bool reverse,
const ring_type& ring):
52 m_start_index(start_index),
53 m_last (start_index + size - 1), m_offset(offset), m_reverse(reverse) { }
58 m_start_index(rhs.m_start_index),
59 m_last(rhs.m_last), m_offset(rhs.m_offset), m_reverse(rhs.m_reverse) { }
70 base::operator()(m_offset + (m_reverse? m_last - i: i - m_start_index));
#define END_NAMESPACE_PBORI
Finish project's namespace.
Definition: pbori_defs.h:77
var_type::ring_type ring_type
Definition: VariableBlock.h:45
#define BEGIN_NAMESPACE_PBORI
Start project's namespace.
Definition: pbori_defs.h:74
const idx_type m_offset
Definition: VariableBlock.h:76
This base class VariableFactory is used for currying variable constructors with a BoolePolyRing...
Definition: VariableFactory.h:33
Definition: VariableBlock.h:25
VariableBlock(idx_type size, idx_type start_index, idx_type offset, bool reverse, const ring_type &ring)
Construct block.
Definition: VariableBlock.h:49
This class reinterprets decicion diagram managers as Boolean polynomial rings, adds an ordering and v...
Definition: BoolePolyRing.h:40
var_type operator()(idx_type i)
We may easily.
Definition: VariableBlock.h:65
This class defines a VariableBlock.
Definition: VariableBlock.h:35
~VariableBlock()
Destructor.
Definition: VariableBlock.h:62
const idx_type m_start_index
Definition: VariableBlock.h:74
const bool m_reverse
Definition: VariableBlock.h:77
var_type::idx_type idx_type
Definition: VariableBlock.h:46
VariableBlock(const self &rhs)
Copy constructor.
Definition: VariableBlock.h:56
const idx_type m_last
Definition: VariableBlock.h:75
VariableFactory base
Definition: VariableBlock.h:42
polybori::CTypes::idx_type idx_type
Definition: groebner_defs.h:44
base::value_type var_type
Definition: VariableBlock.h:43
#define PBORI_UNLIKELY(expression)
Definition: pbori_defs.h:59
This class is just a wrapper for using variables from cudd's decicion diagram.
Definition: BooleVariable.h:39