ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
test_pm_matrixDet.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
28 use pm_matrixDet ! LCOV_EXCL_LINE
29 use pm_err, only: err_type
30 use pm_test, only: test_type, LK
31 use pm_kind, only: LK
32
33 implicit none
34
35 private
36 public :: setTest
37 type(test_type) :: test
38
39!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
40
41 interface
42
43#if RK3_ENABLED
44 module function test_getDet_RK3() result(assertion); logical(LK) :: assertion; end function
45#endif
46#if RK2_ENABLED
47 module function test_getDet_RK2() result(assertion); logical(LK) :: assertion; end function
48#endif
49#if RK1_ENABLED
50 module function test_getDet_RK1() result(assertion); logical(LK) :: assertion; end function
51#endif
52
53 end interface
54
55!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
56
57 interface
58
59#if RK3_ENABLED
60 module function test_setDet_RK3() result(assertion); logical(LK) :: assertion; end function
61#endif
62#if RK2_ENABLED
63 module function test_setDet_RK2() result(assertion); logical(LK) :: assertion; end function
64#endif
65#if RK1_ENABLED
66 module function test_setDet_RK1() result(assertion); logical(LK) :: assertion; end function
67#endif
68
69 end interface
70
71!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
72
73 interface
74
75#if RK3_ENABLED
76 module function test_getMatDetSqrt_RK3() result(assertion); logical(LK) :: assertion; end function
77#endif
78#if RK2_ENABLED
79 module function test_getMatDetSqrt_RK2() result(assertion); logical(LK) :: assertion; end function
80#endif
81#if RK1_ENABLED
82 module function test_getMatDetSqrt_RK1() result(assertion); logical(LK) :: assertion; end function
83#endif
84
85 end interface
86
87!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
88
89 interface
90
91#if RK3_ENABLED
92 module function test_setMatDetSqrt_RK3() result(assertion); logical(LK) :: assertion; end function
93#endif
94#if RK2_ENABLED
95 module function test_setMatDetSqrt_RK2() result(assertion); logical(LK) :: assertion; end function
96#endif
97#if RK1_ENABLED
98 module function test_setMatDetSqrt_RK1() result(assertion); logical(LK) :: assertion; end function
99#endif
100
101 end interface
102
103!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
104
105 interface
106
107#if RK3_ENABLED
108 module function test_getMatDetSqrtLog_RK3() result(assertion); logical(LK) :: assertion; end function
109#endif
110#if RK2_ENABLED
111 module function test_getMatDetSqrtLog_RK2() result(assertion); logical(LK) :: assertion; end function
112#endif
113#if RK1_ENABLED
114 module function test_getMatDetSqrtLog_RK1() result(assertion); logical(LK) :: assertion; end function
115#endif
116
117 end interface
118
119!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
120
121 interface
122
123#if RK3_ENABLED
124 module function test_setMatDetSqrtLog_RK3() result(assertion); logical(LK) :: assertion; end function
125#endif
126#if RK2_ENABLED
127 module function test_setMatDetSqrtLog_RK2() result(assertion); logical(LK) :: assertion; end function
128#endif
129#if RK1_ENABLED
130 module function test_setMatDetSqrtLog_RK1() result(assertion); logical(LK) :: assertion; end function
131#endif
132
133 end interface
134
135!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
136
137contains
138
139!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
140
141 subroutine setTest()
142
143 implicit none
144
146
147 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
148
149#if RK3_ENABLED
150 call test%run(test_getDet_RK3, SK_"test_getDet_RK3")
151#endif
152#if RK2_ENABLED
153 call test%run(test_getDet_RK2, SK_"test_getDet_RK2")
154#endif
155#if RK1_ENABLED
156 call test%run(test_getDet_RK1, SK_"test_getDet_RK1")
157#endif
158
159 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
160
161#if RK3_ENABLED
162 call test%run(test_setDet_RK3, SK_"test_setDet_RK3")
163#endif
164#if RK2_ENABLED
165 call test%run(test_setDet_RK2, SK_"test_setDet_RK2")
166#endif
167#if RK1_ENABLED
168 call test%run(test_setDet_RK1, SK_"test_setDet_RK1")
169#endif
170
171 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
172
173#if RK3_ENABLED
174 call test%run(test_getMatDetSqrt_RK3, SK_"test_getMatDetSqrt_RK3")
175#endif
176#if RK2_ENABLED
177 call test%run(test_getMatDetSqrt_RK2, SK_"test_getMatDetSqrt_RK2")
178#endif
179#if RK1_ENABLED
180 call test%run(test_getMatDetSqrt_RK1, SK_"test_getMatDetSqrt_RK1")
181#endif
182
183 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
184
185#if RK3_ENABLED
186 call test%run(test_setMatDetSqrt_RK3, SK_"test_setMatDetSqrt_RK3")
187#endif
188#if RK2_ENABLED
189 call test%run(test_setMatDetSqrt_RK2, SK_"test_setMatDetSqrt_RK2")
190#endif
191#if RK1_ENABLED
192 call test%run(test_setMatDetSqrt_RK1, SK_"test_setMatDetSqrt_RK1")
193#endif
194
195 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
196
197#if RK3_ENABLED
198 call test%run(test_getMatDetSqrtLog_RK3, SK_"test_getMatDetSqrtLog_RK3")
199#endif
200#if RK2_ENABLED
201 call test%run(test_getMatDetSqrtLog_RK2, SK_"test_getMatDetSqrtLog_RK2")
202#endif
203#if RK1_ENABLED
204 call test%run(test_getMatDetSqrtLog_RK1, SK_"test_getMatDetSqrtLog_RK1")
205#endif
206
207 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
208
209#if RK3_ENABLED
210 call test%run(test_setMatDetSqrtLog_RK3, SK_"test_setMatDetSqrtLog_RK3")
211#endif
212#if RK2_ENABLED
213 call test%run(test_setMatDetSqrtLog_RK2, SK_"test_setMatDetSqrtLog_RK2")
214#endif
215#if RK1_ENABLED
216 call test%run(test_setMatDetSqrtLog_RK1, SK_"test_setMatDetSqrtLog_RK1")
217#endif
218
219 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
220
221 call test%summarize()
222
223 end subroutine setTest
224
225!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
226
227end module test_pm_matrixDet ! LCOV_EXCL_LINE
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 defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
Definition: pm_kind.F90:541
This module contains procedures and generic interfaces relevant to the computation of the determinant...
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_matrixDet.
type(test_type) test
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