fix other corner cases where x=INF
This commit is contained in:
parent
516743f7dc
commit
8c05765a5a
|
@ -48,7 +48,9 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da_r,FLOAT da_i, F
|
|||
{
|
||||
temp = - da_i * x[ip+1] ;
|
||||
if (isnan(x[ip]) || isinf(x[ip])) temp = NAN;
|
||||
x[ip+1] = da_i * x[ip] ;
|
||||
if (!isinf(x[ip+1]))
|
||||
x[ip+1] = da_i * x[ip] ;
|
||||
else x[ip+1] = NAN;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -56,12 +58,16 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da_r,FLOAT da_i, F
|
|||
if ( da_i == 0.0 )
|
||||
{
|
||||
temp = da_r * x[ip] ;
|
||||
x[ip+1] = da_r * x[ip+1];
|
||||
if (!isinf(x[ip+1]))
|
||||
x[ip+1] = da_r * x[ip+1];
|
||||
else x[ip+1] = NAN;
|
||||
}
|
||||
else
|
||||
{
|
||||
temp = da_r * x[ip] - da_i * x[ip+1] ;
|
||||
x[ip+1] = da_r * x[ip+1] + da_i * x[ip] ;
|
||||
if (!isinf(x[ip+1]))
|
||||
x[ip+1] = da_r * x[ip+1] + da_i * x[ip] ;
|
||||
else x[ip+1] = NAN;
|
||||
}
|
||||
}
|
||||
if ( da_r != da_r )
|
||||
|
|
Loading…
Reference in New Issue