[PPL-devel] [GIT] ppl/ppl(floating_point): Added class absolute_error.
Fabio Bossi
bossi at cs.unipr.it
Wed Jul 21 12:02:00 CEST 2010
Module: ppl/ppl
Branch: floating_point
Commit: 7421b099f14c21bd61400d345201e92022d836aa
URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=7421b099f14c21bd61400d345201e92022d836aa
Author: Fabio Bossi <bossi at 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
More information about the PPL-devel
mailing list