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 module contains tests of the module [pm_mathFactorial](@ref pm_mathFactorial).
19 : !>
20 : !> \fintest
21 : !>
22 : !> \author
23 : !> \AmirShahmoradi, Tuesday 2:06 AM, September 21, 2021, Dallas, TX
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : module test_pm_mathFactorial
28 :
29 : use pm_mathFactorial
30 : use pm_err, only: err_type
31 : use pm_test, only: test_type, LK
32 : implicit none
33 :
34 : private
35 : public :: setTest
36 : type(test_type) :: test
37 :
38 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
39 :
40 : interface
41 : #if IK5_ENABLED
42 : module function test_getFactorial_IK5_1() result(assertion); logical(LK) :: assertion; end function
43 : #endif
44 : #if IK4_ENABLED
45 : module function test_getFactorial_IK4_1() result(assertion); logical(LK) :: assertion; end function
46 : #endif
47 : #if IK3_ENABLED
48 : module function test_getFactorial_IK3_1() result(assertion); logical(LK) :: assertion; end function
49 : #endif
50 : #if IK2_ENABLED
51 : module function test_getFactorial_IK2_1() result(assertion); logical(LK) :: assertion; end function
52 : #endif
53 : #if IK1_ENABLED
54 : module function test_getFactorial_IK1_1() result(assertion); logical(LK) :: assertion; end function
55 : #endif
56 : end interface
57 :
58 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
59 :
60 : interface
61 : #if RK5_ENABLED
62 : module function test_getLogFactorial_RK5_1() result(assertion); logical(LK) :: assertion; end function
63 : #endif
64 : #if RK4_ENABLED
65 : module function test_getLogFactorial_RK4_1() result(assertion); logical(LK) :: assertion; end function
66 : #endif
67 : #if RK3_ENABLED
68 : module function test_getLogFactorial_RK3_1() result(assertion); logical(LK) :: assertion; end function
69 : #endif
70 : #if RK2_ENABLED
71 : module function test_getLogFactorial_RK2_1() result(assertion); logical(LK) :: assertion; end function
72 : #endif
73 : #if RK1_ENABLED
74 : module function test_getLogFactorial_RK1_1() result(assertion); logical(LK) :: assertion; end function
75 : #endif
76 : end interface
77 :
78 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
79 :
80 : contains
81 :
82 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
83 :
84 1 : subroutine setTest()
85 :
86 : implicit none
87 1 : test = test_type(MODULE_NAME)
88 :
89 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
90 :
91 : #if IK5_ENABLED
92 1 : call test%run(test_getFactorial_IK5_1, SK_"test_getFactorial_IK5_1")
93 : #endif
94 : #if IK4_ENABLED
95 1 : call test%run(test_getFactorial_IK4_1, SK_"test_getFactorial_IK4_1")
96 : #endif
97 : #if IK3_ENABLED
98 1 : call test%run(test_getFactorial_IK3_1, SK_"test_getFactorial_IK3_1")
99 : #endif
100 : #if IK2_ENABLED
101 1 : call test%run(test_getFactorial_IK2_1, SK_"test_getFactorial_IK2_1")
102 : #endif
103 : #if IK1_ENABLED
104 1 : call test%run(test_getFactorial_IK1_1, SK_"test_getFactorial_IK1_1")
105 : #endif
106 :
107 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
108 :
109 : #if RK5_ENABLED
110 : call test%run(test_getLogFactorial_RK5_1, SK_"test_getLogFactorial_RK5_1")
111 : #endif
112 : #if RK4_ENABLED
113 1 : call test%run(test_getLogFactorial_RK4_1, SK_"test_getLogFactorial_RK4_1")
114 : #endif
115 : #if RK3_ENABLED
116 1 : call test%run(test_getLogFactorial_RK3_1, SK_"test_getLogFactorial_RK3_1")
117 : #endif
118 : #if RK2_ENABLED
119 1 : call test%run(test_getLogFactorial_RK2_1, SK_"test_getLogFactorial_RK2_1")
120 : #endif
121 : #if RK1_ENABLED
122 1 : call test%run(test_getLogFactorial_RK1_1, SK_"test_getLogFactorial_RK1_1")
123 : #endif
124 :
125 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
126 :
127 1 : call test%summarize()
128 :
129 1 : end subroutine setTest
130 :
131 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
132 :
133 : end module test_pm_mathFactorial ! LCOV_EXCL_LINE
|