[PPL-devel] [GIT] ppl/ppl(floating_point): Added two simple tests.

Fabio Bossi bossi at cs.unipr.it
Mon Sep 7 14:22:43 CEST 2009


Module: ppl/ppl
Branch: floating_point
Commit: fc9e7a5ea189bb3ebb98d3baa4d470f69b339ee4
URL:    http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=fc9e7a5ea189bb3ebb98d3baa4d470f69b339ee4

Author: Fabio Bossi <bossi at cs.unipr.it>
Date:   Mon Sep  7 10:53:07 2009 +0200

Added two simple tests.

---

 .../floatingpointexpr1.cc                          |   75 ++++++++++++++++----
 1 files changed, 60 insertions(+), 15 deletions(-)

diff --git a/tests/Floating_Point_Expression/floatingpointexpr1.cc b/tests/Floating_Point_Expression/floatingpointexpr1.cc
index 9f635c8..6ac6f5a 100644
--- a/tests/Floating_Point_Expression/floatingpointexpr1.cc
+++ b/tests/Floating_Point_Expression/floatingpointexpr1.cc
@@ -22,21 +22,42 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 #include "ppl_test.hh"
 
-typedef Linear_Form<fl_r_oc> Interval_Linear_Form;
-typedef Division_Floating_Point_Expression<fl_r_oc, IEEE754_Single> div_fpes;
-typedef Division_Floating_Point_Expression<fl_r_oc, IEEE754_Double> div_fped;
-typedef Difference_Floating_Point_Expression<fl_r_oc, IEEE754_Single> dif_fpes;
-typedef Difference_Floating_Point_Expression<fl_r_oc, IEEE754_Double> dif_fped;
-typedef Multiplication_Floating_Point_Expression<fl_r_oc, IEEE754_Single> mul_fpes;
-typedef Multiplication_Floating_Point_Expression<fl_r_oc, IEEE754_Double> mul_fped;
-typedef Sum_Floating_Point_Expression<fl_r_oc, IEEE754_Single> sum_fpes;
-typedef Sum_Floating_Point_Expression<fl_r_oc, IEEE754_Double> sum_fped;
-typedef Constant_Floating_Point_Expression<fl_r_oc, IEEE754_Single> con_fpes;
-typedef Constant_Floating_Point_Expression<fl_r_oc, IEEE754_Double> con_fped;
-typedef Variable_Floating_Point_Expression<fl_r_oc, IEEE754_Single> var_fpes;
-typedef Variable_Floating_Point_Expression<fl_r_oc, IEEE754_Double> var_fped;
-typedef Opposite_Floating_Point_Expression<fl_r_oc, IEEE754_Single> opp_fpes;
-typedef Opposite_Floating_Point_Expression<fl_r_oc, IEEE754_Double> opp_fped;
+typedef Linear_Form<fl_r_oc> Float_Interval_Linear_Form;
+typedef Linear_Form<db_r_oc> Double_Interval_Linear_Form;
+
+typedef Division_Floating_Point_Expression<fl_r_oc, IEEE754_Single> div_fpess;
+typedef Division_Floating_Point_Expression<fl_r_oc, IEEE754_Double> div_fpesd;
+typedef Difference_Floating_Point_Expression<fl_r_oc, IEEE754_Single> dif_fpess;
+typedef Difference_Floating_Point_Expression<fl_r_oc, IEEE754_Double> dif_fpesd;
+typedef Multiplication_Floating_Point_Expression<fl_r_oc, IEEE754_Single>
+mul_fpess;
+typedef Multiplication_Floating_Point_Expression<fl_r_oc, IEEE754_Double>
+mul_fpesd;
+typedef Sum_Floating_Point_Expression<fl_r_oc, IEEE754_Single> sum_fpess;
+typedef Sum_Floating_Point_Expression<fl_r_oc, IEEE754_Double> sum_fpesd;
+typedef Constant_Floating_Point_Expression<fl_r_oc, IEEE754_Single> con_fpess;
+typedef Constant_Floating_Point_Expression<fl_r_oc, IEEE754_Double> con_fpesd;
+typedef Variable_Floating_Point_Expression<fl_r_oc, IEEE754_Single> var_fpess;
+typedef Variable_Floating_Point_Expression<fl_r_oc, IEEE754_Double> var_fpesd;
+typedef Opposite_Floating_Point_Expression<fl_r_oc, IEEE754_Single> opp_fpess;
+typedef Opposite_Floating_Point_Expression<fl_r_oc, IEEE754_Double> opp_fpesd;
+
+typedef Division_Floating_Point_Expression<db_r_oc, IEEE754_Single> div_fpeds;
+typedef Division_Floating_Point_Expression<db_r_oc, IEEE754_Double> div_fpedd;
+typedef Difference_Floating_Point_Expression<db_r_oc, IEEE754_Single> dif_fpeds;
+typedef Difference_Floating_Point_Expression<db_r_oc, IEEE754_Double> dif_fpedd;
+typedef Multiplication_Floating_Point_Expression<db_r_oc, IEEE754_Single>
+mul_fpeds;
+typedef Multiplication_Floating_Point_Expression<db_r_oc, IEEE754_Double>
+mul_fpedd;
+typedef Sum_Floating_Point_Expression<db_r_oc, IEEE754_Single> sum_fpeds;
+typedef Sum_Floating_Point_Expression<db_r_oc, IEEE754_Double> sum_fpedd;
+typedef Constant_Floating_Point_Expression<db_r_oc, IEEE754_Single> con_fpeds;
+typedef Constant_Floating_Point_Expression<db_r_oc, IEEE754_Double> con_fpedd;
+typedef Variable_Floating_Point_Expression<db_r_oc, IEEE754_Single> var_fpeds;
+typedef Variable_Floating_Point_Expression<db_r_oc, IEEE754_Double> var_fpedd;
+typedef Opposite_Floating_Point_Expression<db_r_oc, IEEE754_Single> opp_fpeds;
+typedef Opposite_Floating_Point_Expression<db_r_oc, IEEE754_Double> opp_fpedd;
 
 namespace {
 
@@ -44,11 +65,34 @@ using namespace Parma_Polyhedra_Library::IO_Operators;
 
 bool
 test01() {
+  nout << std::numeric_limits<float>::denorm_min() << endl;
+  nout << div_fpess::absolute_error << endl;
+  nout << div_fpesd::absolute_error << endl;
+  nout << div_fpeds::absolute_error << endl;
+  if (div_fpess::absolute_error != std::numeric_limits<float>::denorm_min())
+    return false;
+
+  if (div_fpesd::absolute_error != std::numeric_limits<float>::denorm_min())
+    return false;
+
+  if (div_fpeds::absolute_error != std::numeric_limits<float>::denorm_min())
+    return false;
+
   return true;
 }
 
 bool
 test02() {
+  nout << std::numeric_limits<double>::denorm_min() << endl;
+  nout << div_fpedd::absolute_error << endl;
+  if (div_fpedd::absolute_error != std::numeric_limits<double>::denorm_min())
+    return false;
+
+  return true;
+}
+
+bool
+test03() {
   return true;
 }
 
@@ -57,4 +101,5 @@ test02() {
 BEGIN_MAIN
   DO_TEST(test01);
   DO_TEST(test02);
+  DO_TEST(test03);
 END_MAIN




More information about the PPL-devel mailing list