@@ -263,20 +263,20 @@ subroutine test_matmul(error)
263
263
264
264
#:for k, t, s in R_KINDS_TYPES
265
265
block
266
- ${t}$ :: x(10,20 ), y(20,30 ), z(30 ,10), r(10,10), r1(10,10)
266
+ ${t}$ :: x(10,15 ), y(15,20 ), z(20 ,10), r(10,10), r1(10,10)
267
267
call random_number(x)
268
268
call random_number(y)
269
269
call random_number(z)
270
270
271
271
r = stdlib_matmul(x, y, z) ! the optimal ordering would be (x(yz))
272
272
r1 = matmul(matmul(x, y), z) ! the opposite order to induce a difference
273
273
274
- call check(error, all(abs(r-r1) <= epsilon(0._${k}$) * 300 ), "real, ${k}$, 3 args: error too large")
274
+ call check(error, all(abs(r-r1) <= epsilon(0._${k}$) * 150 ), "real, ${k}$, 3 args: error too large")
275
275
if (allocated(error)) return
276
276
end block
277
277
278
278
block
279
- ${t}$ :: x(10,20 ), y(20,30 ), z(30 ,10), w(10, 20 ), r(10,20 ), r1(10,20 )
279
+ ${t}$ :: x(10,15 ), y(15,20 ), z(20 ,10), w(10, 15 ), r(10,15 ), r1(10,15 )
280
280
call random_number(x)
281
281
call random_number(y)
282
282
call random_number(z)
@@ -285,7 +285,7 @@ subroutine test_matmul(error)
285
285
r = stdlib_matmul(x, y, z, w) ! the optimal order would be ((x(yz))w)
286
286
r1 = matmul(matmul(x, y), matmul(z, w))
287
287
288
- call check(error, all(abs(r-r1) <= epsilon(0._${k}$) * 1500 ), "real, ${k}$, 4 args: error too large")
288
+ call check(error, all(abs(r-r1) <= epsilon(0._${k}$) * 800 ), "real, ${k}$, 4 args: error too large")
289
289
if (allocated(error)) return
290
290
end block
291
291
#:endfor
0 commit comments