double 0 to float conversion was incorrect
This commit is contained in:
@@ -53,7 +53,9 @@
|
||||
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;
|
||||
|
||||
@@ -941,7 +941,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;
|
||||
|
||||
Reference in New Issue
Block a user