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