From 095a5ba9b6e64697315954c9e489aa8ebf1a3aed Mon Sep 17 00:00:00 2001 From: johanknol Date: Tue, 11 Dec 2001 13:33:45 +0000 Subject: [PATCH] a fix from Jesus Calvino-Fraga (jesusc@interchange.ubc.ca) git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@1672 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- device/lib/_fsgt.c | 12 +++++------- device/lib/_fslt.c | 12 +++++------- device/lib/vprintf.c | 11 ----------- 3 files changed, 10 insertions(+), 25 deletions(-) diff --git a/device/lib/_fsgt.c b/device/lib/_fsgt.c index d5a67a0e..2397df7b 100644 --- a/device/lib/_fsgt.c +++ b/device/lib/_fsgt.c @@ -32,13 +32,11 @@ char __fsgt (float a1, float a2) fl1.f = a1; fl2.f = a2; -#if 0 - if (fl1.l<0 && fl2.l<0) - { - fl1.l ^= SIGNBIT; - fl2.l ^= SIGNBIT; - } -#endif + if (fl1.l<0 && fl2.l<0) { + if (fl2.l > fl1.l) + return (1); + return (0); + } if (fl1.l > fl2.l) return (1); diff --git a/device/lib/_fslt.c b/device/lib/_fslt.c index 1661a648..510d6352 100644 --- a/device/lib/_fslt.c +++ b/device/lib/_fslt.c @@ -32,13 +32,11 @@ char __fslt (float a1, float a2) fl1.f = a1; fl2.f = a2; -#if 0 - if (fl1.l<0 && fl2.l<0) - { - fl1.l ^= SIGNBIT; - fl2.l ^= SIGNBIT; - } -#endif + if (fl1.l<0 && fl2.l<0) { + if (fl2.l < fl1.l) + return (1); + return (0); + } if (fl1.l < fl2.l) return (1); diff --git a/device/lib/vprintf.c b/device/lib/vprintf.c index ebecea35..15db1070 100644 --- a/device/lib/vprintf.c +++ b/device/lib/vprintf.c @@ -159,17 +159,6 @@ _endasm; #define DEFAULT_FLOAT_PRECISION 6 -float output_floatE(float f, char decimals) -{ - signed char exp; - char sign = '+'; - - if (f < 0) { f = -f; sign = '-'; } - for (exp = 0; f >= 10.0; exp++) f /=10.0; - for ( ; f < 1.0; exp--) f *=10.0; - printf("%c%d.%d%fe%d\n", sign, decimals+2, decimals, f, exp); -} - static void output_float (float f, unsigned char reqWidth, signed char reqDecimals, bit left, bit zero, bit sign, bit space) -- 2.47.2