Handle corner cases with INF and NAN arguments

This commit is contained in:
Martin Kroeker 2024-06-07 09:39:08 +02:00 committed by GitHub
parent 2bd43ad0eb
commit 5ed4f24d6e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 6 additions and 1 deletions

View File

@ -35,7 +35,12 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da, FLOAT *x, BLAS
{ {
if ( da == 0.0 ) if ( da == 0.0 )
x[i]=0.0; if (isnan(x[i])||isinf(x[i]))
x[i]=NAN;
else
x[i]=0.0;
else if (isnan(da))
x[i]=NAN;
else else
x[i] = da * x[i] ; x[i] = da * x[i] ;