You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by ma...@apache.org on 2011/08/06 03:41:13 UTC

[lucy-commits] svn commit: r1154422 - in /incubator/lucy/trunk/charmonizer/src/Charmonizer/Probe: Floats.c Floats.h

Author: marvin
Date: Sat Aug  6 01:41:12 2011
New Revision: 1154422

URL: http://svn.apache.org/viewvc?rev=1154422&view=rev
Log:
Add Charmonizer macros for 64-bit representations of NaN, Infinity, and
-Infinity.

Modified:
    incubator/lucy/trunk/charmonizer/src/Charmonizer/Probe/Floats.c
    incubator/lucy/trunk/charmonizer/src/Charmonizer/Probe/Floats.h

Modified: incubator/lucy/trunk/charmonizer/src/Charmonizer/Probe/Floats.c
URL: http://svn.apache.org/viewvc/incubator/lucy/trunk/charmonizer/src/Charmonizer/Probe/Floats.c?rev=1154422&r1=1154421&r2=1154422&view=diff
==============================================================================
--- incubator/lucy/trunk/charmonizer/src/Charmonizer/Probe/Floats.c (original)
+++ incubator/lucy/trunk/charmonizer/src/Charmonizer/Probe/Floats.c Sat Aug  6 01:41:12 2011
@@ -30,12 +30,19 @@ Floats_run(void) {
 
     ConfWriter_append_conf(
         "typedef union { uint32_t i; float f; } chy_floatu32;\n"
+        "typedef union { uint64_t i; double d; } chy_floatu64;\n"
         "static const chy_floatu32 chy_f32inf    = {CHY_U32_C(0x7f800000)};\n"
         "static const chy_floatu32 chy_f32neginf = {CHY_U32_C(0xff800000)};\n"
         "static const chy_floatu32 chy_f32nan    = {CHY_U32_C(0x7fc00000)};\n"
+        "static const chy_floatu64 chy_f64inf    = {CHY_U64_C(0x7ff0000000000000)};\n"
+        "static const chy_floatu64 chy_f64neginf = {CHY_U64_C(0xfff0000000000000)};\n"
+        "static const chy_floatu64 chy_f64nan    = {CHY_U64_C(0x7ff8000000000000)};\n"
         "#define CHY_F32_INF (chy_f32inf.f)\n"
         "#define CHY_F32_NEGINF (chy_f32neginf.f)\n"
         "#define CHY_F32_NAN (chy_f32nan.f)\n"
+        "#define CHY_F64_INF (chy_f64inf.d)\n"
+        "#define CHY_F64_NEGINF (chy_f64neginf.d)\n"
+        "#define CHY_F64_NAN (chy_f64nan.d)\n"
     );
 
     /* Shorten. */
@@ -43,6 +50,9 @@ Floats_run(void) {
     ConfWriter_shorten_macro("F32_INF");
     ConfWriter_shorten_macro("F32_NEGINF");
     ConfWriter_shorten_macro("F32_NAN");
+    ConfWriter_shorten_macro("F64_INF");
+    ConfWriter_shorten_macro("F64_NEGINF");
+    ConfWriter_shorten_macro("F64_NAN");
     ConfWriter_end_short_names();
 
     ConfWriter_end_module();

Modified: incubator/lucy/trunk/charmonizer/src/Charmonizer/Probe/Floats.h
URL: http://svn.apache.org/viewvc/incubator/lucy/trunk/charmonizer/src/Charmonizer/Probe/Floats.h?rev=1154422&r1=1154421&r2=1154422&view=diff
==============================================================================
--- incubator/lucy/trunk/charmonizer/src/Charmonizer/Probe/Floats.h (original)
+++ incubator/lucy/trunk/charmonizer/src/Charmonizer/Probe/Floats.h Sat Aug  6 01:41:12 2011
@@ -22,6 +22,9 @@
  * F32_NAN
  * F32_INF
  * F32_NEGINF
+ * F64_NAN
+ * F64_INF
+ * F64_NEGINF
  *
  * TODO: Actually test to see whether IEEE 754 is supported, rather than just
  * lying about it.