00001 #ifndef SYNAPS_NUMERICS_DOUBLE_TRAITS_H 00002 #define SYNAPS_NUMERICS_DOUBLE_TRAITS_H 00003 00004 #include <synaps/init.h> 00005 #include <synaps/base/type.h> 00006 #include <synaps/arithm/gmp.h> 00007 #include <synaps/arithm/rounding.h> 00008 #include <synaps/arithm/Interval.h> 00009 __BEGIN_NAMESPACE_SYNAPS 00010 00011 namespace let 00012 { 00013 00014 inline 00015 double 00016 to_XT(double a) 00017 { return to_double(a); } 00018 00019 inline double numerator(const double& a) { return a; } 00020 inline double denominator(const double& a) { return 1.0; } 00021 00022 }; 00023 00024 __END_NAMESPACE_SYNAPS 00025 00026 00027 #endif // SYNAPS_NUMERICS_DOUBLE_TRAITS_H 00028 00029