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 procedure implementations of [pm_mathLog1p](@ref pm_mathLog1p).
19 : !>
20 : !> \finmain
21 : !>
22 : !> \author
23 : !> \AmirShahmoradi, Thursday 1:45 AM, August 22, 2019, Dallas, TX
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (pm_mathLog1p) routines ! LCOV_EXCL_LINE
28 :
29 : #if CHECK_ENABLED
30 : use pm_err, only: getFine
31 : use pm_val2str, only: getStr
32 : use pm_err, only: setAsserted
33 : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) \
34 : call setAsserted(ASSERTION,getFine(__FILE__,LINE)//MODULE_NAME//MSG);
35 : #else
36 : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) continue;
37 : #endif
38 :
39 : implicit none
40 :
41 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
42 :
43 : contains
44 :
45 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
46 :
47 : #define getLog1p_ENABLED 1
48 :
49 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
50 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
51 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
52 :
53 : #define Seq_ENABLED 1
54 :
55 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
56 :
57 : #define CK_ENABLED 1
58 :
59 : #if CK5_ENABLED
60 : module procedure getLog1pSeq_CK5
61 : use pm_kind, only: CKC => CK5
62 : #include "pm_mathLog1p@routines.inc.F90"
63 : end procedure
64 : #endif
65 :
66 : #if CK4_ENABLED
67 0 : module procedure getLog1pSeq_CK4
68 : use pm_kind, only: CKC => CK4
69 : #include "pm_mathLog1p@routines.inc.F90"
70 0 : end procedure
71 : #endif
72 :
73 : #if CK3_ENABLED
74 0 : module procedure getLog1pSeq_CK3
75 : use pm_kind, only: CKC => CK3
76 : #include "pm_mathLog1p@routines.inc.F90"
77 0 : end procedure
78 : #endif
79 :
80 : #if CK2_ENABLED
81 0 : module procedure getLog1pSeq_CK2
82 : use pm_kind, only: CKC => CK2
83 : #include "pm_mathLog1p@routines.inc.F90"
84 0 : end procedure
85 : #endif
86 :
87 : #if CK1_ENABLED
88 0 : module procedure getLog1pSeq_CK1
89 : use pm_kind, only: CKC => CK1
90 : #include "pm_mathLog1p@routines.inc.F90"
91 0 : end procedure
92 : #endif
93 :
94 : #undef CK_ENABLED
95 :
96 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
97 :
98 : #define RK_ENABLED 1
99 :
100 : #if RK5_ENABLED
101 : module procedure getLog1pSeq_RK5
102 : use pm_kind, only: RKC => RK5
103 : #include "pm_mathLog1p@routines.inc.F90"
104 : end procedure
105 : #endif
106 :
107 : #if RK4_ENABLED
108 2 : module procedure getLog1pSeq_RK4
109 : use pm_kind, only: RKC => RK4
110 : #include "pm_mathLog1p@routines.inc.F90"
111 2 : end procedure
112 : #endif
113 :
114 : #if RK3_ENABLED
115 0 : module procedure getLog1pSeq_RK3
116 : use pm_kind, only: RKC => RK3
117 : #include "pm_mathLog1p@routines.inc.F90"
118 0 : end procedure
119 : #endif
120 :
121 : #if RK2_ENABLED
122 0 : module procedure getLog1pSeq_RK2
123 : use pm_kind, only: RKC => RK2
124 : #include "pm_mathLog1p@routines.inc.F90"
125 0 : end procedure
126 : #endif
127 :
128 : #if RK1_ENABLED
129 6 : module procedure getLog1pSeq_RK1
130 : use pm_kind, only: RKC => RK1
131 : #include "pm_mathLog1p@routines.inc.F90"
132 6 : end procedure
133 : #endif
134 :
135 : #undef RK_ENABLED
136 :
137 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
138 :
139 : #undef Seq_ENABLED
140 :
141 : ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
142 : ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
143 : ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
144 : !
145 : !#define Sel_ENABLED 1
146 : !
147 : ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
148 : !
149 : !#define CK_ENABLED 1
150 : !
151 : !#if CK5_ENABLED
152 : ! module procedure getLog1pSel_CK5
153 : ! use pm_kind, only: CKC => CK5
154 : !#include "pm_mathLog1p@routines.inc.F90"
155 : ! end procedure
156 : !#endif
157 : !
158 : !#if CK4_ENABLED
159 : ! module procedure getLog1pSel_CK4
160 : ! use pm_kind, only: CKC => CK4
161 : !#include "pm_mathLog1p@routines.inc.F90"
162 : ! end procedure
163 : !#endif
164 : !
165 : !#if CK3_ENABLED
166 : ! module procedure getLog1pSel_CK3
167 : ! use pm_kind, only: CKC => CK3
168 : !#include "pm_mathLog1p@routines.inc.F90"
169 : ! end procedure
170 : !#endif
171 : !
172 : !#if CK2_ENABLED
173 : ! module procedure getLog1pSel_CK2
174 : ! use pm_kind, only: CKC => CK2
175 : !#include "pm_mathLog1p@routines.inc.F90"
176 : ! end procedure
177 : !#endif
178 : !
179 : !#if CK1_ENABLED
180 : ! module procedure getLog1pSel_CK1
181 : ! use pm_kind, only: CKC => CK1
182 : !#include "pm_mathLog1p@routines.inc.F90"
183 : ! end procedure
184 : !#endif
185 : !
186 : !#undef CK_ENABLED
187 : !
188 : ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
189 : !
190 : !#define RK_ENABLED 1
191 : !
192 : !#if RK5_ENABLED
193 : ! module procedure getLog1pSel_RK5
194 : ! use pm_kind, only: RKC => RK5
195 : !#include "pm_mathLog1p@routines.inc.F90"
196 : ! end procedure
197 : !#endif
198 : !
199 : !#if RK4_ENABLED
200 : ! module procedure getLog1pSel_RK4
201 : ! use pm_kind, only: RKC => RK4
202 : !#include "pm_mathLog1p@routines.inc.F90"
203 : ! end procedure
204 : !#endif
205 : !
206 : !#if RK3_ENABLED
207 : ! module procedure getLog1pSel_RK3
208 : ! use pm_kind, only: RKC => RK3
209 : !#include "pm_mathLog1p@routines.inc.F90"
210 : ! end procedure
211 : !#endif
212 : !
213 : !#if RK2_ENABLED
214 : ! module procedure getLog1pSel_RK2
215 : ! use pm_kind, only: RKC => RK2
216 : !#include "pm_mathLog1p@routines.inc.F90"
217 : ! end procedure
218 : !#endif
219 : !
220 : !#if RK1_ENABLED
221 : ! module procedure getLog1pSel_RK1
222 : ! use pm_kind, only: RKC => RK1
223 : !#include "pm_mathLog1p@routines.inc.F90"
224 : ! end procedure
225 : !#endif
226 : !
227 : !#undef RK_ENABLED
228 : !
229 : ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
230 : !
231 : !#undef Sel_ENABLED
232 :
233 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
234 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
235 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
236 :
237 : #undef getLog1p_ENABLED
238 :
239 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
240 :
241 : #undef CHECK_ASSERTION
242 :
243 : end submodule routines
|