ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_cosmicRate.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
46
47!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
48
50
51 use pm_kind, only: IK, RK, SK
52
53 implicit none
54
55 character(*, SK), parameter :: MODULE_NAME = "@pm_cosmicRate"
56
57!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
58
116
117 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
118
119#if RK5_ENABLED
120 PURE elemental module function getLogRateDensityH06_D0_RK5(logzplus1) result(logRateDensity)
121#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
122 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityH06_D0_RK5
123#endif
124 use pm_kind, only: RKG => RK5
125 real(RKG) , intent(in) :: logzplus1
126 real(RKG) :: logRateDensity
127 end function
128#endif
129
130#if RK4_ENABLED
131 PURE elemental module function getLogRateDensityH06_D0_RK4(logzplus1) result(logRateDensity)
132#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
133 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityH06_D0_RK4
134#endif
135 use pm_kind, only: RKG => RK4
136 real(RKG) , intent(in) :: logzplus1
137 real(RKG) :: logRateDensity
138 end function
139#endif
140
141#if RK3_ENABLED
142 PURE elemental module function getLogRateDensityH06_D0_RK3(logzplus1) result(logRateDensity)
143#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
144 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityH06_D0_RK3
145#endif
146 use pm_kind, only: RKG => RK3
147 real(RKG) , intent(in) :: logzplus1
148 real(RKG) :: logRateDensity
149 end function
150#endif
151
152#if RK2_ENABLED
153 PURE elemental module function getLogRateDensityH06_D0_RK2(logzplus1) result(logRateDensity)
154#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
155 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityH06_D0_RK2
156#endif
157 use pm_kind, only: RKG => RK2
158 real(RKG) , intent(in) :: logzplus1
159 real(RKG) :: logRateDensity
160 end function
161#endif
162
163#if RK1_ENABLED
164 PURE elemental module function getLogRateDensityH06_D0_RK1(logzplus1) result(logRateDensity)
165#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
166 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityH06_D0_RK1
167#endif
168 use pm_kind, only: RKG => RK1
169 real(RKG) , intent(in) :: logzplus1
170 real(RKG) :: logRateDensity
171 end function
172#endif
173
174! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
175!
176!#if RK5_ENABLED
177! PURE elemental module function getLogRateDensityH06_D1_RK5(logzplus1) result(logRateDensity)
178!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
179! !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityH06_D1_RK5
180!#endif
181! use pm_kind, only: RKG => RK5
182! real(RKG) , intent(in) :: logzplus1
183! real(RKG) :: logRateDensity
184! end function
185!#endif
186!
187!#if RK4_ENABLED
188! PURE elemental module function getLogRateDensityH06_D1_RK4(logzplus1) result(logRateDensity)
189!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
190! !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityH06_D1_RK4
191!#endif
192! use pm_kind, only: RKG => RK4
193! real(RKG) , intent(in) :: logzplus1
194! real(RKG) :: logRateDensity
195! end function
196!#endif
197!
198!#if RK3_ENABLED
199! PURE elemental module function getLogRateDensityH06_D1_RK3(logzplus1) result(LogRateDensity)
200!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
201! !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityH06_D1_RK3
202!#endif
203! use pm_kind, only: RKG => RK3
204! real(RKG) , intent(in), contiguous :: logzplus1(:)
205! real(RKG) :: LogRateDensity(size(logzplus1))
206! end function
207!#endif
208!
209!#if RK2_ENABLED
210! PURE elemental module function getLogRateDensityH06_D1_RK2(logzplus1) result(LogRateDensity)
211!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
212! !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityH06_D1_RK2
213!#endif
214! use pm_kind, only: RKG => RK2
215! real(RKG) , intent(in), contiguous :: logzplus1(:)
216! real(RKG) :: LogRateDensity(size(logzplus1))
217! end function
218!#endif
219!
220!#if RK1_ENABLED
221! PURE elemental module function getLogRateDensityH06_D1_RK1(logzplus1) result(LogRateDensity)
222!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
223! !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityH06_D1_RK1
224!#endif
225! use pm_kind, only: RKG => RK1
226! real(RKG) , intent(in), contiguous :: logzplus1(:)
227! real(RKG) :: LogRateDensity(size(logzplus1))
228! end function
229!#endif
230!
231! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
232
233 end interface
234
235!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
236
294
295 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
296
297#if RK5_ENABLED
298 PURE elemental module function getLogRateDensityL08_D0_RK5(logzplus1) result(logRateDensity)
299#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
300 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityL08_D0_RK5
301#endif
302 use pm_kind, only: RKG => RK5
303 real(RKG) , intent(in) :: logzplus1
304 real(RKG) :: logRateDensity
305 end function
306#endif
307
308#if RK4_ENABLED
309 PURE elemental module function getLogRateDensityL08_D0_RK4(logzplus1) result(logRateDensity)
310#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
311 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityL08_D0_RK4
312#endif
313 use pm_kind, only: RKG => RK4
314 real(RKG) , intent(in) :: logzplus1
315 real(RKG) :: logRateDensity
316 end function
317#endif
318
319#if RK3_ENABLED
320 PURE elemental module function getLogRateDensityL08_D0_RK3(logzplus1) result(logRateDensity)
321#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
322 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityL08_D0_RK3
323#endif
324 use pm_kind, only: RKG => RK3
325 real(RKG) , intent(in) :: logzplus1
326 real(RKG) :: logRateDensity
327 end function
328#endif
329
330#if RK2_ENABLED
331 PURE elemental module function getLogRateDensityL08_D0_RK2(logzplus1) result(logRateDensity)
332#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
333 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityL08_D0_RK2
334#endif
335 use pm_kind, only: RKG => RK2
336 real(RKG) , intent(in) :: logzplus1
337 real(RKG) :: logRateDensity
338 end function
339#endif
340
341#if RK1_ENABLED
342 PURE elemental module function getLogRateDensityL08_D0_RK1(logzplus1) result(logRateDensity)
343#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
344 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityL08_D0_RK1
345#endif
346 use pm_kind, only: RKG => RK1
347 real(RKG) , intent(in) :: logzplus1
348 real(RKG) :: logRateDensity
349 end function
350#endif
351
352! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
353!
354!#if RK5_ENABLED
355! PURE elemental module function getLogRateDensityL08_D1_RK5(logzplus1) result(logRateDensity)
356!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
357! !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityL08_D1_RK5
358!#endif
359! use pm_kind, only: RKG => RK5
360! real(RKG) , intent(in) :: logzplus1
361! real(RKG) :: logRateDensity
362! end function
363!#endif
364!
365!#if RK4_ENABLED
366! PURE elemental module function getLogRateDensityL08_D1_RK4(logzplus1) result(logRateDensity)
367!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
368! !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityL08_D1_RK4
369!#endif
370! use pm_kind, only: RKG => RK4
371! real(RKG) , intent(in) :: logzplus1
372! real(RKG) :: logRateDensity
373! end function
374!#endif
375!
376!#if RK3_ENABLED
377! PURE elemental module function getLogRateDensityL08_D1_RK3(logzplus1) result(LogRateDensity)
378!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
379! !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityL08_D1_RK3
380!#endif
381! use pm_kind, only: RKG => RK3
382! real(RKG) , intent(in), contiguous :: logzplus1(:)
383! real(RKG) :: LogRateDensity(size(logzplus1))
384! end function
385!#endif
386!
387!#if RK2_ENABLED
388! PURE elemental module function getLogRateDensityL08_D1_RK2(logzplus1) result(LogRateDensity)
389!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
390! !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityL08_D1_RK2
391!#endif
392! use pm_kind, only: RKG => RK2
393! real(RKG) , intent(in), contiguous :: logzplus1(:)
394! real(RKG) :: LogRateDensity(size(logzplus1))
395! end function
396!#endif
397!
398!#if RK1_ENABLED
399! PURE elemental module function getLogRateDensityL08_D1_RK1(logzplus1) result(LogRateDensity)
400!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
401! !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityL08_D1_RK1
402!#endif
403! use pm_kind, only: RKG => RK1
404! real(RKG) , intent(in), contiguous :: logzplus1(:)
405! real(RKG) :: LogRateDensity(size(logzplus1))
406! end function
407!#endif
408!
409! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
410
411 end interface
412
413!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
414
480
481 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
482
483#if RK5_ENABLED
484 PURE elemental module function getLogRateDensityM14_D0_RK5(zplus1, logzplus1) result(logRateDensity)
485#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
486 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityM14_D0_RK5
487#endif
488 use pm_kind, only: RKG => RK5
489 real(RKG) , intent(in) :: zplus1, logzplus1
490 real(RKG) :: logRateDensity
491 end function
492#endif
493
494#if RK4_ENABLED
495 PURE elemental module function getLogRateDensityM14_D0_RK4(zplus1, logzplus1) result(logRateDensity)
496#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
497 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityM14_D0_RK4
498#endif
499 use pm_kind, only: RKG => RK4
500 real(RKG) , intent(in) :: zplus1, logzplus1
501 real(RKG) :: logRateDensity
502 end function
503#endif
504
505#if RK3_ENABLED
506 PURE elemental module function getLogRateDensityM14_D0_RK3(zplus1, logzplus1) result(logRateDensity)
507#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
508 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityM14_D0_RK3
509#endif
510 use pm_kind, only: RKG => RK3
511 real(RKG) , intent(in) :: zplus1, logzplus1
512 real(RKG) :: logRateDensity
513 end function
514#endif
515
516#if RK2_ENABLED
517 PURE elemental module function getLogRateDensityM14_D0_RK2(zplus1, logzplus1) result(logRateDensity)
518#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
519 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityM14_D0_RK2
520#endif
521 use pm_kind, only: RKG => RK2
522 real(RKG) , intent(in) :: zplus1, logzplus1
523 real(RKG) :: logRateDensity
524 end function
525#endif
526
527#if RK1_ENABLED
528 PURE elemental module function getLogRateDensityM14_D0_RK1(zplus1, logzplus1) result(logRateDensity)
529#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
530 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityM14_D0_RK1
531#endif
532 use pm_kind, only: RKG => RK1
533 real(RKG) , intent(in) :: zplus1, logzplus1
534 real(RKG) :: logRateDensity
535 end function
536#endif
537
538! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
539!
540!#if RK5_ENABLED
541! PURE elemental module function getLogRateDensityM14_D1_RK5(zplus1, logzplus1) result(LogRateDensity)
542!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
543! !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityM14_D1_RK5
544!#endif
545! use pm_kind, only: RKG => RK5
546! real(RKG) , intent(in), contiguous :: zplus1(:), logzplus1(:)
547! real(RKG) :: LogRateDensity(size(logzplus1))
548! end function
549!#endif
550!
551!#if RK4_ENABLED
552! PURE elemental module function getLogRateDensityM14_D1_RK4(zplus1, logzplus1) result(LogRateDensity)
553!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
554! !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityM14_D1_RK4
555!#endif
556! use pm_kind, only: RKG => RK4
557! real(RKG) , intent(in), contiguous :: zplus1(:), logzplus1(:)
558! real(RKG) :: LogRateDensity(size(logzplus1))
559! end function
560!#endif
561!
562!#if RK3_ENABLED
563! PURE elemental module function getLogRateDensityM14_D1_RK3(zplus1, logzplus1) result(LogRateDensity)
564!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
565! !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityM14_D1_RK3
566!#endif
567! use pm_kind, only: RKG => RK3
568! real(RKG) , intent(in), contiguous :: zplus1(:), logzplus1(:)
569! real(RKG) :: LogRateDensity(size(logzplus1))
570! end function
571!#endif
572!
573!#if RK2_ENABLED
574! PURE elemental module function getLogRateDensityM14_D1_RK2(zplus1, logzplus1) result(LogRateDensity)
575!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
576! !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityM14_D1_RK2
577!#endif
578! use pm_kind, only: RKG => RK2
579! real(RKG) , intent(in), contiguous :: zplus1(:), logzplus1(:)
580! real(RKG) :: LogRateDensity(size(logzplus1))
581! end function
582!#endif
583!
584!#if RK1_ENABLED
585! PURE elemental module function getLogRateDensityM14_D1_RK1(zplus1, logzplus1) result(LogRateDensity)
586!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
587! !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityM14_D1_RK1
588!#endif
589! use pm_kind, only: RKG => RK1
590! real(RKG) , intent(in), contiguous :: zplus1(:), logzplus1(:)
591! real(RKG) :: LogRateDensity(size(logzplus1))
592! end function
593!#endif
594!
595! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
596
597 end interface
598
599!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
600
665
666 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
667
668#if RK5_ENABLED
669 PURE elemental module function getLogRateDensityM17_D0_RK5(zplus1, logzplus1) result(logRateDensity)
670#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
671 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityM17_D0_RK5
672#endif
673 use pm_kind, only: RKG => RK5
674 real(RKG) , intent(in) :: zplus1, logzplus1
675 real(RKG) :: logRateDensity
676 end function
677#endif
678
679#if RK4_ENABLED
680 PURE elemental module function getLogRateDensityM17_D0_RK4(zplus1, logzplus1) result(logRateDensity)
681#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
682 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityM17_D0_RK4
683#endif
684 use pm_kind, only: RKG => RK4
685 real(RKG) , intent(in) :: zplus1, logzplus1
686 real(RKG) :: logRateDensity
687 end function
688#endif
689
690#if RK3_ENABLED
691 PURE elemental module function getLogRateDensityM17_D0_RK3(zplus1, logzplus1) result(logRateDensity)
692#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
693 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityM17_D0_RK3
694#endif
695 use pm_kind, only: RKG => RK3
696 real(RKG) , intent(in) :: zplus1, logzplus1
697 real(RKG) :: logRateDensity
698 end function
699#endif
700
701#if RK2_ENABLED
702 PURE elemental module function getLogRateDensityM17_D0_RK2(zplus1, logzplus1) result(logRateDensity)
703#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
704 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityM17_D0_RK2
705#endif
706 use pm_kind, only: RKG => RK2
707 real(RKG) , intent(in) :: zplus1, logzplus1
708 real(RKG) :: logRateDensity
709 end function
710#endif
711
712#if RK1_ENABLED
713 PURE elemental module function getLogRateDensityM17_D0_RK1(zplus1, logzplus1) result(logRateDensity)
714#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
715 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityM17_D0_RK1
716#endif
717 use pm_kind, only: RKG => RK1
718 real(RKG) , intent(in) :: zplus1, logzplus1
719 real(RKG) :: logRateDensity
720 end function
721#endif
722
723! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
724!
725!#if RK5_ENABLED
726! PURE elemental module function getLogRateDensityM17_D1_RK5(zplus1, logzplus1) result(LogRateDensity)
727!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
728! !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityM17_D1_RK5
729!#endif
730! use pm_kind, only: RKG => RK5
731! real(RKG) , intent(in), contiguous :: zplus1(:), logzplus1(:)
732! real(RKG) :: LogRateDensity(size(logzplus1))
733! end function
734!#endif
735!
736!#if RK4_ENABLED
737! PURE elemental module function getLogRateDensityM17_D1_RK4(zplus1, logzplus1) result(LogRateDensity)
738!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
739! !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityM17_D1_RK4
740!#endif
741! use pm_kind, only: RKG => RK4
742! real(RKG) , intent(in), contiguous :: zplus1(:), logzplus1(:)
743! real(RKG) :: LogRateDensity(size(logzplus1))
744! end function
745!#endif
746!
747!#if RK3_ENABLED
748! PURE elemental module function getLogRateDensityM17_D1_RK3(zplus1, logzplus1) result(LogRateDensity)
749!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
750! !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityM17_D1_RK3
751!#endif
752! use pm_kind, only: RKG => RK3
753! real(RKG) , intent(in), contiguous :: zplus1(:), logzplus1(:)
754! real(RKG) :: LogRateDensity(size(logzplus1))
755! end function
756!#endif
757!
758!#if RK2_ENABLED
759! PURE elemental module function getLogRateDensityM17_D1_RK2(zplus1, logzplus1) result(LogRateDensity)
760!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
761! !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityM17_D1_RK2
762!#endif
763! use pm_kind, only: RKG => RK2
764! real(RKG) , intent(in), contiguous :: zplus1(:), logzplus1(:)
765! real(RKG) :: LogRateDensity(size(logzplus1))
766! end function
767!#endif
768!
769!#if RK1_ENABLED
770! PURE elemental module function getLogRateDensityM17_D1_RK1(zplus1, logzplus1) result(LogRateDensity)
771!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
772! !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityM17_D1_RK1
773!#endif
774! use pm_kind, only: RKG => RK1
775! real(RKG) , intent(in), contiguous :: zplus1(:), logzplus1(:)
776! real(RKG) :: LogRateDensity(size(logzplus1))
777! end function
778!#endif
779!
780! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
781
782 end interface
783
784!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
785
850
851 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
852
853#if RK5_ENABLED
854 PURE elemental module function getLogRateDensityF18_D0_RK5(zplus1, logzplus1) result(logRateDensity)
855#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
856 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityF18_D0_RK5
857#endif
858 use pm_kind, only: RKG => RK5
859 real(RKG) , intent(in) :: zplus1, logzplus1
860 real(RKG) :: logRateDensity
861 end function
862#endif
863
864#if RK4_ENABLED
865 PURE elemental module function getLogRateDensityF18_D0_RK4(zplus1, logzplus1) result(logRateDensity)
866#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
867 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityF18_D0_RK4
868#endif
869 use pm_kind, only: RKG => RK4
870 real(RKG) , intent(in) :: zplus1, logzplus1
871 real(RKG) :: logRateDensity
872 end function
873#endif
874
875#if RK3_ENABLED
876 PURE elemental module function getLogRateDensityF18_D0_RK3(zplus1, logzplus1) result(logRateDensity)
877#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
878 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityF18_D0_RK3
879#endif
880 use pm_kind, only: RKG => RK3
881 real(RKG) , intent(in) :: zplus1, logzplus1
882 real(RKG) :: logRateDensity
883 end function
884#endif
885
886#if RK2_ENABLED
887 PURE elemental module function getLogRateDensityF18_D0_RK2(zplus1, logzplus1) result(logRateDensity)
888#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
889 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityF18_D0_RK2
890#endif
891 use pm_kind, only: RKG => RK2
892 real(RKG) , intent(in) :: zplus1, logzplus1
893 real(RKG) :: logRateDensity
894 end function
895#endif
896
897#if RK1_ENABLED
898 PURE elemental module function getLogRateDensityF18_D0_RK1(zplus1, logzplus1) result(logRateDensity)
899#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
900 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityF18_D0_RK1
901#endif
902 use pm_kind, only: RKG => RK1
903 real(RKG) , intent(in) :: zplus1, logzplus1
904 real(RKG) :: logRateDensity
905 end function
906#endif
907
908! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
909!
910!#if RK5_ENABLED
911! PURE elemental module function getLogRateDensityF18_D1_RK5(zplus1, logzplus1) result(LogRateDensity)
912!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
913! !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityF18_D1_RK5
914!#endif
915! use pm_kind, only: RKG => RK5
916! real(RKG) , intent(in), contiguous :: zplus1(:), logzplus1(:)
917! real(RKG) :: LogRateDensity(size(logzplus1))
918! end function
919!#endif
920!
921!#if RK4_ENABLED
922! PURE elemental module function getLogRateDensityF18_D1_RK4(zplus1, logzplus1) result(LogRateDensity)
923!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
924! !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityF18_D1_RK4
925!#endif
926! use pm_kind, only: RKG => RK4
927! real(RKG) , intent(in), contiguous :: zplus1(:), logzplus1(:)
928! real(RKG) :: LogRateDensity(size(logzplus1))
929! end function
930!#endif
931!
932!#if RK3_ENABLED
933! PURE elemental module function getLogRateDensityF18_D1_RK3(zplus1, logzplus1) result(LogRateDensity)
934!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
935! !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityF18_D1_RK3
936!#endif
937! use pm_kind, only: RKG => RK3
938! real(RKG) , intent(in), contiguous :: zplus1(:), logzplus1(:)
939! real(RKG) :: LogRateDensity(size(logzplus1))
940! end function
941!#endif
942!
943!#if RK2_ENABLED
944! PURE elemental module function getLogRateDensityF18_D1_RK2(zplus1, logzplus1) result(LogRateDensity)
945!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
946! !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityF18_D1_RK2
947!#endif
948! use pm_kind, only: RKG => RK2
949! real(RKG) , intent(in), contiguous :: zplus1(:), logzplus1(:)
950! real(RKG) :: LogRateDensity(size(logzplus1))
951! end function
952!#endif
953!
954!#if RK1_ENABLED
955! PURE elemental module function getLogRateDensityF18_D1_RK1(zplus1, logzplus1) result(LogRateDensity)
956!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
957! !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityF18_D1_RK1
958!#endif
959! use pm_kind, only: RKG => RK1
960! real(RKG) , intent(in), contiguous :: zplus1(:), logzplus1(:)
961! real(RKG) :: LogRateDensity(size(logzplus1))
962! end function
963!#endif
964!
965! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
966
967 end interface
968
969!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
970
1040
1041 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1042
1043#if RK5_ENABLED
1044 PURE elemental module function getLogRateDensityB10_D0_RK5(logzplus1) result(logRateDensity)
1045#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1046 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityB10_D0_RK5
1047#endif
1048 use pm_kind, only: RKG => RK5
1049 real(RKG) , intent(in) :: logzplus1
1050 real(RKG) :: logRateDensity
1051 end function
1052#endif
1053
1054#if RK4_ENABLED
1055 PURE elemental module function getLogRateDensityB10_D0_RK4(logzplus1) result(logRateDensity)
1056#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1057 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityB10_D0_RK4
1058#endif
1059 use pm_kind, only: RKG => RK4
1060 real(RKG) , intent(in) :: logzplus1
1061 real(RKG) :: logRateDensity
1062 end function
1063#endif
1064
1065#if RK3_ENABLED
1066 PURE elemental module function getLogRateDensityB10_D0_RK3(logzplus1) result(logRateDensity)
1067#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1068 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityB10_D0_RK3
1069#endif
1070 use pm_kind, only: RKG => RK3
1071 real(RKG) , intent(in) :: logzplus1
1072 real(RKG) :: logRateDensity
1073 end function
1074#endif
1075
1076#if RK2_ENABLED
1077 PURE elemental module function getLogRateDensityB10_D0_RK2(logzplus1) result(logRateDensity)
1078#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1079 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityB10_D0_RK2
1080#endif
1081 use pm_kind, only: LK, RKG => RK2
1082 real(RKG) , intent(in) :: logzplus1
1083 real(RKG) :: logRateDensity
1084 end function
1085#endif
1086
1087#if RK1_ENABLED
1088 PURE elemental module function getLogRateDensityB10_D0_RK1(logzplus1) result(logRateDensity)
1089#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1090 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityB10_D0_RK1
1091#endif
1092 use pm_kind, only: LK, RKG => RK1
1093 real(RKG) , intent(in) :: logzplus1
1094 real(RKG) :: logRateDensity
1095 end function
1096#endif
1097
1098 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1099
1100 end interface
1101
1102!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1103
1162
1163 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1164
1165#if RK5_ENABLED
1166 PURE elemental module function getLogRateDensityP15_D0_RK5(logzplus1) result(logRateDensity)
1167#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1168 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityP15_D0_RK5
1169#endif
1170 use pm_kind, only: RKG => RK5
1171 real(RKG) , intent(in) :: logzplus1
1172 real(RKG) :: logRateDensity
1173 end function
1174#endif
1175
1176#if RK4_ENABLED
1177 PURE elemental module function getLogRateDensityP15_D0_RK4(logzplus1) result(logRateDensity)
1178#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1179 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityP15_D0_RK4
1180#endif
1181 use pm_kind, only: RKG => RK4
1182 real(RKG) , intent(in) :: logzplus1
1183 real(RKG) :: logRateDensity
1184 end function
1185#endif
1186
1187#if RK3_ENABLED
1188 PURE elemental module function getLogRateDensityP15_D0_RK3(logzplus1) result(logRateDensity)
1189#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1190 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityP15_D0_RK3
1191#endif
1192 use pm_kind, only: RKG => RK3
1193 real(RKG) , intent(in) :: logzplus1
1194 real(RKG) :: logRateDensity
1195 end function
1196#endif
1197
1198#if RK2_ENABLED
1199 PURE elemental module function getLogRateDensityP15_D0_RK2(logzplus1) result(logRateDensity)
1200#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1201 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityP15_D0_RK2
1202#endif
1203 use pm_kind, only: LK, RKG => RK2
1204 real(RKG) , intent(in) :: logzplus1
1205 real(RKG) :: logRateDensity
1206 end function
1207#endif
1208
1209#if RK1_ENABLED
1210 PURE elemental module function getLogRateDensityP15_D0_RK1(logzplus1) result(logRateDensity)
1211#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1212 !DEC$ ATTRIBUTES DLLEXPORT :: getLogRateDensityP15_D0_RK1
1213#endif
1214 use pm_kind, only: LK, RKG => RK1
1215 real(RKG) , intent(in) :: logzplus1
1216 real(RKG) :: logRateDensity
1217 end function
1218#endif
1219
1220 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1221
1222 end interface
1223
1224!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1225
1226end module pm_cosmicRate
Generate and return the unnormalized Comoving LGRB Formation Rate (LGFR) density for a given redshift...
Generate and return the unnormalized Comoving Star Formation Rate (SFR) density for a given redshift ...
Generate and return the unnormalized Comoving Star Formation Rate (SFR) density for a given redshift ...
Generate and return the unnormalized Comoving Star Formation Rate (SFR) density for a given redshift ...
Generate and return the unnormalized Comoving Star Formation Rate (SFR) density for a given redshift ...
Generate and return the unnormalized Comoving Star Formation Rate (SFR) density for a given redshift ...
Generate and return the unnormalized Gamma-Ray Burst Formation Rate (GRBFR) density based on the esti...
This module contains procedures and generic interfaces for computing the cosmic rates of celestial ph...
character(*, SK), parameter MODULE_NAME
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 RK
The default real kind in the ParaMonte library: real64 in Fortran, c_double in C-Fortran Interoperati...
Definition: pm_kind.F90:543
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 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