[PPL-devel] [GIT] ppl/ppl(floating_point): Added a few details about other floating point formats.

Fabio Bossi bossi at cs.unipr.it
Tue Sep 22 17:05:14 CEST 2009


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

Author: Fabio Bossi <bossi at cs.unipr.it>
Date:   Tue Sep 22 17:08:31 2009 +0200

Added a few details about other floating point formats.

---

 src/Float.defs.hh |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/src/Float.defs.hh b/src/Float.defs.hh
index e743b77..2053a9a 100644
--- a/src/Float.defs.hh
+++ b/src/Float.defs.hh
@@ -41,6 +41,16 @@ namespace Parma_Polyhedra_Library {
 /*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
+struct float_ieee754_half {
+  static const unsigned int EXPONENT_BITS = 5;
+  static const unsigned int MANTISSA_BITS = 10;
+  static const int EXPONENT_BIAS = 15;
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+
 struct float_ieee754_single {
   uint32_t word;
   static const uint32_t SGN_MASK = 0x80000000;
@@ -115,6 +125,26 @@ struct float_ieee754_double {
 /*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
+struct float_IBM_single {
+  static const unsigned int EXPONENT_BITS = 7;
+  static const unsigned int MANTISSA_BITS = 24;
+  static const int EXPONENT_BIAS = 64;
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+
+struct float_IBM_double {
+  static const unsigned int EXPONENT_BITS = 7;
+  static const unsigned int MANTISSA_BITS = 56;
+  static const int EXPONENT_BIAS = 64;
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+
 struct float_intel_double_extended {
 #ifdef PPL_WORDS_BIGENDIAN
   uint32_t msp;




More information about the PPL-devel mailing list