• Main Page
  • Related Pages
  • Modules
  • Namespaces
  • Classes
  • Files
  • Examples
  • File List
  • File Members

/home/hauberg/Dokumenter/Capture/humim-tracker-0.1/src/OpenTissue/OpenTissue/core/math/interval/interval_boost_interval_type_traits.h

Go to the documentation of this file.
00001 #ifndef OPENTISSUE_CORE_MATH_INTERVAL_BOOST_INTERVAL_TYPE_TRAITS_H
00002 #define OPENTISSUE_CORE_MATH_INTERVAL_BOOST_INTERVAL_TYPE_TRAITS_H
00003 //
00004 // OpenTissue Template Library
00005 // - A generic toolbox for physics-based modeling and simulation.
00006 // Copyright (C) 2008 Department of Computer Science, University of Copenhagen.
00007 //
00008 // OTTL is licensed under zlib: http://opensource.org/licenses/zlib-license.php
00009 //
00010 #include <OpenTissue/configuration.h>
00011 
00012 #include <OpenTissue/core/math/interval/io/boost_interval_io.h>
00013 #include <OpenTissue/core/math/interval/interval_vector.h>
00014 #include <OpenTissue/core/math/interval/interval_matrix.h>
00015 
00016 #include <boost/numeric/interval.hpp>
00017 
00018 namespace OpenTissue
00019 {
00020   namespace math
00021   {
00022     namespace interval
00023     {
00024 
00094       template<typename T>
00095       class BoostIntervalTypeTraits
00096       {
00097       protected:
00098 
00099         template<typename T2>
00100         struct raw_checking : public boost::numeric::interval_lib::checking_base<T2>
00101         {
00102           static bool is_nan(const T2&) { return false; }
00103           static bool is_empty(const T2&, const T2&){ return false; }
00104         };
00105 
00106         typedef raw_checking<T> checking_type;
00107         typedef boost::numeric::interval_lib::save_state_nothing< boost::numeric::interval_lib::rounded_arith_exact<T> > rounding_type;
00108         typedef boost::numeric::interval_lib::policies< rounding_type, checking_type > policy_type;
00109 
00110       public:
00111 
00112         typedef boost::numeric::interval<T >                   default_interval_type;
00113         typedef boost::numeric::interval<T, policy_type >      interval_type;          
00114 
00115       };
00116 
00117 
00118     } // namespace interval
00119   } // namespace math
00120 } // namespace OpenTissue
00121 
00122 // OPENTISSUE_CORE_MATH_INTERVAL_BOOST_INTERVAL_TYPE_TRAITS_H
00123 #endif 

Generated on Thu Dec 1 2011 12:52:05 for HUMIM Tracker by  doxygen 1.7.1