Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r65813 - in sandbox/itl: boost/itl boost/itl/concept boost/itl/detail boost/itl/type_traits boost/itl_xt boost/validate/driver libs/itl/example/interval_container_ libs/itl/test
From: afojgo_at_[hidden]
Date: 2010-10-07 15:10:03


Author: jofaber
Date: 2010-10-07 15:09:37 EDT (Thu, 07 Oct 2010)
New Revision: 65813
URL: http://svn.boost.org/trac/boost/changeset/65813

Log:
Refactoring: Cleaning up the code, silencing warnings. Stable{msvc-9.0, gcc-3.4.4}
Text files modified:
   sandbox/itl/boost/itl/concept/element_map.hpp | 18 +++++++++++--
   sandbox/itl/boost/itl/concept/interval.hpp | 17 ++++++------
   sandbox/itl/boost/itl/detail/design_config.hpp | 15 -----------
   sandbox/itl/boost/itl/detail/set_algo.hpp | 11 ++++---
   sandbox/itl/boost/itl/interval_base_map.hpp | 2
   sandbox/itl/boost/itl/map.hpp | 8 +++---
   sandbox/itl/boost/itl/type_traits/interval_type_default.hpp | 53 ----------------------------------------
   sandbox/itl/boost/itl/type_traits/is_combinable.hpp | 4 +-
   sandbox/itl/boost/itl/type_traits/is_interval.hpp | 4 +-
   sandbox/itl/boost/itl/type_traits/is_numeric.hpp | 4 +-
   sandbox/itl/boost/itl_xt/itvgentor.hpp | 43 ++++++++++++++++++++++++++++---
   sandbox/itl/boost/validate/driver/map_copy_conformity_driver.hpp | 16 ++++++------
   sandbox/itl/libs/itl/example/interval_container_/interval_container.cpp | 2 -
   sandbox/itl/libs/itl/test/test_icl_discrete_interval.hpp | 13 ++++++---
   sandbox/itl/libs/itl/test/test_icl_interval.hpp | 9 ++++--
   sandbox/itl/libs/itl/test/test_icl_quantifier_shared.hpp | 3 -
   sandbox/itl/libs/itl/test/test_interval_quantifier_shared.hpp | 4 +-
   sandbox/itl/libs/itl/test/test_itl_interval.hpp | 2 -
   sandbox/itl/libs/itl/test/test_itl_map.hpp | 6 ++--
   sandbox/itl/libs/itl/test/test_laws.hpp | 4 +-
   20 files changed, 110 insertions(+), 128 deletions(-)

Modified: sandbox/itl/boost/itl/concept/element_map.hpp
==============================================================================
--- sandbox/itl/boost/itl/concept/element_map.hpp (original)
+++ sandbox/itl/boost/itl/concept/element_map.hpp 2010-10-07 15:09:37 EDT (Thu, 07 Oct 2010)
@@ -159,7 +159,21 @@
 inline typename enable_if<is_element_map<Type>, Type>::type&
 operator -= (Type& object, const typename Type::set_type& operand)
 {
- return Set::erase(object, operand);
+ typedef typename Type::set_type set_type;
+ typedef typename set_type::const_iterator co_iterator;
+ typedef typename Type::iterator iterator;
+
+ co_iterator common_lwb_, common_upb_;
+ if(!Set::common_range(common_lwb_, common_upb_, operand, object))
+ return object;
+
+ co_iterator it_ = common_lwb_;
+ iterator common_;
+
+ while(it_ != common_upb_)
+ object.erase(*it_++);
+
+ return object;
 }
 
 template <class Type>
@@ -402,8 +416,6 @@
     return itl::flip(object, operand);
 }
 
-/** Symmetric subtract map \c x2 and \c *this.
- So \c *this becomes the symmetric difference of \c *this and \c x2 */
 template<class Type>
 inline typename enable_if< mpl::and_< is_element_map<Type>
                                     , mpl::not_<is_total<Type> > >

Modified: sandbox/itl/boost/itl/concept/interval.hpp
==============================================================================
--- sandbox/itl/boost/itl/concept/interval.hpp (original)
+++ sandbox/itl/boost/itl/concept/interval.hpp 2010-10-07 15:09:37 EDT (Thu, 07 Oct 2010)
@@ -126,23 +126,24 @@
 //= Construct<Interval> multon
 //==============================================================================
 template<class Type>
