PolyBoRi
pbori_routines_order.h
Go to the documentation of this file.
00001 // -*- c++ -*-
00002 //*****************************************************************************
00057 //*****************************************************************************
00058 
00059 // include basic definitions
00060 #include "pbori_defs.h"
00061 #include "pbori_order.h"
00062 #include "pbori_algo.h"
00063 #include "pbori_traits.h"
00064 
00065 #include "CRestrictedIter.h"
00066 
00067 BEGIN_NAMESPACE_PBORI
00068 
00069 
00070 
00071 
00072 template <class FirstIterator, class SecondIterator, class BinaryPredicate>
00073 =ss="keywordflow">return init;
00957 }
00958 
00959 template <class CacheType, class NaviType, class SetType>
00960 SetType
00961 dd_first_multiples_of(const CacheType& cache_mgr,
00962                       NaviType navi, NaviType rhsNavi, SetType init){
00963 
00964   typedef typename SetType::dd_type dd_type;
00965 
00966   if(rhsNavi.isConstant())
00967     if(rhsNavi.terminalValue())
00968       return cache_mgr.generate(navi);
00969     else
00970       return cache_mgr.generate(rhsNavi);
00971 
00972   if (navi.isConstant() || (*navi > *rhsNavi)) 
00973     return cache_mgr.zero();
00974 
00975   if (*navi == *rhsNavi)
00976     return dd_first_multiples_of(cache_mgr, navi.thenBranch(), 
00977                                  rhsNavi.thenBranch(), init).change(*navi);
00978 
00979   // Look up old result - if any
00980   NaviType result = cache_mgr.find(navi, rhsNavi);
00981 
00982   if (result.isValid())
00983     return cache_mgr.generate(result);
00984 
00985   // Compute new result
00986   init = dd_type(*navi,
00987                   dd_first_multiples_of(cache_mgr, navi.thenBranch(), 
00988                                         rhsNavi, init).diagram(),
00989                   dd_first_multiples_of(cache_mgr, navi.elseBranch(), 
00990                                         rhsNavi, init).diagram() );
00991 
00992   // Insert new result in cache
00993   cache_mgr.insert(navi, rhsNavi, init.navigation());
00994 
00995   return init;
00996 }
00997 
00998 
00999 END_NAMESPACE_PBORI
./usr/share/doc/polybori/c++/pbori__routines__order_8h_source.html0000644000000000000000000020203311742565340024210 0ustar rootroot PolyBoRi: pbori_routines_order.h Source File
PolyBoRi
pbori_routines_order.h
Go to the documentation of this file.
00001 // -*- c++ -*-
00002 //*****************************************************************************
00057 //*****************************************************************************
00058 
00059 // include basic definitions
00060 #include "pbori_defs.h"
00061 #include "pbori_order.h"
00062 #include "pbori_algo.h"
00063 #include "pbori_traits.h"
00064 
00065 #include "CRestrictedIter.h"
00066 
00067 BEGIN_NAMESPACE_PBORI
00068 
00069 
00070 
00071 
00072 template <class FirstIterator, class SecondIterator, class BinaryPredicate>
00073 =ss="keywordflow">return init;
00957 }
00958 
00959 template <class CacheType, class NaviType, class SetType>
00960 SetType
00961 dd_first_multiples_of(const CacheType& cache_mgr,
00962                       NaviType navi, NaviType rhsNavi, SetType init){
00963 
00964   typedef typename SetType::dd_type dd_type;
00965 
00966   if(rhsNavi.isConstant())
00967     if(rhsNavi.terminalValue())
00968       return cache_mgr.generate(navi);
00969     else
00970       return cache_mgr.generate(rhsNavi);
00971 
00972   if (navi.isConstant() || (*navi > *rhsNavi)) 
00973     return cache_mgr.zero();
00974 
00975   if (*navi == *rhsNavi)
00976     return dd_first_multiples_of(cache_mgr, navi.thenBranch(), 
00977                                  rhsNavi.thenBranch(), init).change(*navi);
00978 
00979   // Look up old result - if any
00980   NaviType result = cache_mgr.find(navi, rhsNavi);
00981 
00982   if (result.isValid())
00983     return cache_mgr.generate(result);
00984 
00985   // Compute new result
00986   init = dd_type(*navi,
00987                   dd_first_multiples_of(cache_mgr, navi.thenBranch(), 
00988                                         rhsNavi, init).diagram(),
00989                   dd_first_multiples_of(cache_mgr, navi.elseBranch(), 
00990                                         rhsNavi, init).diagram() );
00991 
00992   // Insert new result in cache
00993   cache_mgr.insert(navi, rhsNavi, init.navigation());
00994 
00995   return init;
00996 }
00997 
00998 
00999 END_NAMESPACE_PBORI
./usr/share/doc/polybori/c++/pbori__routines__order_8h_source.html0000644000000000000000000020203311742565340024210 0ustar rootroot PolyBoRi: pbori_routines_order.h Source File
PolyBoRi
pbori_routines_order.h
Go to the documentation of this file.
00001 // -*- c++ -*-
00002 //*****************************************************************************
00057 //*****************************************************************************
00058 
00059 // include basic definitions
00060 #include "pbori_defs.h"
00061 #include "pbori_order.h"
00062 #include "pbori_algo.h"
00063 #include "pbori_traits.h"
00064 
00065 #include "CRestrictedIter.h"
00066 
00067 BEGIN_NAMESPACE_PBORI
00068 
00069 
00070 
00071 
00072 template <class FirstIterator, class SecondIterator, class BinaryPredicate>
00073 =ss="keywordflow">return init;
00957 }
00958 
00959 template <class CacheType, class NaviType, class SetType>
00960 SetType
00961 dd_first_multiples_of(const CacheType& cache_mgr,
00962                       NaviType navi, NaviType rhsNavi, SetType init){
00963 
00964   typedef typename SetType::dd_type dd_type;
00965 
00966   if(rhsNavi.isConstant())
00967     if(rhsNavi.terminalValue())
00968       return cache_mgr.generate(navi);
00969     else
00970       return cache_mgr.generate(rhsNavi);
00971 
00972   if (navi.isConstant() || (*navi > *rhsNavi)) 
00973     return cache_mgr.zero();
00974 
00975   if (*navi == *rhsNavi)
00976     return dd_first_multiples_of(cache_mgr, navi.thenBranch(), 
00977                                  rhsNavi.thenBranch(), init).change(*navi);
00978 
00979   // Look up old result - if any
00980   NaviType result = cache_mgr.find(navi, rhsNavi);
00981 
00982   if (result.isValid())
00983     return cache_mgr.generate(result);
00984 
00985   // Compute new result
00986   init = dd_type(*navi,
00987                   dd_first_multiples_of(cache_mgr, navi.thenBranch(), 
00988                                         rhsNavi, init).diagram(),
00989                   dd_first_multiples_of(cache_mgr, navi.elseBranch(), 
00990                                         rhsNavi, init).diagram() );
00991 
00992   // Insert new result in cache
00993   cache_mgr.insert(navi, rhsNavi, init.navigation());
00994 
00995   return init;
00996 }
00997 
00998 
00999 END_NAMESPACE_PBORI
./usr/share/doc/polybori/c++/pbori__routines__order_8h_source.html0000644000000000000000000020203311742565340024210 0ustar rootroot PolyBoRi: pbori_routines_order.h Source File
PolyBoRi
pbori_routines_order.h
Go to the documentation of this file.
00001 // -*- c++ -*-
00002 //*****************************************************************************
00057 //*****************************************************************************
00058 
00059 // include basic definitions
00060 #include "pbori_defs.h"
00061 #include "pbori_order.h"
00062 #include "pbori_algo.h"
00063 #include "pbori_traits.h"
00064 
00065 #include "CRestrictedIter.h"
00066 
00067 BEGIN_NAMESPACE_PBORI
00068 
00069 
00070 
00071 
00072 template <class FirstIterator, class SecondIterator, class BinaryPredicate>
00073 =ss="keywordflow">return init;
00957 }
00958 
00959 template <class CacheType, class NaviType, class SetType>
00960 SetType
00961 dd_first_multiples_of(const CacheType& cache_mgr,
00962                       NaviType navi, NaviType rhsNavi, SetType init){
00963 
00964   typedef typename SetType::dd_type dd_type;
00965 
00966   if(rhsNavi.isConstant())
00967     if(rhsNavi.terminalValue())
00968       return cache_mgr.generate(navi);
00969     else
00970       return cache_mgr.generate(rhsNavi);
00971 
00972   if (navi.isConstant() || (*navi > *rhsNavi)) 
00973     return cache_mgr.zero();
00974 
00975   if (*navi == *rhsNavi)
00976     return dd_first_multiples_of(cache_mgr, navi.thenBranch(), 
00977                                  rhsNavi.thenBranch(), init).change(*navi);
00978 
00979   // Look up old result - if any
00980   NaviType result = cache_mgr.find(navi, rhsNavi);
00981 
00982   if (result.isValid())
00983     return cache_mgr.generate(result);
00984 
00985   // Compute new result
00986   init = dd_type(*navi,
00987                   dd_first_multiples_of(cache_mgr, navi.thenBranch(), 
00988                                         rhsNavi, init).diagram(),
00989                   dd_first_multiples_of(cache_mgr, navi.elseBranch(), 
00990                                         rhsNavi, init).diagram() );
00991 
00992   // Insert new result in cache
00993   cache_mgr.insert(navi, rhsNavi, init.navigation());
00994 
00995   return init;
00996 }
00997 
00998 
00999 END_NAMESPACE_PBORI
./usr/share/doc/polybori/c++/pbori__routines__order_8h_source.html0000644000000000000000000020203311742565340024210 0ustar rootroot PolyBoRi: pbori_routines_order.h Source File
PolyBoRi
pbori_routines_order.h
Go to the documentation of this file.
00001 // -*- c++ -*-
00002 //*****************************************************************************
00057 //*****************************************************************************
00058 
00059 // include basic definitions
00060 #include "pbori_defs.h"
00061 #include "pbori_order.h"
00062 #include "pbori_algo.h"
00063 #include "pbori_traits.h"
00064 
00065 #include "CRestrictedIter.h"
00066 
00067 BEGIN_NAMESPACE_PBORI
00068 
00069 
00070 
00071 
00072 template <class FirstIterator, class SecondIterator, class BinaryPredicate>
00073 =ss="keywordflow">return init;
00957 }
00958 
00959 template <class CacheType, class NaviType, class SetType>
00960 SetType
00961 dd_first_multiples_of(const CacheType& cache_mgr,
00962                       NaviType navi, NaviType rhsNavi, SetType init){
00963 
00964   typedef typename SetType::dd_type dd_type;
00965 
00966   if(rhsNavi.isConstant())
00967     if(rhsNavi.terminalValue())
00968       return cache_mgr.generate(navi);
00969     else
00970       return cache_mgr.generate(rhsNavi);
00971 
00972   if (navi.isConstant() || (*navi > *rhsNavi)) 
00973     return cache_mgr.zero();
00974 
00975   if (*navi == *rhsNavi)
00976     return dd_first_multiples_of(cache_mgr, navi.thenBranch(), 
00977                                  rhsNavi.thenBranch(), init).change(*navi);
00978 
00979   // Look up old result - if any
00980   NaviType result = cache_mgr.find(navi, rhsNavi);
00981 
00982   if (result.isValid())
00983     return cache_mgr.generate(result);
00984 
00985   // Compute new result
00986   init = dd_type(*navi,
00987                   dd_first_multiples_of(cache_mgr, navi.thenBranch(), 
00988                                         rhsNavi, init).diagram(),
00989                   dd_first_multiples_of(cache_mgr, navi.elseBranch(), 
00990                                         rhsNavi, init).diagram() );
00991 
00992   // Insert new result in cache
00993   cache_mgr.insert(navi, rhsNavi, init.navigation());
00994 
00995   return init;
00996 }
00997 
00998 
00999 END_NAMESPACE_PBORI
./usr/share/doc/polybori/c++/pbori__routines__order_8h_source.html0000644000000000000000000020203311742565340024210 0ustar rootroot PolyBoRi: pbori_routines_order.h Source File
PolyBoRi
pbori_routines_order.h
Go to the documentation of this file.
00001 // -*- c++ -*-
00002 //*****************************************************************************
00057 //*****************************************************************************
00058 
00059 // include basic definitions
00060 #include "pbori_defs.h"
00061 #include "pbori_order.h"
00062 #include "pbori_algo.h"
00063 #include "pbori_traits.h"
00064 
00065 #include "CRestrictedIter.h"
00066 
00067 BEGIN_NAMESPACE_PBORI
00068 
00069 
00070 
00071 
00072 template <class FirstIterator, class SecondIterator, class BinaryPredicate>
00073 =ss="keywordflow">return init;
00957 }
00958 
00959 template <class CacheType, class NaviType, class SetType>
00960 SetType
00961 dd_first_multiples_of(const CacheType& cache_mgr,
00962                       NaviType navi, NaviType rhsNavi, SetType init){
00963 
00964   typedef typename SetType::dd_type dd_type;
00965 
00966   if(rhsNavi.isConstant())
00967     if(rhsNavi.terminalValue())
00968       return cache_mgr.generate(navi);
00969     else
00970       return cache_mgr.generate(rhsNavi);
00971 
00972   if (navi.isConstant() || (*navi > *rhsNavi)) 
00973     return cache_mgr.zero();
00974 
00975   if (*navi == *rhsNavi)
00976     return dd_first_multiples_of(cache_mgr, navi.thenBranch(), 
00977                                  rhsNavi.thenBranch(), init).change(*navi);
00978 
00979   // Look up old result - if any
00980   NaviType result = cache_mgr.find(navi, rhsNavi);
00981 
00982   if (result.isValid())
00983     return cache_mgr.generate(result);
00984 
00985   // Compute new result
00986   init = dd_type(*navi,
00987                   dd_first_multiples_of(cache_mgr, navi.thenBranch(), 
00988                                         rhsNavi, init).diagram(),
00989                   dd_first_multiples_of(cache_mgr, navi.elseBranch(), 
00990                                         rhsNavi, init).diagram() );
00991 
00992   // Insert new result in cache
00993   cache_mgr.insert(navi, rhsNavi, init.navigation());
00994 
00995   return init;
00996 }
00997 
00998 
00999 END_NAMESPACE_PBORI
./usr/share/doc/polybori/c++/pbori__routines__order_8h_source.html0000644000000000000000000020203311742565340024210 0ustar rootroot PolyBoRi: pbori_routines_order.h Source File
PolyBoRi
pbori_routines_order.h
Go to the documentation of this file.
00001 // -*- c++ -*-
00002 //*****************************************************************************
00057 //*****************************************************************************
00058 
00059 // include basic definitions
00060 #include "pbori_defs.h"
00061 #include "pbori_order.h"
00062 #include "pbori_algo.h"
00063 #include "pbori_traits.h"
00064 
00065 #include "CRestrictedIter.h"
00066 
00067 BEGIN_NAMESPACE_PBORI
00068 
00069 
00070 
00071 
00072 template <class FirstIterator, class SecondIterator, class BinaryPredicate>
00073 =ss="keywordflow">return init;
00957 }
00958 
00959 template <class CacheType, class NaviType, class SetType>
00960 SetType
00961 dd_first_multiples_of(const CacheType& cache_mgr,
00962                       NaviType navi, NaviType rhsNavi, SetType init){
00963 
00964   typedef typename SetType::dd_type dd_type;
00965 
00966   if(rhsNavi.isConstant())
00967     if(rhsNavi.terminalValue())
00968       return cache_mgr.generate(navi);
00969     else
00970       return cache_mgr.generate(rhsNavi);
00971 
00972   if (navi.isConstant() || (*navi > *rhsNavi)) 
00973     return cache_mgr.zero();
00974 
00975   if (*navi == *rhsNavi)
00976     return dd_first_multiples_of(cache_mgr, navi.thenBranch(), 
00977                                  rhsNavi.thenBranch(), init).change(*navi);
00978 
00979   // Look up old result - if any
00980   NaviType result = cache_mgr.find(navi, rhsNavi);
00981 
00982   if (result.isValid())
00983     return cache_mgr.generate(result);
00984 
00985   // Compute new result
00986   init = dd_type(*navi,
00987                   dd_first_multiples_of(cache_mgr, navi.thenBranch(), 
00988                                         rhsNavi, init).diagram(),
00989                   dd_first_multiples_of(cache_mgr, navi.elseBranch(), 
00990                                         rhsNavi, init).diagram() );
00991 
00992   // Insert new result in cache
00993   cache_mgr.insert(navi, rhsNavi, init.navigation());
00994 
00995   return init;
00996 }
00997 
00998 
00999 END_NAMESPACE_PBORI
./usr/share/doc/polybori/c++/pbori__routines__order_8h_source.html0000644000000000000000000020203311742565340024210 0ustar rootroot PolyBoRi: pbori_routines_order.h Source File
PolyBoRi
pbori_routines_order.h
Go to the documentation of this file.
00001 // -*- c++ -*-
00002 //*****************************************************************************
00057 //*****************************************************************************
00058 
00059 // include basic definitions
00060 #include "pbori_defs.h"
00061 #include "pbori_order.h"
00062 #include "pbori_algo.h"
00063 #include "pbori_traits.h"
00064 
00065 #include "CRestrictedIter.h"
00066 
00067 BEGIN_NAMESPACE_PBORI
00068 
00069 
00070 
00071 
00072 template <class FirstIterator, class SecondIterator, class BinaryPredicate>
00073 =ss="keywordflow">return init;
00957 }
00958 
00959 template <class CacheType, class NaviType, class SetType>
00960 SetType
00961 dd_first_multiples_of(const CacheType& cache_mgr,
00962                       NaviType navi, NaviType rhsNavi, SetType init){
00963 
00964   typedef typename SetType::dd_type dd_type;
00965 
00966   if(rhsNavi.isConstant())
00967     if(rhsNavi.terminalValue())
00968       return cache_mgr.generate(navi);
00969     else
00970       return cache_mgr.generate(rhsNavi);
00971 
00972   if (navi.isConstant() || (*navi > *rhsNavi)) 
00973     return cache_mgr.zero();
00974 
00975   if (*navi == *rhsNavi)
00976     return dd_first_multiples_of(cache_mgr, navi.thenBranch(), 
00977                                  rhsNavi.thenBranch(), init).change(*navi);
00978 
00979   // Look up old result - if any
00980   NaviType result = cache_mgr.find(navi, rhsNavi);
00981 
00982   if (result.isValid())
00983     return cache_mgr.generate(result);
00984 
00985   // Compute new result
00986   init = dd_type(*navi,
00987                   dd_first_multiples_of(cache_mgr, navi.thenBranch(), 
00988                                         rhsNavi, init).diagram(),
00989                   dd_first_multiples_of(cache_mgr, navi.elseBranch(), 
00990                                         rhsNavi, init).diagram() );
00991 
00992   // Insert new result in cache
00993   cache_mgr.insert(navi, rhsNavi, init.navigation());
00994 
00995   return init;
00996 }
00997 
00998 
00999 END_NAMESPACE_PBORI
./usr/share/doc/polybori/c++/pbori__routines__order_8h_source.html0000644000000000000000000020203311742565340024210 0ustar rootroot PolyBoRi: pbori_routines_order.h Source File
PolyBoRi