Skip to content

Commit 07228b0

Browse files
committed
added tests for random values of alpha and beta
1 parent d18b50c commit 07228b0

File tree

3 files changed

+37
-0
lines changed

3 files changed

+37
-0
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
---

Testing/Temporary/LastTest.log

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Start testing: Dec 09 19:33 IST
2+
----------------------------------------------------------
3+
End testing: Dec 09 19:33 IST

test/linalg/test_linalg_specialmatrices.fypp

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,39 @@ contains
8282
if (allocated(error)) return
8383
end do
8484
end do
85+
86+
! Test y = A @ x for random values of alpha and beta
87+
y1 = 0.0_wp
88+
call random_number(alpha)
89+
call random_number(beta)
90+
call random_number(y2)
91+
y1 = alpha * matmul(Amat, x) + beta * y2
92+
call spmv(A, x, y2, alpha=alpha, beta=beta)
93+
call check(error, all_close(y1, y2), .true.)
94+
if (allocated(error)) return
95+
96+
! Test y = A.T @ x for random values of alpha and beta
97+
y1 = 0.0_wp
98+
call random_number(alpha)
99+
call random_number(beta)
100+
call random_number(y2)
101+
y1 = alpha * matmul(transpose(Amat), x) + beta * y2
102+
call spmv(A, x, y2, alpha=alpha, beta=beta, op="T")
103+
call check(error, all_close(y1, y2), .true.)
104+
if (allocated(error)) return
105+
106+
#:if t1.startswith('complex')
107+
! Test y = A.H @ x for random values of alpha and beta
108+
y1 = 0.0_wp
109+
call random_number(alpha)
110+
call random_number(beta)
111+
call random_number(y2)
112+
y1 = alpha * matmul(transpose(conjg((Amat))), x) + beta * y2
113+
call spmv(A, x, y2, alpha=alpha, beta=beta, op="H")
114+
call check(error, all_close(y1, y2), .true.)
115+
if (allocated(error)) return
116+
#:endif
117+
85118
end block
86119
#:endfor
87120
end subroutine

0 commit comments

Comments
 (0)