ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_mathLogSumExp.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
36
37!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
38
40
41 use pm_kind, only: SK, IK, LK
43
44 implicit none
45
46 character(*, SK), parameter :: MODULE_NAME = "@pm_mathLogSumExp"
47
48!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
49
147 interface getLogSumExp
148
149 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
150 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
151 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
152
153 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
154 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
155 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
156
157 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
158
159#if CK5_ENABLED
160 PURE module function getLogSumExpDefSeq_CK5(array) result(logSumExp)
161#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
162 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpDefSeq_CK5
163#endif
164 use pm_kind, only: CKG => CK5
165 complex(CKG), intent(in), contiguous :: array(:)
166 complex(CKG) :: logSumExp
167 end function
168#endif
169
170#if CK4_ENABLED
171 PURE module function getLogSumExpDefSeq_CK4(array) result(logSumExp)
172#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
173 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpDefSeq_CK4
174#endif
175 use pm_kind, only: CKG => CK4
176 complex(CKG), intent(in), contiguous :: array(:)
177 complex(CKG) :: logSumExp
178 end function
179#endif
180
181#if CK3_ENABLED
182 PURE module function getLogSumExpDefSeq_CK3(array) result(logSumExp)
183#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
184 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpDefSeq_CK3
185#endif
186 use pm_kind, only: CKG => CK3
187 complex(CKG), intent(in), contiguous :: array(:)
188 complex(CKG) :: logSumExp
189 end function
190#endif
191
192#if CK2_ENABLED
193 PURE module function getLogSumExpDefSeq_CK2(array) result(logSumExp)
194#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
195 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpDefSeq_CK2
196#endif
197 use pm_kind, only: CKG => CK2
198 complex(CKG), intent(in), contiguous :: array(:)
199 complex(CKG) :: logSumExp
200 end function
201#endif
202
203#if CK1_ENABLED
204 PURE module function getLogSumExpDefSeq_CK1(array) result(logSumExp)
205#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
206 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpDefSeq_CK1
207#endif
208 use pm_kind, only: CKG => CK1
209 complex(CKG), intent(in), contiguous :: array(:)
210 complex(CKG) :: logSumExp
211 end function
212#endif
213
214 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
215
216#if RK5_ENABLED
217 PURE module function getLogSumExpDefSeq_RK5(array) result(logSumExp)
218#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
219 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpDefSeq_RK5
220#endif
221 use pm_kind, only: RKG => RK5
222 real(RKG) , intent(in), contiguous :: array(:)
223 real(RKG) :: logSumExp
224 end function
225#endif
226
227#if RK4_ENABLED
228 PURE module function getLogSumExpDefSeq_RK4(array) result(logSumExp)
229#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
230 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpDefSeq_RK4
231#endif
232 use pm_kind, only: RKG => RK4
233 real(RKG) , intent(in), contiguous :: array(:)
234 real(RKG) :: logSumExp
235 end function
236#endif
237
238#if RK3_ENABLED
239 PURE module function getLogSumExpDefSeq_RK3(array) result(logSumExp)
240#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
241 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpDefSeq_RK3
242#endif
243 use pm_kind, only: RKG => RK3
244 real(RKG) , intent(in), contiguous :: array(:)
245 real(RKG) :: logSumExp
246 end function
247#endif
248
249#if RK2_ENABLED
250 PURE module function getLogSumExpDefSeq_RK2(array) result(logSumExp)
251#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
252 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpDefSeq_RK2
253#endif
254 use pm_kind, only: RKG => RK2
255 real(RKG) , intent(in), contiguous :: array(:)
256 real(RKG) :: logSumExp
257 end function
258#endif
259
260#if RK1_ENABLED
261 PURE module function getLogSumExpDefSeq_RK1(array) result(logSumExp)
262#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
263 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpDefSeq_RK1
264#endif
265 use pm_kind, only: RKG => RK1
266 real(RKG) , intent(in), contiguous :: array(:)
267 real(RKG) :: logSumExp
268 end function
269#endif
270
271 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
272
273 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
274 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
275 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
276
277 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
278 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
279 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
280
281 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
282
283#if CK5_ENABLED
284 PURE module function getLogSumExpMaxSeq_CK5(array, maxArray) result(logSumExp)
285#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
286 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpMaxSeq_CK5
287#endif
288 use pm_kind, only: CKG => CK5
289 complex(CKG), intent(in), contiguous :: array(:)
290 complex(CKG), intent(in) :: maxArray
291 complex(CKG) :: logSumExp
292 end function
293#endif
294
295#if CK4_ENABLED
296 PURE module function getLogSumExpMaxSeq_CK4(array, maxArray) result(logSumExp)
297#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
298 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpMaxSeq_CK4
299#endif
300 use pm_kind, only: CKG => CK4
301 complex(CKG), intent(in), contiguous :: array(:)
302 complex(CKG), intent(in) :: maxArray
303 complex(CKG) :: logSumExp
304 end function
305#endif
306
307#if CK3_ENABLED
308 PURE module function getLogSumExpMaxSeq_CK3(array, maxArray) result(logSumExp)
309#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
310 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpMaxSeq_CK3
311#endif
312 use pm_kind, only: CKG => CK3
313 complex(CKG), intent(in), contiguous :: array(:)
314 complex(CKG), intent(in) :: maxArray
315 complex(CKG) :: logSumExp
316 end function
317#endif
318
319#if CK2_ENABLED
320 PURE module function getLogSumExpMaxSeq_CK2(array, maxArray) result(logSumExp)
321#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
322 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpMaxSeq_CK2
323#endif
324 use pm_kind, only: CKG => CK2
325 complex(CKG), intent(in), contiguous :: array(:)
326 complex(CKG), intent(in) :: maxArray
327 complex(CKG) :: logSumExp
328 end function
329#endif
330
331#if CK1_ENABLED
332 PURE module function getLogSumExpMaxSeq_CK1(array, maxArray) result(logSumExp)
333#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
334 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpMaxSeq_CK1
335#endif
336 use pm_kind, only: CKG => CK1
337 complex(CKG), intent(in), contiguous :: array(:)
338 complex(CKG), intent(in) :: maxArray
339 complex(CKG) :: logSumExp
340 end function
341#endif
342
343 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
344
345#if RK5_ENABLED
346 PURE module function getLogSumExpMaxSeq_RK5(array, maxArray) result(logSumExp)
347#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
348 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpMaxSeq_RK5
349#endif
350 use pm_kind, only: RKG => RK5
351 real(RKG) , intent(in), contiguous :: array(:)
352 real(RKG) , intent(in) :: maxArray
353 real(RKG) :: logSumExp
354 end function
355#endif
356
357#if RK4_ENABLED
358 PURE module function getLogSumExpMaxSeq_RK4(array, maxArray) result(logSumExp)
359#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
360 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpMaxSeq_RK4
361#endif
362 use pm_kind, only: RKG => RK4
363 real(RKG) , intent(in), contiguous :: array(:)
364 real(RKG) , intent(in) :: maxArray
365 real(RKG) :: logSumExp
366 end function
367#endif
368
369#if RK3_ENABLED
370 PURE module function getLogSumExpMaxSeq_RK3(array, maxArray) result(logSumExp)
371#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
372 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpMaxSeq_RK3
373#endif
374 use pm_kind, only: RKG => RK3
375 real(RKG) , intent(in), contiguous :: array(:)
376 real(RKG) , intent(in) :: maxArray
377 real(RKG) :: logSumExp
378 end function
379#endif
380
381#if RK2_ENABLED
382 PURE module function getLogSumExpMaxSeq_RK2(array, maxArray) result(logSumExp)
383#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
384 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpMaxSeq_RK2
385#endif
386 use pm_kind, only: RKG => RK2
387 real(RKG) , intent(in), contiguous :: array(:)
388 real(RKG) , intent(in) :: maxArray
389 real(RKG) :: logSumExp
390 end function
391#endif
392
393#if RK1_ENABLED
394 PURE module function getLogSumExpMaxSeq_RK1(array, maxArray) result(logSumExp)
395#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
396 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpMaxSeq_RK1
397#endif
398 use pm_kind, only: RKG => RK1
399 real(RKG) , intent(in), contiguous :: array(:)
400 real(RKG) , intent(in) :: maxArray
401 real(RKG) :: logSumExp
402 end function
403#endif
404
405 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
406
407 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
408 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
409 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
410
411 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
412
413#if CK5_ENABLED
414 PURE module function getLogSumExpMaxSel_CK5(array, maxArray, control) result(logSumExp)
415#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
416 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpMaxSel_CK5
417#endif
418 use pm_kind, only: CKG => CK5
419 type(selection_type), intent(in) :: control
420 complex(CKG) , intent(in), contiguous :: array(:)
421 complex(CKG) , intent(in) :: maxArray
422 complex(CKG) :: logSumExp
423 end function
424#endif
425
426#if CK4_ENABLED
427 PURE module function getLogSumExpMaxSel_CK4(array, maxArray, control) result(logSumExp)
428#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
429 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpMaxSel_CK4
430#endif
431 use pm_kind, only: CKG => CK4
432 type(selection_type), intent(in) :: control
433 complex(CKG) , intent(in), contiguous :: array(:)
434 complex(CKG) , intent(in) :: maxArray
435 complex(CKG) :: logSumExp
436 end function
437#endif
438
439#if CK3_ENABLED
440 PURE module function getLogSumExpMaxSel_CK3(array, maxArray, control) result(logSumExp)
441#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
442 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpMaxSel_CK3
443#endif
444 use pm_kind, only: CKG => CK3
445 type(selection_type), intent(in) :: control
446 complex(CKG) , intent(in), contiguous :: array(:)
447 complex(CKG) , intent(in) :: maxArray
448 complex(CKG) :: logSumExp
449 end function
450#endif
451
452#if CK2_ENABLED
453 PURE module function getLogSumExpMaxSel_CK2(array, maxArray, control) result(logSumExp)
454#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
455 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpMaxSel_CK2
456#endif
457 use pm_kind, only: CKG => CK2
458 type(selection_type), intent(in) :: control
459 complex(CKG) , intent(in), contiguous :: array(:)
460 complex(CKG) , intent(in) :: maxArray
461 complex(CKG) :: logSumExp
462 end function
463#endif
464
465#if CK1_ENABLED
466 PURE module function getLogSumExpMaxSel_CK1(array, maxArray, control) result(logSumExp)
467#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
468 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpMaxSel_CK1
469#endif
470 use pm_kind, only: CKG => CK1
471 type(selection_type), intent(in) :: control
472 complex(CKG) , intent(in), contiguous :: array(:)
473 complex(CKG) , intent(in) :: maxArray
474 complex(CKG) :: logSumExp
475 end function
476#endif
477
478 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
479
480#if RK5_ENABLED
481 PURE module function getLogSumExpMaxSel_RK5(array, maxArray, control) result(logSumExp)
482#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
483 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpMaxSel_RK5
484#endif
485 use pm_kind, only: RKG => RK5
486 type(selection_type), intent(in) :: control
487 real(RKG) , intent(in), contiguous :: array(:)
488 real(RKG) , intent(in) :: maxArray
489 real(RKG) :: logSumExp
490 end function
491#endif
492
493#if RK4_ENABLED
494 PURE module function getLogSumExpMaxSel_RK4(array, maxArray, control) result(logSumExp)
495#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
496 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpMaxSel_RK4
497#endif
498 use pm_kind, only: RKG => RK4
499 type(selection_type), intent(in) :: control
500 real(RKG) , intent(in), contiguous :: array(:)
501 real(RKG) , intent(in) :: maxArray
502 real(RKG) :: logSumExp
503 end function
504#endif
505
506#if RK3_ENABLED
507 PURE module function getLogSumExpMaxSel_RK3(array, maxArray, control) result(logSumExp)
508#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
509 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpMaxSel_RK3
510#endif
511 use pm_kind, only: RKG => RK3
512 type(selection_type), intent(in) :: control
513 real(RKG) , intent(in), contiguous :: array(:)
514 real(RKG) , intent(in) :: maxArray
515 real(RKG) :: logSumExp
516 end function
517#endif
518
519#if RK2_ENABLED
520 PURE module function getLogSumExpMaxSel_RK2(array, maxArray, control) result(logSumExp)
521#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
522 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpMaxSel_RK2
523#endif
524 use pm_kind, only: RKG => RK2
525 type(selection_type), intent(in) :: control
526 real(RKG) , intent(in), contiguous :: array(:)
527 real(RKG) , intent(in) :: maxArray
528 real(RKG) :: logSumExp
529 end function
530#endif
531
532#if RK1_ENABLED
533 PURE module function getLogSumExpMaxSel_RK1(array, maxArray, control) result(logSumExp)
534#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
535 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSumExpMaxSel_RK1
536#endif
537 use pm_kind, only: RKG => RK1
538 type(selection_type), intent(in) :: control
539 real(RKG) , intent(in), contiguous :: array(:)
540 real(RKG) , intent(in) :: maxArray
541 real(RKG) :: logSumExp
542 end function
543#endif
544
545 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
546
547 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
548 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
549 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
550
551 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
552 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
553 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
554
555 end interface getLogSumExp
556
557!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
558
559end module pm_mathLogSumExp ! LCOV_EXCL_LINE
Generate and return the natural logarithm of the sum of the exponential of the input array robustly (...
This module contains abstract and concrete derived types that are required for compile-time resolutio...
Definition: pm_control.F90:45
character(*, SK), parameter MODULE_NAME
Definition: pm_control.F90:51
type(selection_type), parameter selection
This is a scalar parameter object of type selection_type that is exclusively used to request selectio...
Definition: pm_control.F90:320
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter RK5
Definition: pm_kind.F90:478
integer, parameter RK4
Definition: pm_kind.F90:489
integer, parameter RK2
Definition: pm_kind.F90:511
integer, parameter CK1
Definition: pm_kind.F90:464
integer, parameter RK3
Definition: pm_kind.F90:500
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
Definition: pm_kind.F90:541
integer, parameter CK5
Definition: pm_kind.F90:420
integer, parameter CK4
Definition: pm_kind.F90:431
integer, parameter CK2
Definition: pm_kind.F90:453
integer, parameter CK3
Definition: pm_kind.F90:442
integer, parameter IK
The default integer kind in the ParaMonte library: int32 in Fortran, c_int32_t in C-Fortran Interoper...
Definition: pm_kind.F90:540
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
Definition: pm_kind.F90:539
integer, parameter RK1
Definition: pm_kind.F90:522
This module contains the procedures and interfaces for computing the natural logarithm of the sum of ...
This is a concrete derived type whose instances are exclusively used to request selection control flo...
Definition: pm_control.F90:295