Browse Source

make NAN handling depend on DUMMY2 argument

pull/4829/head
Martin Kroeker GitHub 1 year ago
parent
commit
ee09657cf1
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
1 changed files with 15 additions and 8 deletions
  1. +15
    -8
      kernel/zarch/dscal.c

+ 15
- 8
kernel/zarch/dscal.c View File

@@ -96,7 +96,7 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da, FLOAT *x,
if (inc_x == 1) {

if (da == 0.0) {
if (dummy2 == 0) {
BLASLONG n1 = n & -16;
if (n1 > 0) {

@@ -109,7 +109,14 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da, FLOAT *x,
x[j] = 0.0;
j++;
}

} else {
while (j < n) {
if (!isnan(x[i])&& !isinf(x[i]))
x[i] = 0.0;
else
x[i] = NAN;
}
}
} else {

BLASLONG n1 = n & -16;
@@ -127,11 +134,9 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da, FLOAT *x,
} else {

if (da == 0.0) {
if (dummy2 == 0) {
BLASLONG n1 = n & -4;

while (j < n1) {

x[i] = 0.0;
x[i + inc_x] = 0.0;
x[i + 2 * inc_x] = 0.0;
@@ -139,11 +144,13 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da, FLOAT *x,

i += inc_x * 4;
j += 4;

}
}
while (j < n) {

x[i] = 0.0;
if (dummy2==0 || isfinite(x[i]))
x[i] = 0.0;
else
x[i] = NAN;
i += inc_x;
j++;
}


Loading…
Cancel
Save