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
18 : !> This file contains the implementations of the tests of module [pm_matrixChol](@ref pm_matrixChol).
19 : !>
20 : !> \fintest
21 : !>
22 : !> \author
23 : !> \AmirShahmoradi, April 21, 2017, 1:54 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (test_pm_matrixChol) routines
28 :
29 : use pm_err, only: getFine
30 : use pm_distCov, only: getCovRand
31 : use pm_arrayFill, only: getFilled
32 : use pm_distUnif, only: getUnifRand
33 : use pm_matrixCopy, only: getMatCopy, setMatCopy
34 : use pm_matrixInit, only: setMatInit, upp, dia, low
35 : use pm_matrixInit, only: getMatInit, uppLowDia
36 : use pm_complexCompareAll, only: operator(<)
37 : use pm_matrixSubset, only: subset_type
38 : use pm_arrayResize, only: setResized
39 : implicit none
40 :
41 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
42 :
43 : contains
44 :
45 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
46 :
47 : #define setChoLow_ENABLED 1
48 :
49 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
50 :
51 : #define RK_ENABLED 1
52 :
53 : #if RK5_ENABLED
54 : module procedure test_setChoLow_RK5
55 : use pm_kind, only: TKC => RK5
56 : #include "test_pm_matrixChol@routines.inc.F90"
57 : end procedure
58 : #endif
59 :
60 : #if RK4_ENABLED
61 1 : module procedure test_setChoLow_RK4
62 : use pm_kind, only: TKC => RK4
63 : #include "test_pm_matrixChol@routines.inc.F90"
64 : end procedure
65 : #endif
66 :
67 : #if RK3_ENABLED
68 1 : module procedure test_setChoLow_RK3
69 : use pm_kind, only: TKC => RK3
70 : #include "test_pm_matrixChol@routines.inc.F90"
71 : end procedure
72 : #endif
73 :
74 : #if RK2_ENABLED
75 1 : module procedure test_setChoLow_RK2
76 : use pm_kind, only: TKC => RK2
77 : #include "test_pm_matrixChol@routines.inc.F90"
78 : end procedure
79 : #endif
80 :
81 : #if RK1_ENABLED
82 1 : module procedure test_setChoLow_RK1
83 : use pm_kind, only: TKC => RK1
84 : #include "test_pm_matrixChol@routines.inc.F90"
85 : end procedure
86 : #endif
87 :
88 : #undef RK_ENABLED
89 :
90 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
91 :
92 : #undef setChoLow_ENABLED
93 :
94 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
95 :
96 : #define getMatChol_ENABLED 1
97 :
98 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
99 :
100 : #define CK_ENABLED 1
101 :
102 : #if CK5_ENABLED
103 : module procedure test_getMatChol_CK5
104 : use pm_kind, only: TKC => CK5
105 : #include "test_pm_matrixChol@routines.inc.F90"
106 : end procedure
107 : #endif
108 :
109 : #if CK4_ENABLED
110 1 : module procedure test_getMatChol_CK4
111 : use pm_kind, only: TKC => CK4
112 : #include "test_pm_matrixChol@routines.inc.F90"
113 : end procedure
114 : #endif
115 :
116 : #if CK3_ENABLED
117 1 : module procedure test_getMatChol_CK3
118 : use pm_kind, only: TKC => CK3
119 : #include "test_pm_matrixChol@routines.inc.F90"
120 : end procedure
121 : #endif
122 :
123 : #if CK2_ENABLED
124 1 : module procedure test_getMatChol_CK2
125 : use pm_kind, only: TKC => CK2
126 : #include "test_pm_matrixChol@routines.inc.F90"
127 : end procedure
128 : #endif
129 :
130 : #if CK1_ENABLED
131 1 : module procedure test_getMatChol_CK1
132 : use pm_kind, only: TKC => CK1
133 : #include "test_pm_matrixChol@routines.inc.F90"
134 : end procedure
135 : #endif
136 :
137 : #undef CK_ENABLED
138 :
139 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
140 :
141 : #define RK_ENABLED 1
142 :
143 : #if RK5_ENABLED
144 : module procedure test_getMatChol_RK5
145 : use pm_kind, only: TKC => RK5
146 : #include "test_pm_matrixChol@routines.inc.F90"
147 : end procedure
148 : #endif
149 :
150 : #if RK4_ENABLED
151 1 : module procedure test_getMatChol_RK4
152 : use pm_kind, only: TKC => RK4
153 : #include "test_pm_matrixChol@routines.inc.F90"
154 : end procedure
155 : #endif
156 :
157 : #if RK3_ENABLED
158 1 : module procedure test_getMatChol_RK3
159 : use pm_kind, only: TKC => RK3
160 : #include "test_pm_matrixChol@routines.inc.F90"
161 : end procedure
162 : #endif
163 :
164 : #if RK2_ENABLED
165 1 : module procedure test_getMatChol_RK2
166 : use pm_kind, only: TKC => RK2
167 : #include "test_pm_matrixChol@routines.inc.F90"
168 : end procedure
169 : #endif
170 :
171 : #if RK1_ENABLED
172 1 : module procedure test_getMatChol_RK1
173 : use pm_kind, only: TKC => RK1
174 : #include "test_pm_matrixChol@routines.inc.F90"
175 : end procedure
176 : #endif
177 :
178 : #undef RK_ENABLED
179 :
180 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
181 :
182 : #undef getMatChol_ENABLED
183 :
184 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
185 :
186 : #define setMatChol_ENABLED 1
187 :
188 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
189 :
190 : #define CK_ENABLED 1
191 :
192 : #if CK5_ENABLED
193 : module procedure test_setMatChol_CK5
194 : use pm_kind, only: TKC => CK5
195 : #include "test_pm_matrixChol@routines.inc.F90"
196 : end procedure
197 : #endif
198 :
199 : #if CK4_ENABLED
200 1 : module procedure test_setMatChol_CK4
201 : use pm_kind, only: TKC => CK4
202 : #include "test_pm_matrixChol@routines.inc.F90"
203 : end procedure
204 : #endif
205 :
206 : #if CK3_ENABLED
207 1 : module procedure test_setMatChol_CK3
208 : use pm_kind, only: TKC => CK3
209 : #include "test_pm_matrixChol@routines.inc.F90"
210 : end procedure
211 : #endif
212 :
213 : #if CK2_ENABLED
214 1 : module procedure test_setMatChol_CK2
215 : use pm_kind, only: TKC => CK2
216 : #include "test_pm_matrixChol@routines.inc.F90"
217 : end procedure
218 : #endif
219 :
220 : #if CK1_ENABLED
221 1 : module procedure test_setMatChol_CK1
222 : use pm_kind, only: TKC => CK1
223 : #include "test_pm_matrixChol@routines.inc.F90"
224 : end procedure
225 : #endif
226 :
227 : #undef CK_ENABLED
228 :
229 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
230 :
231 : #define RK_ENABLED 1
232 :
233 : #if RK5_ENABLED
234 : module procedure test_setMatChol_RK5
235 : use pm_kind, only: TKC => RK5
236 : #include "test_pm_matrixChol@routines.inc.F90"
237 : end procedure
238 : #endif
239 :
240 : #if RK4_ENABLED
241 1 : module procedure test_setMatChol_RK4
242 : use pm_kind, only: TKC => RK4
243 : #include "test_pm_matrixChol@routines.inc.F90"
244 : end procedure
245 : #endif
246 :
247 : #if RK3_ENABLED
248 1 : module procedure test_setMatChol_RK3
249 : use pm_kind, only: TKC => RK3
250 : #include "test_pm_matrixChol@routines.inc.F90"
251 : end procedure
252 : #endif
253 :
254 : #if RK2_ENABLED
255 1 : module procedure test_setMatChol_RK2
256 : use pm_kind, only: TKC => RK2
257 : #include "test_pm_matrixChol@routines.inc.F90"
258 : end procedure
259 : #endif
260 :
261 : #if RK1_ENABLED
262 1 : module procedure test_setMatChol_RK1
263 : use pm_kind, only: TKC => RK1
264 : #include "test_pm_matrixChol@routines.inc.F90"
265 : end procedure
266 : #endif
267 :
268 : #undef RK_ENABLED
269 :
270 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
271 :
272 : #undef setMatChol_ENABLED
273 :
274 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
275 :
276 : end submodule routines ! LCOV_EXCL_LINE
|