Skip to content

Commit c1019d5

Browse files
authored
Handle INF and NAN in inputs
1 parent 9e24121 commit c1019d5

File tree

3 files changed

+8
-5
lines changed

3 files changed

+8
-5
lines changed

kernel/riscv64/scal.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,10 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da, FLOAT *x, BLAS
4848
{
4949

5050
if ( da == 0.0 )
51-
x[i]=0.0;
51+
if (isfinite(x[i]))
52+
x[i]=0.0;
53+
else
54+
x[i]=NAN;
5255
else
5356
x[i] = da * x[i] ;
5457

kernel/riscv64/scal_vector.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da, FLOAT *x, BLAS
7171
FLOAT_V_T v0, v1;
7272
unsigned int gvl = 0;
7373
if(inc_x == 1){
74-
if(da == 0.0){
74+
if (0){ //if(da == 0.0){
7575
memset(&x[0], 0, n * sizeof(FLOAT));
7676
}else{
7777
gvl = VSETVL(n);
@@ -96,7 +96,7 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da, FLOAT *x, BLAS
9696
}
9797
}
9898
}else{
99-
if(da == 0.0){
99+
if (0) { //if(da == 0.0){
100100
BLASLONG stride_x = inc_x * sizeof(FLOAT);
101101
BLASLONG ix = 0;
102102
gvl = VSETVL(n);

kernel/riscv64/zscal.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da_r,FLOAT da_i, F
6161
{
6262
temp = - da_i * x[ip+1] ;
6363
if (isnan(x[ip]) || isinf(x[ip])) temp = NAN;
64-
if (!isinf(x[ip+1]))
64+
if (!isinf(x[ip+1]))
6565
x[ip+1] = da_i * x[ip] ;
66-
else x[ip+1] = NAN;
66+
else x[ip+1] = NAN;
6767
}
6868
}
6969
else

0 commit comments

Comments
 (0)