ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
test_pm_matrixMulTri.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 CK5_ENABLED
45 module function test_setMatMulTri_CK5() result(assertion); logical(LK) :: assertion; end function
46#endif
47#if CK4_ENABLED
48 module function test_setMatMulTri_CK4() result(assertion); logical(LK) :: assertion; end function
49#endif
50#if CK3_ENABLED
51 module function test_setMatMulTri_CK3() result(assertion); logical(LK) :: assertion; end function
52#endif
53#if CK2_ENABLED
54 module function test_setMatMulTri_CK2() result(assertion); logical(LK) :: assertion; end function
55#endif
56#if CK1_ENABLED
57 module function test_setMatMulTri_CK1() result(assertion); logical(LK) :: assertion; end function
58#endif
59
60 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
61
62#if RK5_ENABLED
63 module function test_setMatMulTri_RK5() result(assertion); logical(LK) :: assertion; end function
64#endif
65#if RK4_ENABLED
66 module function test_setMatMulTri_RK4() result(assertion); logical(LK) :: assertion; end function
67#endif
68#if RK3_ENABLED
69 module function test_setMatMulTri_RK3() result(assertion); logical(LK) :: assertion; end function
70#endif
71#if RK2_ENABLED
72 module function test_setMatMulTri_RK2() result(assertion); logical(LK) :: assertion; end function
73#endif
74#if RK1_ENABLED
75 module function test_setMatMulTri_RK1() result(assertion); logical(LK) :: assertion; end function
76#endif
77
78 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
79
80 end interface
81
82!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
83
84contains
85
86!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
87
88 subroutine setTest()
89
91
92 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
93
94#if CK5_ENABLED
95 call test%run(test_setMatMulTri_CK5, SK_"test_setMatMulTri_CK5")
96#endif
97#if CK4_ENABLED
98 call test%run(test_setMatMulTri_CK4, SK_"test_setMatMulTri_CK4")
99#endif
100#if CK3_ENABLED
101 call test%run(test_setMatMulTri_CK3, SK_"test_setMatMulTri_CK3")
102#endif
103#if CK2_ENABLED
104 call test%run(test_setMatMulTri_CK2, SK_"test_setMatMulTri_CK2")
105#endif
106#if CK1_ENABLED
107 call test%run(test_setMatMulTri_CK1, SK_"test_setMatMulTri_CK1")
108#endif
109
110 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
111
112#if RK5_ENABLED
113 call test%run(test_setMatMulTri_RK5, SK_"test_setMatMulTri_RK5")
114#endif
115#if RK4_ENABLED
116 call test%run(test_setMatMulTri_RK4, SK_"test_setMatMulTri_RK4")
117#endif
118#if RK3_ENABLED
119 call test%run(test_setMatMulTri_RK3, SK_"test_setMatMulTri_RK3")
120#endif
121#if RK2_ENABLED
122 call test%run(test_setMatMulTri_RK2, SK_"test_setMatMulTri_RK2")
123#endif
124#if RK1_ENABLED
125 call test%run(test_setMatMulTri_RK1, SK_"test_setMatMulTri_RK1")
126#endif
127
128 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
129 call test%summarize()
130
131 end subroutine setTest
132
133!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
134
135end module test_pm_matrixMulTri
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 the procedures for multiplication of a square triangular matrix in various trans...
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_matrixMulTri.
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