safeDoubleToFloat: handle 0.0 as special case

This commit is contained in:
Marty Kraimer
2004-04-05 12:36:34 +00:00
parent 64d9557d17
commit 265597698e
+3 -1
View File
@@ -466,7 +466,9 @@ struct dbr_ctrl_double{
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;