7 #include <boost/shared_ptr.hpp>
9 #ifndef PBORI_GB_CACHE_H
10 #define PBORI_GB_CACHE_H
14 template<
class idx_type1,
class idx_type2>
void set_up_translation_vectors(std::vector<idx_type1>& ring_2_0123, std::vector<idx_type2>& back_2_ring,
const Exponent& used_variables){
19 ring_2_0123[*it]=idx_0123;
20 back_2_ring[idx_0123]=*it;
33 typedef boost::shared_ptr<poly_vec_type>
res_type;
44 std::vector<idx_type> back_2_ring(used_exp.
size());
45 std::vector<idx_type> ring_2_0123(nv);
50 impl_iterator_type it=impl.find(p_t);
54 res_type res(
new poly_vec_type(it->second));
57 for(poly_vec_type::size_type i=0;i<res->size();i++){
70 std::vector<idx_type> back_2_ring(used_exp.
size());
71 std::vector<idx_type> ring_2_0123(nv);
74 poly_vec_type value_t(value);
76 for(poly_vec_type::size_type i=0;i<value_t.size();i++){
This class is just a wrapper for using variables for storing indices as interim data structure for Bo...
Definition: BooleExponent.h:34
impl_type impl
Definition: cache_manager.h:36
const_iterator begin() const
Start iteration over indices (constant access)
Definition: BooleExponent.h:97
#define END_NAMESPACE_PBORIGB
Definition: groebner_defs.h:16
boost::shared_ptr< poly_vec_type > res_type
Definition: cache_manager.h:33
const ring_type & ring() const
Access ring, where this belongs to.
Definition: BoolePolynomial.h:478
void set_up_translation_vectors(std::vector< idx_type1 > &ring_2_0123, std::vector< idx_type2 > &back_2_ring, const Exponent &used_variables)
Definition: cache_manager.h:14
Polynomial::poly_vec_map_type impl_type
Definition: cache_manager.h:30
CacheManager()
Definition: cache_manager.h:38
#define BEGIN_NAMESPACE_PBORIGB
Definition: groebner_defs.h:15
Polynomial translate_indices(const Polynomial &p, const std::vector< idx_type > &table)
Definition: groebner_alg.cc:278
Polynomial::poly_vec_map_type::const_iterator impl_iterator_type
Definition: cache_manager.h:34
This class wraps the underlying decicion diagram type and defines the necessary operations.
Definition: BoolePolynomial.h:85
void insert(const Polynomial &key, const poly_vec_type &value)
Definition: cache_manager.h:67
std::map< self, std::vector< self >, symmetric_composition< std::less< navigator >, navigates< self > > > poly_vec_map_type
Definition: BoolePolynomial.h:199
Definition: cache_manager.h:28
res_type lookup(const Polynomial &p, bool &succ)
Definition: cache_manager.h:41
size_type nVariables() const
Get number of ring variables.
Definition: BoolePolyRing.h:126
const_iterator end() const
Finish iteration over indices (constant access)
Definition: BooleExponent.h:100
Definition: BoolePolynomial.h:70
data_type::const_iterator const_iterator
Definition: BooleExponent.h:52
std::vector< Polynomial > poly_vec_type
Definition: cache_manager.h:32
size_type size() const
Degree of the corresponding monomial.
Definition: BooleExponent.h:109
exp_type usedVariablesExp() const
Exponent vector of all of variables of the polynomial.
Definition: BoolePolynomial.cc:404