ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_distPiwiPoweto.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
91
92!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
93
95
96 use pm_kind, only: SK, IK
97
98 implicit none
99
100 character(*, SK), parameter :: MODULE_NAME = "@pm_distPiwiPoweto"
101
102!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
103
180
181 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
182
183#if RK5_ENABLED
184 PURE module function getPiwiPowetoLogPDFNFALD_RK5(alpha, logLimX) result(logPDFNF)
185#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
186 !DEC$ ATTRIBUTES DLLEXPORT :: getPiwiPowetoLogPDFNFALD_RK5
187#endif
188 use pm_kind, only: RKG => RK5
189 real(RKG) , intent(in) , contiguous :: alpha(:), logLimX(:)
190 real(RKG) :: logPDFNF(size(alpha, kind = IK))
191 end function
192#endif
193
194#if RK4_ENABLED
195 PURE module function getPiwiPowetoLogPDFNFALD_RK4(alpha, logLimX) result(logPDFNF)
196#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
197 !DEC$ ATTRIBUTES DLLEXPORT :: getPiwiPowetoLogPDFNFALD_RK4
198#endif
199 use pm_kind, only: RKG => RK4
200 real(RKG) , intent(in) , contiguous :: alpha(:), logLimX(:)
201 real(RKG) :: logPDFNF(size(alpha, kind = IK))
202 end function
203#endif
204
205#if RK3_ENABLED
206 PURE module function getPiwiPowetoLogPDFNFALD_RK3(alpha, logLimX) result(logPDFNF)
207#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
208 !DEC$ ATTRIBUTES DLLEXPORT :: getPiwiPowetoLogPDFNFALD_RK3
209#endif
210 use pm_kind, only: RKG => RK3
211 real(RKG) , intent(in) , contiguous :: alpha(:), logLimX(:)
212 real(RKG) :: logPDFNF(size(alpha, kind = IK))
213 end function
214#endif
215
216#if RK2_ENABLED
217 PURE module function getPiwiPowetoLogPDFNFALD_RK2(alpha, logLimX) result(logPDFNF)
218#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
219 !DEC$ ATTRIBUTES DLLEXPORT :: getPiwiPowetoLogPDFNFALD_RK2
220#endif
221 use pm_kind, only: RKG => RK2
222 real(RKG) , intent(in) , contiguous :: alpha(:), logLimX(:)
223 real(RKG) :: logPDFNF(size(alpha, kind = IK))
224 end function
225#endif
226
227#if RK1_ENABLED
228 PURE module function getPiwiPowetoLogPDFNFALD_RK1(alpha, logLimX) result(logPDFNF)
229#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
230 !DEC$ ATTRIBUTES DLLEXPORT :: getPiwiPowetoLogPDFNFALD_RK1
231#endif
232 use pm_kind, only: RKG => RK1
233 real(RKG) , intent(in) , contiguous :: alpha(:), logLimX(:)
234 real(RKG) :: logPDFNF(size(alpha, kind = IK))
235 end function
236#endif
237
238 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
239
240#if RK5_ENABLED
241 module function getPiwiPowetoLogPDFNFALC_RK5(alpha, logLimX, cumSumArea) result(logPDFNF)
242#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
243 !DEC$ ATTRIBUTES DLLEXPORT :: getPiwiPowetoLogPDFNFALC_RK5
244#endif
245 use pm_kind, only: RKG => RK5
246 real(RKG) , intent(in) , contiguous :: alpha(:), logLimX(:)
247 real(RKG) , intent(out) , contiguous :: cumSumArea(:)
248 real(RKG) :: logPDFNF(size(alpha, kind = IK))
249 end function
250#endif
251
252#if RK4_ENABLED
253 module function getPiwiPowetoLogPDFNFALC_RK4(alpha, logLimX, cumSumArea) result(logPDFNF)
254#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
255 !DEC$ ATTRIBUTES DLLEXPORT :: getPiwiPowetoLogPDFNFALC_RK4
256#endif
257 use pm_kind, only: RKG => RK4
258 real(RKG) , intent(in) , contiguous :: alpha(:), logLimX(:)
259 real(RKG) , intent(out) , contiguous :: cumSumArea(:)
260 real(RKG) :: logPDFNF(size(alpha, kind = IK))
261 end function
262#endif
263
264#if RK3_ENABLED
265 module function getPiwiPowetoLogPDFNFALC_RK3(alpha, logLimX, cumSumArea) result(logPDFNF)
266#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
267 !DEC$ ATTRIBUTES DLLEXPORT :: getPiwiPowetoLogPDFNFALC_RK3
268#endif
269 use pm_kind, only: RKG => RK3
270 real(RKG) , intent(in) , contiguous :: alpha(:), logLimX(:)
271 real(RKG) , intent(out) , contiguous :: cumSumArea(:)
272 real(RKG) :: logPDFNF(size(alpha, kind = IK))
273 end function
274#endif
275
276#if RK2_ENABLED
277 module function getPiwiPowetoLogPDFNFALC_RK2(alpha, logLimX, cumSumArea) result(logPDFNF)
278#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
279 !DEC$ ATTRIBUTES DLLEXPORT :: getPiwiPowetoLogPDFNFALC_RK2
280#endif
281 use pm_kind, only: RKG => RK2
282 real(RKG) , intent(in) , contiguous :: alpha(:), logLimX(:)
283 real(RKG) , intent(out) , contiguous :: cumSumArea(:)
284 real(RKG) :: logPDFNF(size(alpha, kind = IK))
285 end function
286#endif
287
288#if RK1_ENABLED
289 module function getPiwiPowetoLogPDFNFALC_RK1(alpha, logLimX, cumSumArea) result(logPDFNF)
290#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
291 !DEC$ ATTRIBUTES DLLEXPORT :: getPiwiPowetoLogPDFNFALC_RK1
292#endif
293 use pm_kind, only: RKG => RK1
294 real(RKG) , intent(in) , contiguous :: alpha(:), logLimX(:)
295 real(RKG) , intent(out) , contiguous :: cumSumArea(:)
296 real(RKG) :: logPDFNF(size(alpha, kind = IK))
297 end function
298#endif
299
300 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
301
302 end interface
303
304!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
305
372
373 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
374
375#if RK5_ENABLED
376 PURE module function getPiwiPowetoLogPDF_RK5(logx, alpha, logLimX, logPDFNF) result(logPDF)
377#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
378 !DEC$ ATTRIBUTES DLLEXPORT :: getPiwiPowetoLogPDF_RK5
379#endif
380 use pm_kind, only: RKG => RK5
381 real(RKG) , intent(in) :: logx
382 real(RKG) , intent(in) , contiguous :: logLimX(:)
383 real(RKG) , intent(in) , contiguous :: alpha(:)
384 real(RKG) , intent(in) , contiguous, optional :: logPDFNF(:)
385 real(RKG) :: logPDF
386 end function
387#endif
388
389#if RK4_ENABLED
390 PURE module function getPiwiPowetoLogPDF_RK4(logx, alpha, logLimX, logPDFNF) result(logPDF)
391#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
392 !DEC$ ATTRIBUTES DLLEXPORT :: getPiwiPowetoLogPDF_RK4
393#endif
394 use pm_kind, only: RKG => RK4
395 real(RKG) , intent(in) :: logx
396 real(RKG) , intent(in) , contiguous :: logLimX(:)
397 real(RKG) , intent(in) , contiguous :: alpha(:)
398 real(RKG) , intent(in) , contiguous, optional :: logPDFNF(:)
399 real(RKG) :: logPDF
400 end function
401#endif
402
403#if RK3_ENABLED
404 PURE module function getPiwiPowetoLogPDF_RK3(logx, alpha, logLimX, logPDFNF) result(logPDF)
405#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
406 !DEC$ ATTRIBUTES DLLEXPORT :: getPiwiPowetoLogPDF_RK3
407#endif
408 use pm_kind, only: RKG => RK3
409 real(RKG) , intent(in) :: logx
410 real(RKG) , intent(in) , contiguous :: logLimX(:)
411 real(RKG) , intent(in) , contiguous :: alpha(:)
412 real(RKG) , intent(in) , contiguous, optional :: logPDFNF(:)
413 real(RKG) :: logPDF
414 end function
415#endif
416
417#if RK2_ENABLED
418 PURE module function getPiwiPowetoLogPDF_RK2(logx, alpha, logLimX, logPDFNF) result(logPDF)
419#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
420 !DEC$ ATTRIBUTES DLLEXPORT :: getPiwiPowetoLogPDF_RK2
421#endif
422 use pm_kind, only: RKG => RK2
423 real(RKG) , intent(in) :: logx
424 real(RKG) , intent(in) , contiguous :: logLimX(:)
425 real(RKG) , intent(in) , contiguous :: alpha(:)
426 real(RKG) , intent(in) , contiguous, optional :: logPDFNF(:)
427 real(RKG) :: logPDF
428 end function
429#endif
430
431#if RK1_ENABLED
432 PURE module function getPiwiPowetoLogPDF_RK1(logx, alpha, logLimX, logPDFNF) result(logPDF)
433#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
434 !DEC$ ATTRIBUTES DLLEXPORT :: getPiwiPowetoLogPDF_RK1
435#endif
436 use pm_kind, only: RKG => RK1
437 real(RKG) , intent(in) :: logx
438 real(RKG) , intent(in) , contiguous :: logLimX(:)
439 real(RKG) , intent(in) , contiguous :: alpha(:)
440 real(RKG) , intent(in) , contiguous, optional :: logPDFNF(:)
441 real(RKG) :: logPDF
442 end function
443#endif
444
445 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
446
447 end interface
448
449!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
450
515
516 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
517
518#if RK5_ENABLED
519 PURE module subroutine setPiwiPowetoLogPDFALL_D0_RK5(logPDF, logx, alpha, logLimX, logPDFNF)
520#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
521 !DEC$ ATTRIBUTES DLLEXPORT :: setPiwiPowetoLogPDFALL_D0_RK5
522#endif
523 use pm_kind, only: RKG => RK5
524 real(RKG) , intent(out) :: logPDF
525 real(RKG) , intent(in) :: logx
526 real(RKG) , intent(in) , contiguous :: logLimX(:)
527 real(RKG) , intent(in) , contiguous :: alpha(:)
528 real(RKG) , intent(in) , contiguous :: logPDFNF(:)
529 end subroutine
530#endif
531
532#if RK4_ENABLED
533 PURE module subroutine setPiwiPowetoLogPDFALL_D0_RK4(logPDF, logx, alpha, logLimX, logPDFNF)
534#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
535 !DEC$ ATTRIBUTES DLLEXPORT :: setPiwiPowetoLogPDFALL_D0_RK4
536#endif
537 use pm_kind, only: RKG => RK4
538 real(RKG) , intent(out) :: logPDF
539 real(RKG) , intent(in) :: logx
540 real(RKG) , intent(in) , contiguous :: logLimX(:)
541 real(RKG) , intent(in) , contiguous :: alpha(:)
542 real(RKG) , intent(in) , contiguous :: logPDFNF(:)
543 end subroutine
544#endif
545
546#if RK3_ENABLED
547 PURE module subroutine setPiwiPowetoLogPDFALL_D0_RK3(logPDF, logx, alpha, logLimX, logPDFNF)
548#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
549 !DEC$ ATTRIBUTES DLLEXPORT :: setPiwiPowetoLogPDFALL_D0_RK3
550#endif
551 use pm_kind, only: RKG => RK3
552 real(RKG) , intent(out) :: logPDF
553 real(RKG) , intent(in) :: logx
554 real(RKG) , intent(in) , contiguous :: logLimX(:)
555 real(RKG) , intent(in) , contiguous :: alpha(:)
556 real(RKG) , intent(in) , contiguous :: logPDFNF(:)
557 end subroutine
558#endif
559
560#if RK2_ENABLED
561 PURE module subroutine setPiwiPowetoLogPDFALL_D0_RK2(logPDF, logx, alpha, logLimX, logPDFNF)
562#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
563 !DEC$ ATTRIBUTES DLLEXPORT :: setPiwiPowetoLogPDFALL_D0_RK2
564#endif
565 use pm_kind, only: RKG => RK2
566 real(RKG) , intent(out) :: logPDF
567 real(RKG) , intent(in) :: logx
568 real(RKG) , intent(in) , contiguous :: logLimX(:)
569 real(RKG) , intent(in) , contiguous :: alpha(:)
570 real(RKG) , intent(in) , contiguous :: logPDFNF(:)
571 end subroutine
572#endif
573
574#if RK1_ENABLED
575 PURE module subroutine setPiwiPowetoLogPDFALL_D0_RK1(logPDF, logx, alpha, logLimX, logPDFNF)
576#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
577 !DEC$ ATTRIBUTES DLLEXPORT :: setPiwiPowetoLogPDFALL_D0_RK1
578#endif
579 use pm_kind, only: RKG => RK1
580 real(RKG) , intent(out) :: logPDF
581 real(RKG) , intent(in) :: logx
582 real(RKG) , intent(in) , contiguous :: logLimX(:)
583 real(RKG) , intent(in) , contiguous :: alpha(:)
584 real(RKG) , intent(in) , contiguous :: logPDFNF(:)
585 end subroutine
586#endif
587
588 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
589
590#if RK5_ENABLED
591 PURE module subroutine setPiwiPowetoLogPDFBAN_D0_RK5(logPDF, logx, alpha, bin, logPDFNF)
592#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
593 !DEC$ ATTRIBUTES DLLEXPORT :: setPiwiPowetoLogPDFBAN_D0_RK5
594#endif
595 use pm_kind, only: RKG => RK5
596 real(RKG) , intent(out) :: logPDF
597 real(RKG) , intent(in) :: logx
598 real(RKG) , intent(in) , contiguous :: alpha(:)
599 real(RKG) , intent(in) , contiguous :: logPDFNF(:)
600 integer(IK) , intent(in) :: bin
601 end subroutine
602#endif
603
604#if RK4_ENABLED
605 PURE module subroutine setPiwiPowetoLogPDFBAN_D0_RK4(logPDF, logx, alpha, bin, logPDFNF)
606#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
607 !DEC$ ATTRIBUTES DLLEXPORT :: setPiwiPowetoLogPDFBAN_D0_RK4
608#endif
609 use pm_kind, only: RKG => RK4
610 real(RKG) , intent(out) :: logPDF
611 real(RKG) , intent(in) :: logx
612 real(RKG) , intent(in) , contiguous :: alpha(:)
613 real(RKG) , intent(in) , contiguous :: logPDFNF(:)
614 integer(IK) , intent(in) :: bin
615 end subroutine
616#endif
617
618#if RK3_ENABLED
619 PURE module subroutine setPiwiPowetoLogPDFBAN_D0_RK3(logPDF, logx, alpha, bin, logPDFNF)
620#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
621 !DEC$ ATTRIBUTES DLLEXPORT :: setPiwiPowetoLogPDFBAN_D0_RK3
622#endif
623 use pm_kind, only: RKG => RK3
624 real(RKG) , intent(out) :: logPDF
625 real(RKG) , intent(in) :: logx
626 real(RKG) , intent(in) , contiguous :: alpha(:)
627 real(RKG) , intent(in) , contiguous :: logPDFNF(:)
628 integer(IK) , intent(in) :: bin
629 end subroutine
630#endif
631
632#if RK2_ENABLED
633 PURE module subroutine setPiwiPowetoLogPDFBAN_D0_RK2(logPDF, logx, alpha, bin, logPDFNF)
634#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
635 !DEC$ ATTRIBUTES DLLEXPORT :: setPiwiPowetoLogPDFBAN_D0_RK2
636#endif
637 use pm_kind, only: RKG => RK2
638 real(RKG) , intent(out) :: logPDF
639 real(RKG) , intent(in) :: logx
640 real(RKG) , intent(in) , contiguous :: alpha(:)
641 real(RKG) , intent(in) , contiguous :: logPDFNF(:)
642 integer(IK) , intent(in) :: bin
643 end subroutine
644#endif
645
646#if RK1_ENABLED
647 PURE module subroutine setPiwiPowetoLogPDFBAN_D0_RK1(logPDF, logx, alpha, bin, logPDFNF)
648#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
649 !DEC$ ATTRIBUTES DLLEXPORT :: setPiwiPowetoLogPDFBAN_D0_RK1
650#endif
651 use pm_kind, only: RKG => RK1
652 real(RKG) , intent(out) :: logPDF
653 real(RKG) , intent(in) :: logx
654 real(RKG) , intent(in) , contiguous :: alpha(:)
655 real(RKG) , intent(in) , contiguous :: logPDFNF(:)
656 integer(IK) , intent(in) :: bin
657 end subroutine
658#endif
659
660 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
661
662 end interface
663
664!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
665
743
744 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
745
746#if RK5_ENABLED
747 impure module function getPiwiPowetoCDFALDD_RK5(logx, alpha, logLimX) result(cdf)
748#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
749 !DEC$ ATTRIBUTES DLLEXPORT :: getPiwiPowetoCDFALDD_RK5
750#endif
751 use pm_kind, only: RKG => RK5
752 real(RKG) , intent(in) :: logx
753 real(RKG) , intent(in) , contiguous :: alpha(:)
754 real(RKG) , intent(in) , contiguous :: logLimX(:)
755 real(RKG) :: cdf
756 end function
757#endif
758
759#if RK4_ENABLED
760 impure module function getPiwiPowetoCDFALDD_RK4(logx, alpha, logLimX) result(cdf)
761#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
762 !DEC$ ATTRIBUTES DLLEXPORT :: getPiwiPowetoCDFALDD_RK4
763#endif
764 use pm_kind, only: RKG => RK4
765 real(RKG) , intent(in) :: logx
766 real(RKG) , intent(in) , contiguous :: alpha(:)
767 real(RKG) , intent(in) , contiguous :: logLimX(:)
768 real(RKG) :: cdf
769 end function
770#endif
771
772#if RK3_ENABLED
773 impure module function getPiwiPowetoCDFALDD_RK3(logx, alpha, logLimX) result(cdf)
774#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
775 !DEC$ ATTRIBUTES DLLEXPORT :: getPiwiPowetoCDFALDD_RK3
776#endif
777 use pm_kind, only: RKG => RK3
778 real(RKG) , intent(in) :: logx
779 real(RKG) , intent(in) , contiguous :: alpha(:)
780 real(RKG) , intent(in) , contiguous :: logLimX(:)
781 real(RKG) :: cdf
782 end function
783#endif
784
785#if RK2_ENABLED
786 impure module function getPiwiPowetoCDFALDD_RK2(logx, alpha, logLimX) result(cdf)
787#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
788 !DEC$ ATTRIBUTES DLLEXPORT :: getPiwiPowetoCDFALDD_RK2
789#endif
790 use pm_kind, only: RKG => RK2
791 real(RKG) , intent(in) :: logx
792 real(RKG) , intent(in) , contiguous :: alpha(:)
793 real(RKG) , intent(in) , contiguous :: logLimX(:)
794 real(RKG) :: cdf
795 end function
796#endif
797
798#if RK1_ENABLED
799 impure module function getPiwiPowetoCDFALDD_RK1(logx, alpha, logLimX) result(cdf)
800#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
801 !DEC$ ATTRIBUTES DLLEXPORT :: getPiwiPowetoCDFALDD_RK1
802#endif
803 use pm_kind, only: RKG => RK1
804 real(RKG) , intent(in) :: logx
805 real(RKG) , intent(in) , contiguous :: alpha(:)
806 real(RKG) , intent(in) , contiguous :: logLimX(:)
807 real(RKG) :: cdf
808 end function
809#endif
810
811 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
812
813#if RK5_ENABLED
814 impure module function getPiwiPowetoCDFALLC_RK5(logx, alpha, logLimX, logPDFNF, cumSumArea) result(cdf)
815#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
816 !DEC$ ATTRIBUTES DLLEXPORT :: getPiwiPowetoCDFALLC_RK5
817#endif
818 use pm_kind, only: RKG => RK5
819 real(RKG) , intent(in) :: logx
820 real(RKG) , intent(in) , contiguous :: alpha(:)
821 real(RKG) , intent(in) , contiguous :: logLimX(:)
822 real(RKG) , intent(in) , contiguous :: logPDFNF(:)
823 real(RKG) , intent(in) , contiguous :: cumSumArea(:)
824 real(RKG) :: cdf
825 end function
826#endif
827
828#if RK4_ENABLED
829 impure module function getPiwiPowetoCDFALLC_RK4(logx, alpha, logLimX, logPDFNF, cumSumArea) result(cdf)
830#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
831 !DEC$ ATTRIBUTES DLLEXPORT :: getPiwiPowetoCDFALLC_RK4
832#endif
833 use pm_kind, only: RKG => RK4
834 real(RKG) , intent(in) :: logx
835 real(RKG) , intent(in) , contiguous :: alpha(:)
836 real(RKG) , intent(in) , contiguous :: logLimX(:)
837 real(RKG) , intent(in) , contiguous :: logPDFNF(:)
838 real(RKG) , intent(in) , contiguous :: cumSumArea(:)
839 real(RKG) :: cdf
840 end function
841#endif
842
843#if RK3_ENABLED
844 impure module function getPiwiPowetoCDFALLC_RK3(logx, alpha, logLimX, logPDFNF, cumSumArea) result(cdf)
845#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
846 !DEC$ ATTRIBUTES DLLEXPORT :: getPiwiPowetoCDFALLC_RK3
847#endif
848 use pm_kind, only: RKG => RK3
849 real(RKG) , intent(in) :: logx
850 real(RKG) , intent(in) , contiguous :: alpha(:)
851 real(RKG) , intent(in) , contiguous :: logLimX(:)
852 real(RKG) , intent(in) , contiguous :: logPDFNF(:)
853 real(RKG) , intent(in) , contiguous :: cumSumArea(:)
854 real(RKG) :: cdf
855 end function
856#endif
857
858#if RK2_ENABLED
859 impure module function getPiwiPowetoCDFALLC_RK2(logx, alpha, logLimX, logPDFNF, cumSumArea) result(cdf)
860#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
861 !DEC$ ATTRIBUTES DLLEXPORT :: getPiwiPowetoCDFALLC_RK2
862#endif
863 use pm_kind, only: RKG => RK2
864 real(RKG) , intent(in) :: logx
865 real(RKG) , intent(in) , contiguous :: alpha(:)
866 real(RKG) , intent(in) , contiguous :: logLimX(:)
867 real(RKG) , intent(in) , contiguous :: logPDFNF(:)
868 real(RKG) , intent(in) , contiguous :: cumSumArea(:)
869 real(RKG) :: cdf
870 end function
871#endif
872
873#if RK1_ENABLED
874 impure module function getPiwiPowetoCDFALLC_RK1(logx, alpha, logLimX, logPDFNF, cumSumArea) result(cdf)
875#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
876 !DEC$ ATTRIBUTES DLLEXPORT :: getPiwiPowetoCDFALLC_RK1
877#endif
878 use pm_kind, only: RKG => RK1
879 real(RKG) , intent(in) :: logx
880 real(RKG) , intent(in) , contiguous :: alpha(:)
881 real(RKG) , intent(in) , contiguous :: logLimX(:)
882 real(RKG) , intent(in) , contiguous :: logPDFNF(:)
883 real(RKG) , intent(in) , contiguous :: cumSumArea(:)
884 real(RKG) :: cdf
885 end function
886#endif
887
888 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
889
890 end interface
891
892!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
893
968
969 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
970
971#if RK5_ENABLED
972 PURE module subroutine setPiwiPowetoCDFMAN_D0_RK5(cdf, logx, alpha, logLimX, logPDFNF, cumSumArea)
973#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
974 !DEC$ ATTRIBUTES DLLEXPORT :: setPiwiPowetoCDFMAN_D0_RK5
975#endif
976 use pm_kind, only: RKG => RK5
977 real(RKG) , intent(out) :: cdf
978 real(RKG) , intent(in) :: logx
979 real(RKG) , intent(in) , contiguous :: alpha(:)
980 real(RKG) , intent(in) , contiguous :: logLimX(:)
981 real(RKG) , intent(in) , contiguous :: logPDFNF(:)
982 real(RKG) , intent(in) , contiguous :: cumSumArea(:)
983 end subroutine
984#endif
985
986#if RK4_ENABLED
987 PURE module subroutine setPiwiPowetoCDFMAN_D0_RK4(cdf, logx, alpha, logLimX, logPDFNF, cumSumArea)
988#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
989 !DEC$ ATTRIBUTES DLLEXPORT :: setPiwiPowetoCDFMAN_D0_RK4
990#endif
991 use pm_kind, only: RKG => RK4
992 real(RKG) , intent(out) :: cdf
993 real(RKG) , intent(in) :: logx
994 real(RKG) , intent(in) , contiguous :: alpha(:)
995 real(RKG) , intent(in) , contiguous :: logLimX(:)
996 real(RKG) , intent(in) , contiguous :: logPDFNF(:)
997 real(RKG) , intent(in) , contiguous :: cumSumArea(:)
998 end subroutine
999#endif
1000
1001#if RK3_ENABLED
1002 PURE module subroutine setPiwiPowetoCDFMAN_D0_RK3(cdf, logx, alpha, logLimX, logPDFNF, cumSumArea)
1003#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1004 !DEC$ ATTRIBUTES DLLEXPORT :: setPiwiPowetoCDFMAN_D0_RK3
1005#endif
1006 use pm_kind, only: RKG => RK3
1007 real(RKG) , intent(out) :: cdf
1008 real(RKG) , intent(in) :: logx
1009 real(RKG) , intent(in) , contiguous :: alpha(:)
1010 real(RKG) , intent(in) , contiguous :: logLimX(:)
1011 real(RKG) , intent(in) , contiguous :: logPDFNF(:)
1012 real(RKG) , intent(in) , contiguous :: cumSumArea(:)
1013 end subroutine
1014#endif
1015
1016#if RK2_ENABLED
1017 PURE module subroutine setPiwiPowetoCDFMAN_D0_RK2(cdf, logx, alpha, logLimX, logPDFNF, cumSumArea)
1018#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1019 !DEC$ ATTRIBUTES DLLEXPORT :: setPiwiPowetoCDFMAN_D0_RK2
1020#endif
1021 use pm_kind, only: RKG => RK2
1022 real(RKG) , intent(out) :: cdf
1023 real(RKG) , intent(in) :: logx
1024 real(RKG) , intent(in) , contiguous :: alpha(:)
1025 real(RKG) , intent(in) , contiguous :: logLimX(:)
1026 real(RKG) , intent(in) , contiguous :: logPDFNF(:)
1027 real(RKG) , intent(in) , contiguous :: cumSumArea(:)
1028 end subroutine
1029#endif
1030
1031#if RK1_ENABLED
1032 PURE module subroutine setPiwiPowetoCDFMAN_D0_RK1(cdf, logx, alpha, logLimX, logPDFNF, cumSumArea)
1033#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1034 !DEC$ ATTRIBUTES DLLEXPORT :: setPiwiPowetoCDFMAN_D0_RK1
1035#endif
1036 use pm_kind, only: RKG => RK1
1037 real(RKG) , intent(out) :: cdf
1038 real(RKG) , intent(in) :: logx
1039 real(RKG) , intent(in) , contiguous :: alpha(:)
1040 real(RKG) , intent(in) , contiguous :: logLimX(:)
1041 real(RKG) , intent(in) , contiguous :: logPDFNF(:)
1042 real(RKG) , intent(in) , contiguous :: cumSumArea(:)
1043 end subroutine
1044#endif
1045
1046 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1047
1048#if RK5_ENABLED
1049 PURE module subroutine setPiwiPowetoCDFBAN_D0_RK5(cdf, logx, alpha, logLimX, logPDFNF, cumSumArea, bin)
1050#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1051 !DEC$ ATTRIBUTES DLLEXPORT :: setPiwiPowetoCDFBAN_D0_RK5
1052#endif
1053 use pm_kind, only: RKG => RK5
1054 real(RKG) , intent(out) :: cdf
1055 real(RKG) , intent(in) :: logx
1056 real(RKG) , intent(in) , contiguous :: alpha(:)
1057 real(RKG) , intent(in) , contiguous :: logLimX(:)
1058 real(RKG) , intent(in) , contiguous :: logPDFNF(:)
1059 real(RKG) , intent(in) , contiguous :: cumSumArea(:)
1060 integer(IK) , intent(in) :: bin
1061 end subroutine
1062#endif
1063
1064#if RK4_ENABLED
1065 PURE module subroutine setPiwiPowetoCDFBAN_D0_RK4(cdf, logx, alpha, logLimX, logPDFNF, cumSumArea, bin)
1066#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1067 !DEC$ ATTRIBUTES DLLEXPORT :: setPiwiPowetoCDFBAN_D0_RK4
1068#endif
1069 use pm_kind, only: RKG => RK4
1070 real(RKG) , intent(out) :: cdf
1071 real(RKG) , intent(in) :: logx
1072 real(RKG) , intent(in) , contiguous :: alpha(:)
1073 real(RKG) , intent(in) , contiguous :: logLimX(:)
1074 real(RKG) , intent(in) , contiguous :: logPDFNF(:)
1075 real(RKG) , intent(in) , contiguous :: cumSumArea(:)
1076 integer(IK) , intent(in) :: bin
1077 end subroutine
1078#endif
1079
1080#if RK3_ENABLED
1081 PURE module subroutine setPiwiPowetoCDFBAN_D0_RK3(cdf, logx, alpha, logLimX, logPDFNF, cumSumArea, bin)
1082#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1083 !DEC$ ATTRIBUTES DLLEXPORT :: setPiwiPowetoCDFBAN_D0_RK3
1084#endif
1085 use pm_kind, only: RKG => RK3
1086 real(RKG) , intent(out) :: cdf
1087 real(RKG) , intent(in) :: logx
1088 real(RKG) , intent(in) , contiguous :: alpha(:)
1089 real(RKG) , intent(in) , contiguous :: logLimX(:)
1090 real(RKG) , intent(in) , contiguous :: logPDFNF(:)
1091 real(RKG) , intent(in) , contiguous :: cumSumArea(:)
1092 integer(IK) , intent(in) :: bin
1093 end subroutine
1094#endif
1095
1096#if RK2_ENABLED
1097 PURE module subroutine setPiwiPowetoCDFBAN_D0_RK2(cdf, logx, alpha, logLimX, logPDFNF, cumSumArea, bin)
1098#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1099 !DEC$ ATTRIBUTES DLLEXPORT :: setPiwiPowetoCDFBAN_D0_RK2
1100#endif
1101 use pm_kind, only: RKG => RK2
1102 real(RKG) , intent(out) :: cdf
1103 real(RKG) , intent(in) :: logx
1104 real(RKG) , intent(in) , contiguous :: alpha(:)
1105 real(RKG) , intent(in) , contiguous :: logLimX(:)
1106 real(RKG) , intent(in) , contiguous :: logPDFNF(:)
1107 real(RKG) , intent(in) , contiguous :: cumSumArea(:)
1108 integer(IK) , intent(in) :: bin
1109 end subroutine
1110#endif
1111
1112#if RK1_ENABLED
1113 PURE module subroutine setPiwiPowetoCDFBAN_D0_RK1(cdf, logx, alpha, logLimX, logPDFNF, cumSumArea, bin)
1114#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1115 !DEC$ ATTRIBUTES DLLEXPORT :: setPiwiPowetoCDFBAN_D0_RK1
1116#endif
1117 use pm_kind, only: RKG => RK1
1118 real(RKG) , intent(out) :: cdf
1119 real(RKG) , intent(in) :: logx
1120 real(RKG) , intent(in) , contiguous :: alpha(:)
1121 real(RKG) , intent(in) , contiguous :: logLimX(:)
1122 real(RKG) , intent(in) , contiguous :: logPDFNF(:)
1123 real(RKG) , intent(in) , contiguous :: cumSumArea(:)
1124 integer(IK) , intent(in) :: bin
1125 end subroutine
1126#endif
1127
1128 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1129
1130 end interface
1131
1132!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1133
1134end module pm_distPiwiPoweto
Generate and return the Cumulative Distribution Function (CDF) of the (Truncated) PiwiPoweto distribu...
Generate and return the natural logarithm of the normalization factors of the components of the Proba...
Generate and return the natural logarithm of the Probability Density Function (PDF) of the (Truncated...
Return the Cumulative Distribution Function (CDF) of the (Truncated) PiwiPoweto distribution for an i...
Return the natural logarithm of the Probability Density Function (PDF) of the (Truncated) PiwiPoweto ...
This module contains classes and procedures for computing various statistical quantities related to t...
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 RK3
Definition: pm_kind.F90:500
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