From bc86b3bde0ceecb1c9ccb8d8acdf6c5102341b95 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net>
Date: Sun, 19 Oct 1997 15:13:33 -0700
Subject: [PATCH] encode_value now works on negative floats

Rev: src/encode.c:1.14
Rev: src/testsuite.in:1.60
---
 src/encode.c     | 14 +-------------
 src/testsuite.in |  3 ++-
 2 files changed, 3 insertions(+), 14 deletions(-)

diff --git a/src/encode.c b/src/encode.c
index 760008fd33..dac9decf52 100644
--- a/src/encode.c
+++ b/src/encode.c
@@ -28,25 +28,13 @@
 
 #include <math.h>
 
-#ifdef HAVE_FREXP
-#define FREXP frexp
-#else
-double frexp(double x, int *exp)
-{
-  double ret;
-  *exp=(int)ceil(log(x)/log(2.0));
-  ret=(x*pow(2.0,(float)-*exp));
-  return ret;
-}
-#endif
-
 #ifdef HAVE_FREXP
 #define FREXP frexp
 #else
 double FREXP(double x, int *exp)
 {
   double ret;
-  *exp=(int)ceil(log(x)/log(2.0));
+  *exp=(int)ceil(log(fabs(x))/log(2.0));
   ret=(x*pow(2.0,(float)-*exp));
   return ret;
 }
diff --git a/src/testsuite.in b/src/testsuite.in
index 5f71a4e32c..97ca99ca3e 100644
--- a/src/testsuite.in
+++ b/src/testsuite.in
@@ -1,4 +1,4 @@
-test_true([["$Id: testsuite.in,v 1.59 1997/10/10 20:22:02 hubbe Exp $"]])
+test_true([["$Id: testsuite.in,v 1.60 1997/10/19 22:13:33 hubbe Exp $"]])
 test_eq(1e1,10.0)
 test_eq(1E1,10.0)
 test_eq(1e+1,10.0)
@@ -47,6 +47,7 @@ test_encode(0)
 test_encode("")
 test_encode(0.0)
 test_encode(1.0)
+test_encode(-1.0)
 test_encode(12.0)
 test_encode(100000.0)
 test_encode(3.14159265)
-- 
GitLab