[GIT] ppl/ppl(floating_point): Added class absolute_error.

Module: ppl/ppl Branch: floating_point Commit: 7421b099f14c21bd61400d345201e92022d836aa URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=7421b099f14c2...
Author: Fabio Bossi bossi@cs.unipr.it Date: Wed Jul 21 12:01:17 2010 +0200
Added class absolute_error.
---
src/Float.defs.hh | 59 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 55 insertions(+), 4 deletions(-)
diff --git a/src/Float.defs.hh b/src/Float.defs.hh index fff7b68..d2f2678 100644 --- a/src/Float.defs.hh +++ b/src/Float.defs.hh @@ -364,11 +364,62 @@ template <typename FP_Interval_Type> FP_Interval_Type compute_absolute_error(const Floating_Point_Format analyzed_format);
-// TODO. -/* +template <typename FP_Interval_Type, Floating_Point_Format> +class absolute_error; + +template <typename FP_Interval_Type> +class absolute_error<FP_Interval_Type, IEEE754_HALF> { + static const FP_Interval_Type value; +}; + +template <typename FP_Interval_Type> +const FP_Interval_Type absolute_error<FP_Interval_Type, IEEE754_HALF>::value = + compute_absolute_error<FP_Interval_Type>(IEEE754_HALF); + +template <typename FP_Interval_Type> +class absolute_error<FP_Interval_Type, IEEE754_SINGLE> { + static const FP_Interval_Type value; +}; + +template <typename FP_Interval_Type> +const FP_Interval_Type absolute_error<FP_Interval_Type, IEEE754_SINGLE>::value = + compute_absolute_error<FP_Interval_Type>(IEEE754_SINGLE); + +template <typename FP_Interval_Type> +class absolute_error<FP_Interval_Type, IEEE754_DOUBLE> { + static const FP_Interval_Type value; +}; + +template <typename FP_Interval_Type> +const FP_Interval_Type absolute_error<FP_Interval_Type, IEEE754_DOUBLE>::value = + compute_absolute_error<FP_Interval_Type>(IEEE754_DOUBLE); + +template <typename FP_Interval_Type> +class absolute_error<FP_Interval_Type, IBM_SINGLE> { + static const FP_Interval_Type value; +}; + +template <typename FP_Interval_Type> +const FP_Interval_Type absolute_error<FP_Interval_Type, IBM_SINGLE>::value = + compute_absolute_error<FP_Interval_Type>(IBM_SINGLE); + +template <typename FP_Interval_Type> +class absolute_error<FP_Interval_Type, IEEE754_QUAD> { + static const FP_Interval_Type value; +}; + +template <typename FP_Interval_Type> +const FP_Interval_Type absolute_error<FP_Interval_Type, IEEE754_QUAD>::value = + compute_absolute_error<FP_Interval_Type>(IEEE754_QUAD); + +template <typename FP_Interval_Type> +class absolute_error<FP_Interval_Type, INTEL_DOUBLE_EXTENDED> { + static const FP_Interval_Type value; +}; + template <typename FP_Interval_Type> -FP_Interval_Type absolute_error = compute_absolute_error(); -*/ +const FP_Interval_Type absolute_error<FP_Interval_Type, INTEL_DOUBLE_EXTENDED>::value = + compute_absolute_error<FP_Interval_Type>(INTEL_DOUBLE_EXTENDED);
} // namespace Parma_Polyhedra_Library
participants (1)
-
Fabio Bossi