-typename enable_if<is_asymmetric_interval<Type>, Type>::type
+typename enable_if<has_static_bounds<Type>, Type>::type
 construct(const typename interval_traits<Type>::domain_type& low,
- const typename interval_traits<Type>::domain_type& up,
- interval_bounds bounds = interval_bounds::right_open())
+ const typename interval_traits<Type>::domain_type& up )
+//CL interval_bounds bounds = interval_bounds::right_open())
 {
     return interval_traits<Type>::construct(low, up);
 }
 
+/*CL
 template<class Type>
 typename enable_if<has_symmetric_bounds<Type>, Type>::type
 construct(const typename interval_traits<Type>::domain_type& low,
           const typename interval_traits<Type>::domain_type& up,
- interval_bounds bounds = interval_bounds::right_open()) //JODO URG 3rd param for dynamic only
+ interval_bounds bounds = interval_bounds::right_open())
 {
     return interval_traits<Type>::construct(low, up);
 }
-
+*/
 
 template<class Type>
 typename enable_if<has_dynamic_bounds<Type>, Type>::type
@@ -870,7 +871,7 @@
 {
     typedef typename size_type_of<interval_traits<Type> >::type SizeT;
     return itl::is_empty(object) ? neutron<SizeT>::value()
- : last_next(object) - first(object);
+ : static_cast<SizeT>(last_next(object) - first(object));
 }
 
 template<class Type>
@@ -892,7 +893,7 @@
 {
     typedef typename size_type_of<interval_traits<Type> >::type SizeT;
     return itl::is_empty(object) ? neutron<SizeT>::value()
- : last_next(object) - first(object);
+ : static_cast<SizeT>(last_next(object) - first(object));
 }
 
 template<class Type>
@@ -902,7 +903,7 @@
 {
     typedef typename size_type_of<interval_traits<Type> >::type SizeT;
     return itl::is_empty(object) ? neutron<SizeT>::value()
- : last_next(object) - first(object);
+ : static_cast<SizeT>(last_next(object) - first(object));
 }
 
 

Modified: sandbox/itl/boost/itl/detail/design_config.hpp
==============================================================================
--- sandbox/itl/boost/itl/detail/design_config.hpp (original)
+++ sandbox/itl/boost/itl/detail/design_config.hpp 2010-10-07 15:09:37 EDT (Thu, 07 Oct 2010)
@@ -148,21 +148,6 @@
 #endif
 
 //------------------------------------------------------------------------------
-//JODO find proper solution here
-#ifdef ITL_NEW_INTERVAL_IMPL
-# ifdef ITL_USE_STATIC_INTERVAL_BORDER_DEFAULTS
-# define ITL_discrt_INTERVAL_DEF itl::closed_interval
-# define ITL_contin_INTERVAL_DEF itl::rightopen_interval
-# else
-# define ITL_discrt_INTERVAL_DEF itl::discrete_interval
-# define ITL_contin_INTERVAL_DEF itl::continuous_interval
-# endif
-#else
-# define ITL_discrt_INTERVAL_DEF itl::interval
-# define ITL_contin_INTERVAL_DEF itl::interval
-#endif
-
-//------------------------------------------------------------------------------
 #define ITL_ALLOC template<class>class
 
 //------------------------------------------------------------------------------

Modified: sandbox/itl/boost/itl/detail/set_algo.hpp
==============================================================================
--- sandbox/itl/boost/itl/detail/set_algo.hpp (original)
+++ sandbox/itl/boost/itl/detail/set_algo.hpp 2010-10-07 15:09:37 EDT (Thu, 07 Oct 2010)
@@ -63,7 +63,7 @@
     return true;
 }
 
-//JODO needed
+/*CL
 template<class ObjectT, class CoObjectT>
 ObjectT& erase(ObjectT& result, const CoObjectT& x2)
 {
@@ -80,12 +80,12 @@
 
     return result;
 }
-
+*/
 
 /** Function template <tt>contained_in</tt> implements the subset relation.
 <tt>contained_in(sub, super)</tt> is true if <tt>sub</tt> is contained in <tt>super</tt> */
 template<class SetType>
-bool within(const SetType& sub, const SetType& super)
+inline bool within(const SetType& sub, const SetType& super)
 {
     if(&super == &sub) return true;
     if(itl::is_empty(sub)) return true;
@@ -123,6 +123,7 @@
     return false;
 }
 
