Line data Source code
1 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3 : !!!! !!!!
4 : !!!! ParaMonte: Parallel Monte Carlo and Machine Learning Library. !!!!
5 : !!!! !!!!
6 : !!!! Copyright (C) 2012-present, The Computational Data Science Lab !!!!
7 : !!!! !!!!
8 : !!!! This file is part of the ParaMonte library. !!!!
9 : !!!! !!!!
10 : !!!! LICENSE !!!!
11 : !!!! !!!!
12 : !!!! https://github.com/cdslaborg/paramonte/blob/main/LICENSE.md !!!!
13 : !!!! !!!!
14 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
15 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
16 :
17 : !> \brief This module contains tests of the module [pm_matrixMulAdd](@ref pm_matrixMulAdd).
18 : !>
19 : !> \fintest
20 : !>
21 : !> \author
22 : !> \FatemehBagheri, 12:27 AM Tuesday, February 22, 2022, Dallas, TX
23 :
24 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
25 :
26 : module test_pm_matrixMulAdd
27 :
28 : use pm_matrixMulAdd
29 : use pm_err, only: err_type
30 : use pm_test, only: test_type, IK, LK
31 :
32 : implicit none
33 :
34 : private
35 : public :: setTest
36 : type(test_type) :: test
37 :
38 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
39 :
40 : interface
41 :
42 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
43 :
44 : #if IK5_ENABLED
45 : module function test_setMatMulAdd_IK5() result(assertion); logical(LK) :: assertion; end function
46 : #endif
47 : #if IK4_ENABLED
48 : module function test_setMatMulAdd_IK4() result(assertion); logical(LK) :: assertion; end function
49 : #endif
50 : #if IK3_ENABLED
51 : module function test_setMatMulAdd_IK3() result(assertion); logical(LK) :: assertion; end function
52 : #endif
53 : #if IK2_ENABLED
54 : module function test_setMatMulAdd_IK2() result(assertion); logical(LK) :: assertion; end function
55 : #endif
56 : #if IK1_ENABLED
57 : module function test_setMatMulAdd_IK1() result(assertion); logical(LK) :: assertion; end function
58 : #endif
59 :
60 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
61 :
62 : #if CK5_ENABLED
63 : module function test_setMatMulAdd_CK5() result(assertion); logical(LK) :: assertion; end function
64 : #endif
65 : #if CK4_ENABLED
66 : module function test_setMatMulAdd_CK4() result(assertion); logical(LK) :: assertion; end function
67 : #endif
68 : #if CK3_ENABLED
69 : module function test_setMatMulAdd_CK3() result(assertion); logical(LK) :: assertion; end function
70 : #endif
71 : #if CK2_ENABLED
72 : module function test_setMatMulAdd_CK2() result(assertion); logical(LK) :: assertion; end function
73 : #endif
74 : #if CK1_ENABLED
75 : module function test_setMatMulAdd_CK1() result(assertion); logical(LK) :: assertion; end function
76 : #endif
77 :
78 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
79 :
80 : #if RK5_ENABLED
81 : module function test_setMatMulAdd_RK5() result(assertion); logical(LK) :: assertion; end function
82 : #endif
83 : #if RK4_ENABLED
84 : module function test_setMatMulAdd_RK4() result(assertion); logical(LK) :: assertion; end function
85 : #endif
86 : #if RK3_ENABLED
87 : module function test_setMatMulAdd_RK3() result(assertion); logical(LK) :: assertion; end function
88 : #endif
89 : #if RK2_ENABLED
90 : module function test_setMatMulAdd_RK2() result(assertion); logical(LK) :: assertion; end function
91 : #endif
92 : #if RK1_ENABLED
93 : module function test_setMatMulAdd_RK1() result(assertion); logical(LK) :: assertion; end function
94 : #endif
95 :
96 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
97 :
98 : end interface
99 :
100 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
101 :
102 : contains
103 :
104 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
105 :
106 1 : subroutine setTest()
107 :
108 1 : test = test_type(MODULE_NAME)
109 :
110 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
111 :
112 : #if IK5_ENABLED
113 1 : call test%run(test_setMatMulAdd_IK5, SK_"test_setMatMulAdd_IK5")
114 : #endif
115 : #if IK4_ENABLED
116 1 : call test%run(test_setMatMulAdd_IK4, SK_"test_setMatMulAdd_IK4")
117 : #endif
118 : #if IK3_ENABLED
119 1 : call test%run(test_setMatMulAdd_IK3, SK_"test_setMatMulAdd_IK3")
120 : #endif
121 : #if IK2_ENABLED
122 1 : call test%run(test_setMatMulAdd_IK2, SK_"test_setMatMulAdd_IK2")
123 : #endif
124 : #if IK1_ENABLED
125 1 : call test%run(test_setMatMulAdd_IK1, SK_"test_setMatMulAdd_IK1")
126 : #endif
127 :
128 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
129 :
130 : #if CK5_ENABLED
131 : call test%run(test_setMatMulAdd_CK5, SK_"test_setMatMulAdd_CK5")
132 : #endif
133 : #if CK4_ENABLED
134 1 : call test%run(test_setMatMulAdd_CK4, SK_"test_setMatMulAdd_CK4")
135 : #endif
136 : #if CK3_ENABLED
137 1 : call test%run(test_setMatMulAdd_CK3, SK_"test_setMatMulAdd_CK3")
138 : #endif
139 : #if CK2_ENABLED
140 1 : call test%run(test_setMatMulAdd_CK2, SK_"test_setMatMulAdd_CK2")
141 : #endif
142 : #if CK1_ENABLED
143 1 : call test%run(test_setMatMulAdd_CK1, SK_"test_setMatMulAdd_CK1")
144 : #endif
145 :
146 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
147 :
148 : #if RK5_ENABLED
149 : call test%run(test_setMatMulAdd_RK5, SK_"test_setMatMulAdd_RK5")
150 : #endif
151 : #if RK4_ENABLED
152 1 : call test%run(test_setMatMulAdd_RK4, SK_"test_setMatMulAdd_RK4")
153 : #endif
154 : #if RK3_ENABLED
155 1 : call test%run(test_setMatMulAdd_RK3, SK_"test_setMatMulAdd_RK3")
156 : #endif
157 : #if RK2_ENABLED
158 1 : call test%run(test_setMatMulAdd_RK2, SK_"test_setMatMulAdd_RK2")
159 : #endif
160 : #if RK1_ENABLED
161 1 : call test%run(test_setMatMulAdd_RK1, SK_"test_setMatMulAdd_RK1")
162 : #endif
163 :
164 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
165 1 : call test%summarize()
166 :
167 1 : end subroutine setTest
168 :
169 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
170 :
171 : end module test_pm_matrixMulAdd
|