Skip to content

Commit ada8733

Browse files
committed
Try to fixed numpy ci test failures
1 parent e1eef56 commit ada8733

File tree

3 files changed

+70
-60
lines changed

3 files changed

+70
-60
lines changed

interface/scal.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ void CNAME(blasint n, FLOAT alpha, FLOAT *x, blasint incx){
8585
if (nthreads == 1) {
8686
#endif
8787

88-
SCAL_K(n, 0, 0, alpha, x, incx, NULL, 0, NULL, 0);
88+
SCAL_K(n, 0, 0, alpha, x, incx, NULL, 0, NULL, 12);
8989

9090
#ifdef SMP
9191
} else {
@@ -102,7 +102,7 @@ void CNAME(blasint n, FLOAT alpha, FLOAT *x, blasint incx){
102102
#else
103103
&alpha,
104104
#endif
105-
x, incx, NULL, 0, NULL, 0, (int (*)(void))SCAL_K, nthreads);
105+
x, incx, NULL, 0, NULL, 12, (int (*)(void))SCAL_K, nthreads);
106106

107107
}
108108
#endif

kernel/x86_64/dscal.c

Lines changed: 34 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -168,24 +168,37 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da, FLOAT *x, BLAS
168168

169169
while(j < n1)
170170
{
171-
172-
if (isinf(x[i])||isnan(x[i]))
173-
x[i]=NAN;
174-
else x[i]=0.0;
175-
if (isinf(x[i+inc_x])||isnan(x[i+inc_x]))
176-
x[i+inc_x]=NAN;
177-
else x[i+inc_x]=0.0;
171+
if (dummy2 == 12) {
172+
if (isinf(x[i]))
173+
x[i]=-NAN;
174+
else if (isnan(x[i]))
175+
x[i]=NAN;
176+
else x[i]=0.0;
177+
if (isinf(x[i+inc_x]))
178+
x[i+inc_x]=-NAN;
179+
else if (isnan(x[i+inc_x]))
180+
x[i+inc_x]=NAN;
181+
else x[i+inc_x]=0.0;
182+
} else {
183+
x[i]=0.0;
184+
x[i+inc_x]=0.0;
185+
}
178186
i += 2*inc_x ;
179187
j+=2;
180188

181189
}
182190

