changes for double to float

This commit is contained in:
Marty Kraimer
2002-03-07 17:04:13 +00:00
parent 2bf7778ab6
commit bafb0a76ee
2 changed files with 6 additions and 2 deletions

View File

@@ -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;

View File

@@ -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;