make NAN handling depend on DUMMY2 parameter
This commit is contained in:
parent
dfbc2348a8
commit
73f8866ffb
|
@ -73,6 +73,15 @@ static void dscal_kernel_8_zero (BLASLONG n, FLOAT *x)
|
||||||
|
|
||||||
for( i=0; i<n; i+=8 )
|
for( i=0; i<n; i+=8 )
|
||||||
{
|
{
|
||||||
|
x[0] = alpha;
|
||||||
|
x[1] = alpha;
|
||||||
|
x[2] = alpha;
|
||||||
|
x[3] = alpha;
|
||||||
|
x[4] = alpha;
|
||||||
|
x[5] = alpha;
|
||||||
|
x[6] = alpha;
|
||||||
|
x[7] = alpha;
|
||||||
|
#if 0
|
||||||
if(isfinite(x[0]))
|
if(isfinite(x[0]))
|
||||||
x[0] = alpha;
|
x[0] = alpha;
|
||||||
else
|
else
|
||||||
|
@ -106,7 +115,8 @@ static void dscal_kernel_8_zero (BLASLONG n, FLOAT *x)
|
||||||
else
|
else
|
||||||
x[7] = NAN;
|
x[7] = NAN;
|
||||||
x+=8;
|
x+=8;
|
||||||
}
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -130,6 +140,11 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da, FLOAT *x, BLAS
|
||||||
if ( n >= 16 )
|
if ( n >= 16 )
|
||||||
{
|
{
|
||||||
BLASLONG align = ((32 - ((uintptr_t)x & (uintptr_t)0x1F)) >> 3) & 0x3;
|
BLASLONG align = ((32 - ((uintptr_t)x & (uintptr_t)0x1F)) >> 3) & 0x3;
|
||||||
|
if (dummy2 == 0)
|
||||||
|
for (j = 0; j < align; j++) {
|
||||||
|
x [j] = 0.0;
|
||||||
|
}
|
||||||
|
else
|
||||||
for (j = 0; j < align; j++) {
|
for (j = 0; j < align; j++) {
|
||||||
if (isfinite(x[j]))
|
if (isfinite(x[j]))
|
||||||
x[j] = 0.0;
|
x[j] = 0.0;
|
||||||
|
@ -151,7 +166,13 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da, FLOAT *x, BLAS
|
||||||
j=n1;
|
j=n1;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
if (dummy2 == 0)
|
||||||
|
while(j < n)
|
||||||
|
{
|
||||||
|
x[j]=0.0;
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
else
|
||||||
while(j < n)
|
while(j < n)
|
||||||
{
|
{
|
||||||
if (!isfinite(x[j]))
|
if (!isfinite(x[j]))
|
||||||
|
@ -202,7 +223,14 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da, FLOAT *x, BLAS
|
||||||
|
|
||||||
if ( da == 0.0 )
|
if ( da == 0.0 )
|
||||||
{
|
{
|
||||||
|
if (dummy2 == 0)
|
||||||
|
while(j < n)
|
||||||
|
{
|
||||||
|
x[i]=0.0;
|
||||||
|
i += inc_x;
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
else
|
||||||
while(j < n)
|
while(j < n)
|
||||||
{
|
{
|
||||||
if (!isfinite(x[i]))
|
if (!isfinite(x[i]))
|
||||||
|
|
|
@ -74,7 +74,24 @@ static void sscal_kernel_16_zero( BLASLONG n, FLOAT *x )
|
||||||
|
|
||||||
for( i=0; i<n; i+=8 )
|
for( i=0; i<n; i+=8 )
|
||||||
{
|
{
|
||||||
if (isfinite(x[0]))
|
x[0] = alpha;
|
||||||
|
x[1] = alpha;
|
||||||
|
x[2] = alpha;
|
||||||
|
x[3] = alpha;
|
||||||
|
x[4] = alpha;
|
||||||
|
x[5] = alpha;
|
||||||
|
x[6] = alpha;
|
||||||
|
x[7] = alpha;
|
||||||
|
x[8] = alpha;
|
||||||
|
x[9] = alpha;
|
||||||
|
x[10] = alpha;
|
||||||
|
x[11] = alpha;
|
||||||
|
x[12] = alpha;
|
||||||
|
x[13] = alpha;
|
||||||
|
x[14] = alpha;
|
||||||
|
x[15] = alpha;
|
||||||
|
#if 0
|
||||||
|
if (isfinite(x[0]))
|
||||||
x[0] = alpha;
|
x[0] = alpha;
|
||||||
else
|
else
|
||||||
x[0] = NAN;
|
x[0] = NAN;
|
||||||
|
@ -107,7 +124,8 @@ static void sscal_kernel_16_zero( BLASLONG n, FLOAT *x )
|
||||||
else
|
else
|
||||||
x[7] = NAN;
|
x[7] = NAN;
|
||||||
x+=8;
|
x+=8;
|
||||||
}
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -132,6 +150,11 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da, FLOAT *x, BLAS
|
||||||
if ( n >= 32 )
|
if ( n >= 32 )
|
||||||
{
|
{
|
||||||
BLASLONG align = ((32 - ((uintptr_t)x & (uintptr_t)0x1F)) >> 2) & 0x7;
|
BLASLONG align = ((32 - ((uintptr_t)x & (uintptr_t)0x1F)) >> 2) & 0x7;
|
||||||
|
if (dummy2 == 0)
|
||||||
|
for (j = 0; j < align; j++){
|
||||||
|
x[j] = 0.0;
|
||||||
|
}
|
||||||
|
else
|
||||||
for (j = 0; j < align; j++) {
|
for (j = 0; j < align; j++) {
|
||||||
if (isfinite(x[j]))
|
if (isfinite(x[j]))
|
||||||
x[j] = 0.0;
|
x[j] = 0.0;
|
||||||
|
@ -153,7 +176,13 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da, FLOAT *x, BLAS
|
||||||
j=n1;
|
j=n1;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
if (dummy2 == 0)
|
||||||
|
while(j < n)
|
||||||
|
{
|
||||||
|
x[j] = 0.0;
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
else
|
||||||
while(j < n)
|
while(j < n)
|
||||||
{
|
{
|
||||||
if (isfinite(x[j]))
|
if (isfinite(x[j]))
|
||||||
|
@ -204,7 +233,14 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da, FLOAT *x, BLAS
|
||||||
|
|
||||||
if ( da == 0.0 )
|
if ( da == 0.0 )
|
||||||
{
|
{
|
||||||
|
if (dummy2 == 0)
|
||||||
|
while(j < n)
|
||||||
|
{
|
||||||
|
x[i]=0.0;
|
||||||
|
i += inc_x;
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
else
|
||||||
while(j < n)
|
while(j < n)
|
||||||
{
|
{
|
||||||
if (isfinite(x[i]))
|
if (isfinite(x[i]))
|
||||||
|
|
Loading…
Reference in New Issue