00001 // This is core/vnl/vnl_decnum_traits.h 00002 #ifndef vnl_decnum_traits_h_ 00003 #define vnl_decnum_traits_h_ 00004 //: 00005 // \file 00006 // \brief numeric traits for vnl_decnum 00007 00008 #include <vnl/vnl_decnum.h> 00009 #include <vnl/vnl_numeric_traits.h> 00010 00011 VCL_DEFINE_SPECIALIZATION 00012 class vnl_numeric_traits<vnl_decnum> 00013 { 00014 public: 00015 //: Additive identity 00016 static const vnl_decnum zero; // = 0L 00017 //: Multiplicative identity 00018 static const vnl_decnum one; // = 1L 00019 //: Maximum value which this type can assume 00020 static const vnl_decnum maxval; // = infinity 00021 //: Return value of abs() 00022 typedef vnl_decnum abs_t; 00023 //: Name of a type twice as long as this one for accumulators and products. 00024 typedef vnl_decnum double_t; 00025 //: Name of type which results from multiplying this type with a double 00026 typedef vnl_decnum real_t; 00027 }; 00028 00029 #endif // vnl_decnum_traits_h_