ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
test_pm_matrixMulAdd.F90
Go to the documentation of this file.
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
23
24!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
25
27
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
102contains
103
104!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
105
106 subroutine setTest()
107
109
110 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
111
112#if IK5_ENABLED
113 call test%run(test_setMatMulAdd_IK5, SK_"test_setMatMulAdd_IK5")
114#endif
115#if IK4_ENABLED
116 call test%run(test_setMatMulAdd_IK4, SK_"test_setMatMulAdd_IK4")
117#endif
118#if IK3_ENABLED
119 call test%run(test_setMatMulAdd_IK3, SK_"test_setMatMulAdd_IK3")
120#endif
121#if IK2_ENABLED
122 call test%run(test_setMatMulAdd_IK2, SK_"test_setMatMulAdd_IK2")
123#endif
124#if IK1_ENABLED
125 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 call test%run(test_setMatMulAdd_CK4, SK_"test_setMatMulAdd_CK4")
135#endif
136#if CK3_ENABLED
137 call test%run(test_setMatMulAdd_CK3, SK_"test_setMatMulAdd_CK3")
138#endif
139#if CK2_ENABLED
140 call test%run(test_setMatMulAdd_CK2, SK_"test_setMatMulAdd_CK2")
141#endif
142#if CK1_ENABLED
143 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 call test%run(test_setMatMulAdd_RK4, SK_"test_setMatMulAdd_RK4")
153#endif
154#if RK3_ENABLED
155 call test%run(test_setMatMulAdd_RK3, SK_"test_setMatMulAdd_RK3")
156#endif
157#if RK2_ENABLED
158 call test%run(test_setMatMulAdd_RK2, SK_"test_setMatMulAdd_RK2")
159#endif
160#if RK1_ENABLED
161 call test%run(test_setMatMulAdd_RK1, SK_"test_setMatMulAdd_RK1")
162#endif
163
164 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
165 call test%summarize()
166
167 end subroutine setTest
168
169!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
170
171end module test_pm_matrixMulAdd
This module contains classes and procedures for reporting and handling errors.
Definition: pm_err.F90:52
character(*, SK), parameter MODULE_NAME
Definition: pm_err.F90:58
This module contains procedures and generic interfaces relevant to combined matrix-matrix or matrix-v...
This module contains a simple unit-testing framework for the Fortran libraries, including the ParaMon...
Definition: pm_test.F90:42
This module contains tests of the module pm_matrixMulAdd.
This is the derived type for generating objects to gracefully and verbosely handle runtime unexpected...
Definition: pm_err.F90:157
This is the derived type test_type for generating objects that facilitate testing of a series of proc...
Definition: pm_test.F90:209