183191
while(j < n)
184192
{
185-
186-
if (isinf(x[i])||isnan(x[i]))
187-
x[i]=NAN;
188-
else x[i]=0.0;
193+
if (dummy2 == 12) {
194+
if (isinf(x[i]))
195+
x[i]=-NAN;
196+
else if (isnan(x[i]))
197+
x[i]=NAN;
198+
else x[i]=0.0;
199+
} else {
200+
x[i]=0.0;
201+
}
189202
i += inc_x ;
190203
j++;
191204

@@ -219,34 +232,29 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da, FLOAT *x, BLAS
219232
BLASLONG n1 = n & -8;
220233
if ( n1 > 0 )
221234
{
222-
// if ( da == 0.0 )
223-
// dscal_kernel_8_zero(n1 , &da , x);
224-
// else
225-
dscal_kernel_8(n1 , &da , x);
235+
dscal_kernel_8(n1 , &da , x);
226236
}
227237

228238
if ( da == 0.0 )
229239
{
230240
for ( i=n1 ; i<n; i++ )
231241
{
232-
if(isinf(x[i])||isnan(x[i]))
233-
x[i]=NAN;
234-
else x[i] = 0.0;
242+
if (dummy2 == 12) {
243+
if (isinf(x[i]))
244+
x[i]=-NAN;
245+
else if (isnan(x[i]))
246+
x[i]=NAN;
247+
else x[i]=0.0;
248+
} else
249+
x[i]=0.0;
235250
}
236251
}
237-
else if (isinf(da)){
238-
for ( i=n1 ; i<n; i++)
239-
if (x[i]==0.) x[i]=NAN;
240-
else x[i] *=da;
241-
}
242252
else
243253
{
244254

245255
for ( i=n1 ; i<n; i++ )
246256
{
247-
if(isinf(x[i]))
248-
x[i]=NAN;
249-
else x[i] *= da;
257+
x[i] *= da;
250258
}
251259
}
252260
return(0);

kernel/x86_64/sscal.c

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -123,38 +123,51 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da, FLOAT *x, BLAS
123123

124124
while(j < n1)
125125
{
126-
if (isinf(x[i])||isnan(x[i]))
127-
x[i]=NAN;
128-
else x[i]=0.0;
129-
if (isinf(x[i+inc_x])||isnan(x[i+inc_x]))
130-
x[i+inc_x]=NAN;
131-
else x[i+inc_x]=0.0;
126+
if (dummy2 == 12) {
127+
if (isinf(x[i]))
128+
x[i]=-NAN;
129+
else if (isnan(x[i]))
130+
x[i]=NAN;
131+
else x[i]=0.0;
132+
if (isinf(x[i+inc_x]))
133+
x[i+inc_x]=-NAN;
134+
else if (isnan(x[i+inc_x]))
135+
x[i+inc_x]=NAN;
136+
else x[i+inc_x]=0.0;
137+
} else {
138+
x[i]=0.0;
139+
x[i+inc_x]=0.0;
140+
}
132141
i += 2*inc_x ;
133142
j+=2;
134143

135144
}
136145

137146
while(j < n)
138147
{
139-
if (isinf(x[i])||isnan(x[i]))
140-
x[i]=NAN;
141-
else x[i]=0.0;
148+
if (dummy2 == 12) {
149+
if (isinf(x[i]))
150+
x[i]=-NAN;
151+
else if (isnan(x[i]))
152+
x[i]=NAN;
153+
else x[i]=0.0;
154+
} else {
155+
x[i]=0.0;
156+
}
142157
i += inc_x ;
143158
j++;
144159

145160
}
146161
}
147162
else
148163
{
149-
#if 1
150164
BLASLONG n1 = n & -8;
151165
if ( n1 > 0 )
152166
{
153167
sscal_kernel_inc_8(n1, &da, x, inc_x);
154168
i = n1 * inc_x;
155169
j = n1;
156170
}
157-
#endif
158171
while(j < n)
159172
{
160173
x[i] *= da;
@@ -170,41 +183,30 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da, FLOAT *x, BLAS
170183
BLASLONG n1 = n & -16;
171184
if ( n1 > 0 )
172185
{
173-
//if ( da == 0.0 )
174-
// sscal_kernel_16_zero(n1 , &da , x);
175-
//else
176-
sscal_kernel_16(n1 , &da , x);
186+
sscal_kernel_16(n1 , &da , x);
177187
}
178188

179189
if ( da == 0.0 )
180190
{
181191
for ( i=n1 ; i<n; i++ )
182192
{
183-
if (isinf(x[i])||isnan(x[i]))
184-
x[i]=NAN;
185-
else x[i]=0.0;
186-
}
187-
}
188-
else if ( isinf(da) )
189-
{
190-
for ( i=n1 ; i<n; i++ )
191-
{
192-
if (x[i] == 0.0)
193-
x[i]=NAN;
194-
else x[i] *= da;
193+
if (dummy2 == 12) {
194+
if (isinf(x[i]))
195+
x[i]=-NAN;
196+
else if (isnan(x[i]))
197+
x[i]=NAN;
198+
else x[i]=0.0;
199+
} else
200+
x[i]=0.0;
195201
}
196202
}
197203
else
198204
{
199205

200206
for ( i=n1 ; i<n; i++ )
201207
{
202-
if (isinf(x[i]))
203-
x[i]=NAN;
204-
else x[i] *= da;
208+
x[i] *= da;
205209
}
206210
}
207211
return(0);
208212
}
209-
210-

0 commit comments

Comments
 (0)