Go to the documentation of this file.00001 #ifndef OPENTISSUE_CORE_MATH_MATH_VALUE_TRAITS_H
00002 #define OPENTISSUE_CORE_MATH_MATH_VALUE_TRAITS_H
00003
00004
00005
00006
00007
00008
00009
00010 #include <OpenTissue/configuration.h>
00011
00012 #include <OpenTissue/core/math/math_constants.h>
00013
00014
00015 namespace OpenTissue
00016 {
00017
00018 namespace math
00019 {
00020
00021 template <typename T>
00022 class ValueTraits
00023 {
00024 public:
00025
00026 static T zero() { return detail::zero<T>(); }
00027 static T one() { return detail::one<T>(); }
00028 static T two() { return detail::two<T>(); }
00029 static T three() { return detail::three<T>(); }
00030 static T four() { return detail::four<T>(); }
00031 static T eight() { return detail::eight<T>(); }
00032 static T infinity() { return detail::infinity<T>(); }
00033 static T half() { return detail::half<T>(); }
00034 static T pi() { return detail::pi<T>(); }
00035 static T pi_2() { return detail::pi_half<T>(); }
00036 static T pi_half() { return detail::pi_half<T>(); }
00037 static T pi_quarter(){ return detail::pi_quarter<T>();}
00038 static T pi_4() { return detail::pi_quarter<T>();}
00039 static T degree() { return detail::degree<T>(); }
00040 static T radian() { return detail::radian<T>(); }
00041
00042 };
00043
00044 }
00045
00046 }
00047
00048
00049 #endif