|
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