+/*CL
 template<class SetType>
 inline bool is_disjoint(const SetType& left, const SetType& right)
 {
@@ -140,7 +141,7 @@
             result.erase(insertion.first);
     }
 }
-
+*/
 
 #ifdef BOOST_MSVC
 #pragma warning(push)
@@ -150,7 +151,7 @@
 /** Function template <tt>lexicographical_equal</tt> implements
     lexicographical equality. */
 template<class SetType>
-bool lexicographical_equal(const SetType& left, const SetType& right)
+inline bool lexicographical_equal(const SetType& left, const SetType& right)
 {
     if(&left == &right)
         return true;

Modified: sandbox/itl/boost/itl/interval_base_map.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval_base_map.hpp (original)
+++ sandbox/itl/boost/itl/interval_base_map.hpp 2010-10-07 15:09:37 EDT (Thu, 07 Oct 2010)
@@ -1,5 +1,5 @@
 /*-----------------------------------------------------------------------------+
-Copyright (c) 2007-2009: Joachim Faulhaber
+Copyright (c) 2007-2010: Joachim Faulhaber
 Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin
 +------------------------------------------------------------------------------+
    Distributed under the Boost Software License, Version 1.0.

Modified: sandbox/itl/boost/itl/map.hpp
==============================================================================
--- sandbox/itl/boost/itl/map.hpp (original)
+++ sandbox/itl/boost/itl/map.hpp 2010-10-07 15:09:37 EDT (Thu, 07 Oct 2010)
@@ -444,10 +444,10 @@
 
     template<class Type>
     struct on_codomain_model<Type, true, false>
- { // !codomain_is_set, !absorbs_neutrons
+ { // !codomain_is_set, !absorbs_neutrons
         typedef typename Type::inverse_codomain_intersect inverse_codomain_intersect;
- static void subtract(Type& object, typename Type::iterator it_,
- const typename Type::codomain_type& co_value)
+ static void subtract(Type&, typename Type::iterator it_,
+ const typename Type::codomain_type& co_value)
         {
             inverse_codomain_intersect()(it_->second, co_value);
         }
@@ -455,7 +455,7 @@
 
     template<class Type>
     struct on_codomain_model<Type, true, true>
- { // !codomain_is_set, absorbs_neutrons
+ { // !codomain_is_set, absorbs_neutrons
         typedef typename Type::inverse_codomain_intersect inverse_codomain_intersect;
         static void subtract(Type& object, typename Type::iterator it_,
                                      const typename Type::codomain_type& co_value)

Modified: sandbox/itl/boost/itl/type_traits/interval_type_default.hpp
==============================================================================
--- sandbox/itl/boost/itl/type_traits/interval_type_default.hpp (original)
+++ sandbox/itl/boost/itl/type_traits/interval_type_default.hpp 2010-10-07 15:09:37 EDT (Thu, 07 Oct 2010)
@@ -37,59 +37,6 @@
 #endif
     };
 
-
- //-----------------------------------------------------------------------------
- //-----------------------------------------------------------------------------
-/*JODO
- template<class DomainT, ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, DomainT)>
- struct use_static_interval_borders
- {
- typedef use_static_interval_borders type;
- BOOST_STATIC_CONSTANT(bool, value = false);
-
- }
-
- template <class DomainT, ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, DomainT)
- bool StaticBorders = use_static_interval_borders<DomainT, Compare>,
- bool HasContinuousDomain = is_continuous<DomainT> >
- struct interval_type_default;
-
-
- template <class DomainT, ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, DomainT)
- bool HasContinuousDomain = is_continuous<DomainT> >
- struct interval_type_default<DomainT, Compare, true, HasContinuousDomain>
- {
- typedef rightopen_interval<DomainT,Compare> type;
- };
-
- template <class DomainT, ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, DomainT) >
- struct interval_type_default<DomainT, Compare, false, true>
- {
- typedef continuous_interval<DomainT,Compare> type;
- };
-
- template <class DomainT, ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, DomainT) >
- struct interval_type_default<DomainT, Compare, false, false>
- {
- typedef discrete_interval<DomainT,Compare> type;
- };
-
-
-
-
- template <class DomainT, ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, DomainT)>
- struct interval_type_default
- {
- typedef
- typename mpl::if_< use_static_interval_borders<DomainT>
- , rightopen_interval<DomainT,Compare>
- , typename mpl::if_< is_continuous<DomainT>
- , continuous_interval<DomainT,Compare>
- , discrete_interval<DomainT,Compare> >::type >::type type;
- };
-
-*/
-
 }} // namespace boost itl
 
 #endif

