00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef PPL_Coefficient_types_hh
00013 #define PPL_Coefficient_types_hh 1
00014
00015 #include "Checked_Number.defs.hh"
00016
00017 #if defined(CHECKED_INTEGERS) || defined(NATIVE_INTEGERS)
00018
00019 namespace Parma_Polyhedra_Library {
00020
00021 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
00023
00024 #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
00025 template <typename Policy>
00026 struct Coefficient_traits_template<Checked_Number<int8_t, Policy> > {
00028 typedef Checked_Number<int8_t, Policy> const_reference;
00029 };
00030
00031 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
00033
00034 #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
00035 template <typename Policy>
00036 struct Coefficient_traits_template<Checked_Number<int16_t, Policy> > {
00038 typedef Checked_Number<int16_t, Policy> const_reference;
00039 };
00040
00041 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
00043
00044 #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
00045 template <typename Policy>
00046 struct Coefficient_traits_template<Checked_Number<int32_t, Policy> > {
00048 typedef Checked_Number<int32_t, Policy> const_reference;
00049 };
00050
00051 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
00053
00054 #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
00055 template <typename Policy>
00056 struct Coefficient_traits_template<Checked_Number<int64_t, Policy> > {
00058 typedef const Checked_Number<int64_t, Policy>& const_reference;
00059 };
00060
00061 }
00062
00063 #endif // defined(CHECKED_INTEGERS) || defined(NATIVE_INTEGERS)
00064
00065 #ifdef GMP_INTEGERS
00066 #include "GMP_Integer.types.hh"
00067 #endif
00068
00069 namespace Parma_Polyhedra_Library {
00070
00072
00089 typedef COEFFICIENT_TYPE Coefficient;
00090
00091 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
00093
00094 #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
00095 typedef Coefficient_traits_template<Coefficient> Coefficient_traits;
00096
00097 }
00098
00099 #endif // !defined(PPL_Coefficient_types_hh)