fix another corner case involving infinity
This commit is contained in:
parent
b9a1c9a06c
commit
ad2b5c67c8
|
@ -278,7 +278,9 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da_r, FLOAT da_i,
|
||||||
temp0 = NAN;
|
temp0 = NAN;
|
||||||
else
|
else
|
||||||
temp0 = -da_i * x[i+1];
|
temp0 = -da_i * x[i+1];
|
||||||
x[i+1] = da_i * x[i];
|
if (!isinf(x[i+1]))
|
||||||
|
x[i+1] = da_i * x[i];
|
||||||
|
else x[i+1] = NAN;
|
||||||
x[i] = temp0;
|
x[i] = temp0;
|
||||||
i += inc_x ;
|
i += inc_x ;
|
||||||
j++;
|
j++;
|
||||||
|
@ -412,7 +414,9 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da_r, FLOAT da_i,
|
||||||
temp0 = -da_i * x[i+1];
|
temp0 = -da_i * x[i+1];
|
||||||
if (isinf(x[i]))
|
if (isinf(x[i]))
|
||||||
temp0 = NAN;
|
temp0 = NAN;
|
||||||
x[i+1] = da_i * x[i];
|
if (!isinf(x[i+1]))
|
||||||
|
x[i+1] = da_i * x[i];
|
||||||
|
else x[i+1] = NAN;
|
||||||
if ( x[i] == x[i]) //preserve NaN
|
if ( x[i] == x[i]) //preserve NaN
|
||||||
x[i] = temp0;
|
x[i] = temp0;
|
||||||
i += 2 ;
|
i += 2 ;
|
||||||
|
|
Loading…
Reference in New Issue