Modified: sandbox/itl/boost/itl/type_traits/is_combinable.hpp
==============================================================================
--- sandbox/itl/boost/itl/type_traits/is_combinable.hpp (original)
+++ sandbox/itl/boost/itl/type_traits/is_combinable.hpp 2010-10-07 15:09:37 EDT (Thu, 07 Oct 2010)
@@ -303,7 +303,7 @@
 };
 
 template<class GuideT, class CompanionT>
-struct is_interval_map_right_intra_combinable //JODO equivalent to is_fragment_type_of
+struct is_interval_map_right_intra_combinable //NOTE equivalent to is_fragment_type_of
 {
     typedef is_interval_map_right_intra_combinable<GuideT, CompanionT> type;
     BOOST_STATIC_CONSTANT(bool, value =
@@ -320,7 +320,7 @@
 };
 
 template<class GuideT, class CompanionT>
-struct is_interval_map_right_cross_combinable //JODO == key_type_of<Comp, Guide>
+struct is_interval_map_right_cross_combinable //NOTE equivalent to key_type_of<Comp, Guide>
 {
     typedef is_interval_map_right_cross_combinable<GuideT, CompanionT> type;
     BOOST_STATIC_CONSTANT(bool, value =

Modified: sandbox/itl/boost/itl/type_traits/is_interval.hpp
==============================================================================
--- sandbox/itl/boost/itl/type_traits/is_interval.hpp (original)
+++ sandbox/itl/boost/itl/type_traits/is_interval.hpp 2010-10-07 15:09:37 EDT (Thu, 07 Oct 2010)
@@ -28,7 +28,7 @@
         value = (interval_bound_type<Type>::value < interval_bounds::undefined));
 };
 
-//JODO separate. Consider introducing interval_trais.
+
 template <class Type> struct has_static_bounds
 {
     typedef has_static_bounds<Type> type;
@@ -36,7 +36,7 @@
         value = (interval_bound_type<Type>::value < interval_bounds::dynamic));
 };
 
