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