From bafb0a76ee2a0aee585f869eba21609797e74a2d Mon Sep 17 00:00:00 2001 From: Marty Kraimer Date: Thu, 7 Mar 2002 17:04:13 +0000 Subject: [PATCH] changes for double to float --- src/db/dbConvert.c | 4 +++- src/db/dbFastLinkConv.c | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/db/dbConvert.c b/src/db/dbConvert.c index 9c16aba04..eb990ec06 100644 --- a/src/db/dbConvert.c +++ b/src/db/dbConvert.c @@ -38,7 +38,9 @@ of this distribution. static void safeDoubleToFloat(double *pd,float *pf) { double abs = fabs(*pd); - if(abs>=FLT_MAX) { + if(*pd==0.0) { + *pf = 0.0; + } else if(abs>=FLT_MAX) { if(*pd>0.0) *pf = FLT_MAX; else *pf = -FLT_MAX; } else if(abs<=FLT_MIN) { if(*pd>0.0) *pf = FLT_MIN; else *pf = -FLT_MIN; diff --git a/src/db/dbFastLinkConv.c b/src/db/dbFastLinkConv.c index 3e25056f1..ffefee6f5 100644 --- a/src/db/dbFastLinkConv.c +++ b/src/db/dbFastLinkConv.c @@ -936,7 +936,9 @@ static long cvt_d_f( struct dbAddr *paddr) { double abs = fabs(*from); - if(abs>=FLT_MAX) { + if(*from==0.0) { + *to = 0.0; + } else if(abs>=FLT_MAX) { if(*from>0.0) *to = FLT_MAX; else *to = -FLT_MAX; } else if(abs<=FLT_MIN) { if(*from>0.0) *to = FLT_MIN; else *to = -FLT_MIN;