-template <class Type> struct has_dynamic_bounds //JODO rearrange for all those predicates.
+template <class Type> struct has_dynamic_bounds
 {
     typedef has_dynamic_bounds<Type> type;
     BOOST_STATIC_CONSTANT(bool,

Modified: sandbox/itl/boost/itl/type_traits/is_numeric.hpp
==============================================================================
--- sandbox/itl/boost/itl/type_traits/is_numeric.hpp (original)
+++ sandbox/itl/boost/itl/type_traits/is_numeric.hpp 2010-10-07 15:09:37 EDT (Thu, 07 Oct 2010)
@@ -28,7 +28,7 @@
 };
 
 //--------------------------------------------------------------------------
-//JODO move
+/*CL
 namespace aux
 {
     template<class Type> struct functions
@@ -36,7 +36,7 @@
         typedef bool (*Type_to_bool)(const Type&);
     };
 };
-
+*/
 template<class Type, bool Enable = false> struct numeric_minimum;
 
 template<class Type>

Modified: sandbox/itl/boost/itl_xt/itvgentor.hpp
==============================================================================
--- sandbox/itl/boost/itl_xt/itvgentor.hpp (original)
+++ sandbox/itl/boost/itl_xt/itvgentor.hpp 2010-10-07 15:09:37 EDT (Thu, 07 Oct 2010)
@@ -1,4 +1,5 @@
 /*-----------------------------------------------------------------------------+
+Copyright (c) 2007-2010: Joachim Faulhaber
 Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin
 +------------------------------------------------------------------------------+
 Boost Software License - Version 1.0 - August 17th, 2003
@@ -61,6 +62,32 @@
 
     interval<ItvDomTV> m_valueRange;
     ItvDomTV m_maxIntervalLength;
+
+private:
+ template<class IntervalT, bool has_static_bounds>
+ struct construct_interval;
+
+ template<class IntervalT>
+ struct construct_interval<IntervalT, true>
+ {
+ typedef typename IntervalT::domain_type domain_type;
+ static IntervalT apply(const domain_type& lo, const domain_type& up,
+ interval_bounds)
+ {
+ return construct<IntervalT>(lo, up);
+ }
+ };
+
+ template<class IntervalT>
+ struct construct_interval<IntervalT, false>
+ {
+ typedef typename IntervalT::domain_type domain_type;
+ static IntervalT apply(const domain_type& lo, const domain_type& up,
+ interval_bounds bounds)
+ {
+ return construct<IntervalT>(lo, up, bounds);
+ }
+ };
 };
 
 
@@ -76,16 +103,22 @@
     if(decideEmpty==0)
     {
         ItvDomTV x2 = m_ItvDomTVGentor(m_valueRange);
- x = construct<ItvTV>(x1, x1-x2, interval_bounds(bndTypes));
+ //CL x = construct<ItvTV>(x1, x1-x2, interval_bounds(bndTypes));
+ x = construct_interval<ItvTV, has_static_bounds<ItvTV>::value>
+ ::apply(x1, x1-x2, interval_bounds(bndTypes));
     }
     else if(upOrDown==0) {
         ItvDomTV up
- = m_ItvDomTVGentor(x1, static_cast<ItvDomTV>(std::min(m_valueRange.upper(), x1+m_maxIntervalLength)));
- x = construct<ItvTV>(x1, up, interval_bounds(bndTypes));
+ = m_ItvDomTVGentor(x1, static_cast<ItvDomTV>((std::min)(m_valueRange.upper(), x1+m_maxIntervalLength)));
+ //CL x = construct<ItvTV>(x1, up, interval_bounds(bndTypes));
+ x = construct_interval<ItvTV, has_static_bounds<ItvTV>::value>
+ ::apply(x1, up, interval_bounds(bndTypes));
     } else {
         ItvDomTV low
- = m_ItvDomTVGentor(static_cast<ItvDomTV>(std::max(m_valueRange.lower(), x1-m_maxIntervalLength)), x1);
- x = construct<ItvTV>(low, x1, interval_bounds(bndTypes));
+ = m_ItvDomTVGentor(static_cast<ItvDomTV>((std::max)(m_valueRange.lower(), x1-m_maxIntervalLength)), x1);
+ //CL x = construct<ItvTV>(low, x1, interval_bounds(bndTypes));
+ x = construct_interval<ItvTV, has_static_bounds<ItvTV>::value>
+ ::apply(low, x1, interval_bounds(bndTypes));
     }
 };
 

Modified: sandbox/itl/boost/validate/driver/map_copy_conformity_driver.hpp
==============================================================================
--- sandbox/itl/boost/validate/driver/map_copy_conformity_driver.hpp (original)
+++ sandbox/itl/boost/validate/driver/map_copy_conformity_driver.hpp 2010-10-07 15:09:37 EDT (Thu, 07 Oct 2010)
@@ -112,20 +112,20 @@
             //-----------------------------------------------------------------
             case RootType::interval_map: {
                 switch(neutronizerChoice) {
- case NeutronHandlerType::partial_absorber: return new function_equality_validater<itl::list<std::pair<ITL_contin_INTERVAL_DEF<double,std::less>,int> >, interval_map<double,int,partial_absorber> >;
- case NeutronHandlerType::partial_enricher: return new function_equality_validater<itl::list<std::pair<ITL_contin_INTERVAL_DEF<double,std::less>,int> >, interval_map<double,int,partial_enricher> >;
- case NeutronHandlerType::total_absorber: return new function_equality_validater<itl::list<std::pair<ITL_discrt_INTERVAL_DEF<int,std::less>, int> >, interval_map<int, int,total_absorber > >;
- case NeutronHandlerType::total_enricher: return new function_equality_validater<itl::list<std::pair<ITL_discrt_INTERVAL_DEF<int,std::less>, int> >, interval_map<int, int,total_enricher > >;
+ case NeutronHandlerType::partial_absorber: return new function_equality_validater<itl::list<std::pair<typename interval_type_default<double,std::less>::type,int> >, interval_map<double,int,partial_absorber> >;
+ case NeutronHandlerType::partial_enricher: return new function_equality_validater<itl::list<std::pair<typename interval_type_default<double,std::less>::type,int> >, interval_map<double,int,partial_enricher> >;
+ case NeutronHandlerType::total_absorber: return new function_equality_validater<itl::list<std::pair<typename interval_type_default<int,std::less>::type, int> >, interval_map<int, int,total_absorber > >;
+ case NeutronHandlerType::total_enricher: return new function_equality_validater<itl::list<std::pair<typename interval_type_default<int,std::less>::type, int> >, interval_map<int, int,total_enricher > >;
                 default: return choiceError(ITL_LOCATION("\nRootType::interval_map: neutronizerChoice:\n"), neutronizerChoice, _neutronizerChoice);
                 }//switch neutronizerChoice
             }//case interval_map
             //-----------------------------------------------------------------
             case RootType::split_interval_map: {
                 switch(neutronizerChoice) {
- case NeutronHandlerType::partial_absorber: return new function_equality_validater<itl::list<std::pair<ITL_contin_INTERVAL_DEF<double,std::less>,int> >, split_interval_map<double,int,partial_absorber> >;
- case NeutronHandlerType::partial_enricher: return new function_equality_validater<itl::list<std::pair<ITL_discrt_INTERVAL_DEF<int,std::less>, int> >, split_interval_map<int, int,partial_enricher> >;
- case NeutronHandlerType::total_absorber: return new function_equality_validater<itl::list<std::pair<ITL_contin_INTERVAL_DEF<double,std::less>,int> >, split_interval_map<double,int,total_absorber > >;
- case NeutronHandlerType::total_enricher: return new function_equality_validater<itl::list<std::pair<ITL_discrt_INTERVAL_DEF<int,std::less>, int> >, split_interval_map<int, int,total_enricher > >;
+ case NeutronHandlerType::partial_absorber: return new function_equality_validater<itl::list<std::pair<typename interval_type_default<double,std::less>::type,int> >, split_interval_map<double,int,partial_absorber> >;
+ case NeutronHandlerType::partial_enricher: return new function_equality_validater<itl::list<std::pair<typename interval_type_default<int,std::less>::type, int> >, split_interval_map<int, int,partial_enricher> >;
+ case NeutronHandlerType::total_absorber: return new function_equality_validater<itl::list<std::pair<typename interval_type_default<double,std::less>::type,int> >, split_interval_map<double,int,total_absorber > >;
+ case NeutronHandlerType::total_enricher: return new function_equality_validater<itl::list<std::pair<typename interval_type_default<int,std::less>::type, int> >, split_interval_map<int, int,total_enricher > >;
                 default: return choiceError(ITL_LOCATION("\nRootType::split_interval_map: neutronizerChoice:\n"), neutronizerChoice, _neutronizerChoice);
                 }//switch neutronizerChoice
             }//case split_interval_map

Modified: sandbox/itl/libs/itl/example/interval_container_/interval_container.cpp
==============================================================================
--- sandbox/itl/libs/itl/example/interval_container_/interval_container.cpp (original)
+++ sandbox/itl/libs/itl/example/interval_container_/interval_container.cpp 2010-10-07 15:09:37 EDT (Thu, 07 Oct 2010)
@@ -23,8 +23,6 @@
 // have static interval borders.
 
 
-#include <boost/itl/interval_bounds.hpp> //JODO static bounded intervals should be independend of interval_bounds
-#include <boost/itl/rightopen_interval.hpp>
 #include <boost/itl/interval_set.hpp>
 #include <boost/itl/separate_interval_set.hpp>
 #include <boost/itl/split_interval_set.hpp>

Modified: sandbox/itl/libs/itl/test/test_icl_discrete_interval.hpp
==============================================================================
--- sandbox/itl/libs/itl/test/test_icl_discrete_interval.hpp (original)
+++ sandbox/itl/libs/itl/test/test_icl_discrete_interval.hpp 2010-10-07 15:09:37 EDT (Thu, 07 Oct 2010)
@@ -1,5 +1,5 @@
 /*-----------------------------------------------------------------------------+
-Copyright (c) 2008-2009: Joachim Faulhaber
+Copyright (c) 2008-2010: Joachim Faulhaber
 +------------------------------------------------------------------------------+
    Distributed under the Boost Software License, Version 1.0.
       (See accompanying file LICENCE.txt or copy at
@@ -12,15 +12,20 @@
 template <class T, class IntervalT>
 void discrete_interval_traits()
 {
- //JODO gcc? BOOST_CHECK_EQUAL(is_interval<IntervalT>::value, true);
- //JODO..
+#ifdef BOOST_MSVC
+ BOOST_CHECK_EQUAL(is_interval<IntervalT>::value, true );
+ BOOST_CHECK_EQUAL(is_discrete_interval<IntervalT>::value, true );
+ BOOST_CHECK_EQUAL(is_discrete<typename IntervalT::domain_type>::value, true );
+ BOOST_CHECK_EQUAL(is_continuous<typename IntervalT::domain_type>::value, false);
+ BOOST_CHECK_EQUAL(has_dynamic_bounds<IntervalT>::value, true );
+ BOOST_CHECK_EQUAL(has_static_bounds<IntervalT>::value, false);
+#endif
 }
 
 template <class T, class IntervalT>
 void discrete_interval_ctor__dis_4_dyn_v_sta() // discrete && (dynamic or static)
 {
     BOOST_CHECK_EQUAL( IntervalT(MK_v(3)), IntervalT(MK_v(3)) );
- //JODO BOOST_CHECK_EQUAL( itl::contains(IntervalT(MK_v(0)), MK_v(0)), true ); nicht für alle (l,u]
     BOOST_CHECK_EQUAL( itl::contains(IntervalT(MK_v(1)), MK_v(1)), true );
 }
 

Modified: sandbox/itl/libs/itl/test/test_icl_interval.hpp
==============================================================================
--- sandbox/itl/libs/itl/test/test_icl_interval.hpp (original)
+++ sandbox/itl/libs/itl/test/test_icl_interval.hpp 2010-10-07 15:09:37 EDT (Thu, 07 Oct 2010)
@@ -57,7 +57,9 @@
     T t_1 = itl::unon<T>::value();
     SizeT s_1 = itl::unon<SizeT>::value();
 
- //JODO gcc BOOST_CHECK_EQUAL( itl::is_singelizable<IntervalT>::value, true );
+#ifdef BOOST_MSVC
+ BOOST_CHECK_EQUAL( is_singelizable<IntervalT>::value, true );
+#endif
 
     BOOST_CHECK_EQUAL( itl::cardinality(itl::singleton<IntervalT>(t_0)), s_1 );
     BOOST_CHECK_EQUAL( itl::size(itl::singleton<IntervalT>(t_0)), s_1 );
@@ -76,12 +78,13 @@
     //T t_0 = itl::neutron<T>::value();
     SizeT s_1 = itl::unon<SizeT>::value();
 
- //JODO gcc BOOST_CHECK_EQUAL( itl::is_singelizable<IntervalT>::value, true );
+#ifdef BOOST_MSVC
+ BOOST_CHECK_EQUAL( is_singelizable<IntervalT>::value, true );
+#endif
 
     BOOST_CHECK_EQUAL( itl::cardinality(IntervalT(MK_v(3))), s_1 );
     BOOST_CHECK_EQUAL( itl::size(IntervalT(MK_v(4))), s_1 );
     BOOST_CHECK_EQUAL( itl::singleton<IntervalT>(MK_v(2)), itl::singleton<IntervalT>(MK_v(2)) );
- //JODO BOOST_CHECK_EQUAL( itl::contains(IntervalT(MK_v(0)), MK_v(0)), true ); nicht für alle (l,u]
     BOOST_CHECK_EQUAL( itl::contains(IntervalT(MK_v(1)), MK_v(1)), true );
 }
 

Modified: sandbox/itl/libs/itl/test/test_icl_quantifier_shared.hpp
==============================================================================
--- sandbox/itl/libs/itl/test/test_icl_quantifier_shared.hpp (original)
+++ sandbox/itl/libs/itl/test/test_icl_quantifier_shared.hpp 2010-10-07 15:09:37 EDT (Thu, 07 Oct 2010)
@@ -25,11 +25,10 @@
                     itl::map<T,U,Trt>& map_c,
                     std::pair<T,U>& map_pair_a,
                     std::pair<T,U>& map_pair_b,
- IntervalMap<T,U,Trt>* aux = 0)
+ IntervalMap<T,U,Trt>*)
 {
     typedef IntervalMap<T,U,Trt> IntervalMapT;
     typedef itl::map<T,U,Trt> MapT;
- aux;
 
     map_pair_a = sK_v(5,1);
     map_pair_b = sK_v(9,1);

Modified: sandbox/itl/libs/itl/test/test_interval_quantifier_shared.hpp
==============================================================================
--- sandbox/itl/libs/itl/test/test_interval_quantifier_shared.hpp (original)
+++ sandbox/itl/libs/itl/test/test_interval_quantifier_shared.hpp 2010-10-07 15:09:37 EDT (Thu, 07 Oct 2010)
@@ -82,7 +82,7 @@
     make_3_itv_maps_and_derivatives_1(map_a, map_b, map_c, val_pair, map_pair);
 
     CHECK_MONOID_INSTANCE_WRT(et) (map_a, map_b, map_c, val_pair, map_pair);
- //JODO so. CHECK_MONOID_INSTANCE_WRT(caret)(map_a, map_b, map_c, val_pair, map_pair);
+ CHECK_MONOID_INSTANCE_WRT(caret)(map_a, map_b, map_c, val_pair, map_pair);
 }
 
 //------------------------------------------------------------------------------
@@ -131,7 +131,7 @@
     make_3_itv_maps_and_derivatives_1(map_a, map_b, map_c, val_pair, map_pair);
 
     CHECK_ABELIAN_MONOID_INSTANCE_WRT(et) (map_a, map_b, map_c, val_pair, map_pair);
- //JODO CHECK_ABELIAN_MONOID_INSTANCE_WRT(caret)(map_a, map_b, map_c, val_pair, map_pair); //valid 4 set codom only
+ CHECK_ABELIAN_MONOID_INSTANCE_WRT(caret)(map_a, map_b, map_c, val_pair, map_pair);
 }
 
 

Modified: sandbox/itl/libs/itl/test/test_itl_interval.hpp
==============================================================================
--- sandbox/itl/libs/itl/test/test_itl_interval.hpp (original)
+++ sandbox/itl/libs/itl/test/test_itl_interval.hpp 2010-10-07 15:09:37 EDT (Thu, 07 Oct 2010)
@@ -30,8 +30,6 @@
 
     BOOST_CHECK_EQUAL(IntervalT(), IntervalT());
     BOOST_CHECK_EQUAL(IntervalT(), IntervalT(lower_bound, itl::neutron<T>::value()));
-
- //BOOST_CHECK_EQUAL(IntervalT(), IntervalT(itl::unon<T>::value(), itl::neutron<T>::value(), closed_bounded));
 }
 
 /*JODO

Modified: sandbox/itl/libs/itl/test/test_itl_map.hpp
==============================================================================
--- sandbox/itl/libs/itl/test/test_itl_map.hpp (original)
+++ sandbox/itl/libs/itl/test/test_itl_map.hpp 2010-10-07 15:09:37 EDT (Thu, 07 Oct 2010)
@@ -125,9 +125,9 @@
     BOOST_CHECK_EQUAL( inclusion_compare(map_a, map_c), inclusion::unrelated );
 
     SetT set_sub_a, set_a, set_a2, set_b, set_c;
- map_a.domain(set_a);
- map_a2.domain(set_a2);
- map_sub_a.domain(set_sub_a);
+ itl::domain(set_a, map_a);
+ itl::domain(set_a2, map_a2);
+ itl::domain(set_sub_a, map_sub_a);
 
     BOOST_CHECK_EQUAL( inclusion_compare(MapT(), SetT()), inclusion::equal );
     BOOST_CHECK_EQUAL( inclusion_compare(SetT(), MapT()), inclusion::equal );

Modified: sandbox/itl/libs/itl/test/test_laws.hpp
==============================================================================
--- sandbox/itl/libs/itl/test/test_laws.hpp (original)
+++ sandbox/itl/libs/itl/test/test_laws.hpp 2010-10-07 15:09:37 EDT (Thu, 07 Oct 2010)
@@ -62,8 +62,8 @@
 DEFINE_ASSOCIATIVITY_CHECK_WRT_EQUAL(pipe, | );
 DEFINE_ASSOCIATIVITY_CHECK_WRT (et, & );
 DEFINE_ASSOCIATIVITY_CHECK_WRT_EQUAL(et, & );
-DEFINE_ASSOCIATIVITY_CHECK_WRT (caret, ^ ); //JODO only, if codomain_type has set semantics
-DEFINE_ASSOCIATIVITY_CHECK_WRT_EQUAL(caret, ^ ); //JODO
+DEFINE_ASSOCIATIVITY_CHECK_WRT (caret, ^ );
+DEFINE_ASSOCIATIVITY_CHECK_WRT_EQUAL(caret, ^ );
 
 
 //------------------------------------------------------------------------------


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk