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.