16 #ifndef polybori_groebner_fixed_path_divisors_h_
17 #define polybori_groebner_fixed_path_divisors_h_
24 #ifndef DANGEROUS_FIXED_PATH
25 typedef PBORI::CacheManager<CCacheTypes::divisorsof_fixedpath>
27 typedef PBORI::CacheManager<CCacheTypes::divisorsof>
39 MonomialSet(cache_mgr.generate(a_nav)).firstDivisorsOf(cache_mgr.generate(m_nav));
42 if (a_nav.
isConstant())
return cache_mgr.generate(a_nav);
54 while((a_index=*a_nav)!=(m_index=*m_nav)){
59 if (m_index==n_index){
71 return cache_mgr.generate(a_nav);
76 #ifndef DANGEROUS_FIXED_PATH
78 cache_mgr.find(a_nav, m_nav,n_nav);
80 return cache_mgr.generate(cached);
91 typedef PBORI::CacheManager<CCacheTypes::divisorsof>
94 cache_mgr_type2 cache_mgr2(cache_mgr.manager());
97 cache_mgr2.find(a_nav, m_nav);
99 if (cached.isValid()){
100 return cache_mgr2.generate(cached);
106 if (m_index==n_index){
109 if (!(result.isZero()))
110 result =
MonomialSet(index, result, cache_mgr.zero());
124 #ifndef DANGEROUS_FIXED_PATH
125 cache_mgr.insert(a_nav,m_nav,n_nav,result.navigation());
127 cache_mgr2.insert(a_nav,m_nav,result.navigation());
145 cache_mgr_type cache_mgr(a.
ring());