ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
test_pm_mathLogSubExp.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_mathLogSubExp ! LCOV_EXCL_LINE
29 use pm_err, only: err_type
30 use pm_test, only: test_type, LK
31 implicit none
32
33 private
34 public :: test_MathLogSubExp
35
36 private
37 public :: setTest
38 type(test_type) :: test
39
40!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
41
42 interface
43#if CK5_ENABLED
44 module function test_getLogSubExp_CK5_1() result(assertion); logical(LK) :: assertion; end function
45#endif
46#if CK4_ENABLED
47 module function test_getLogSubExp_CK4_1() result(assertion); logical(LK) :: assertion; end function
48#endif
49#if CK3_ENABLED
50 module function test_getLogSubExp_CK3_1() result(assertion); logical(LK) :: assertion; end function
51#endif
52#if CK2_ENABLED
53 module function test_getLogSubExp_CK2_1() result(assertion); logical(LK) :: assertion; end function
54#endif
55#if CK1_ENABLED
56 module function test_getLogSubExp_CK1_1() result(assertion); logical(LK) :: assertion; end function
57#endif
58 end interface
59
60!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
61
62 interface
63#if RK5_ENABLED
64 module function test_getLogSubExp_RK5_1() result(assertion); logical(LK) :: assertion; end function
65#endif
66#if RK4_ENABLED
67 module function test_getLogSubExp_RK4_1() result(assertion); logical(LK) :: assertion; end function
68#endif
69#if RK3_ENABLED
70 module function test_getLogSubExp_RK3_1() result(assertion); logical(LK) :: assertion; end function
71#endif
72#if RK2_ENABLED
73 module function test_getLogSubExp_RK2_1() result(assertion); logical(LK) :: assertion; end function
74#endif
75#if RK1_ENABLED
76 module function test_getLogSubExp_RK1_1() result(assertion); logical(LK) :: assertion; end function
77#endif
78 end interface
79
80!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
81
82contains
83
84!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
85
86 subroutine test_MathLogSubExp()
87 implicit none
89
90 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
91
92#if CK5_ENABLED
93 call test%run(test_getLogSubExp_CK5_1, SK_"test_getLogSubExp_CK5_1")
94#endif
95#if CK4_ENABLED
96 call test%run(test_getLogSubExp_CK4_1, SK_"test_getLogSubExp_CK4_1")
97#endif
98#if CK3_ENABLED
99 call test%run(test_getLogSubExp_CK3_1, SK_"test_getLogSubExp_CK3_1")
100#endif
101#if CK2_ENABLED
102 call test%run(test_getLogSubExp_CK2_1, SK_"test_getLogSubExp_CK2_1")
103#endif
104#if CK1_ENABLED
105 call test%run(test_getLogSubExp_CK1_1, SK_"test_getLogSubExp_CK1_1")
106#endif
107
108 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
109
110#if RK5_ENABLED
111 call test%run(test_getLogSubExp_RK5_1, SK_"test_getLogSubExp_RK5_1")
112#endif
113#if RK4_ENABLED
114 call test%run(test_getLogSubExp_RK4_1, SK_"test_getLogSubExp_RK4_1")
115#endif
116#if RK3_ENABLED
117 call test%run(test_getLogSubExp_RK3_1, SK_"test_getLogSubExp_RK3_1")
118#endif
119#if RK2_ENABLED
120 call test%run(test_getLogSubExp_RK2_1, SK_"test_getLogSubExp_RK2_1")
121#endif
122#if RK1_ENABLED
123 call test%run(test_getLogSubExp_RK1_1, SK_"test_getLogSubExp_RK1_1")
124#endif
125
126 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
127
128
129 end subroutine test_MathLogSubExp
130
131!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
132
133end module test_pm_mathLogSubExp ! 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 contains procedures and generic interfaces for subtracting two real or complex values wit...
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_mathLogSubExp.
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