ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_mathCumPropExp.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
44
45!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
46
48
53 use pm_array, only: forward, forward_type
54 use pm_array, only: reverse, reverse_type
55 use pm_array, only: nothing, nothing_type
56 use pm_kind, only: SK, IK, LK
57 implicit none
58
59 character(*, SK), parameter :: MODULE_NAME = "@pm_mathCumPropExp"
60
61!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
62 end block end block
179
180 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
181
182
183#if RK5_ENABLED
184 PURE module function getCumPropExpDef_RK5(array, maxArray, direction, action) result(cumPropExp)
185#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
186 !DEC$ ATTRIBUTES DLLEXPORT :: getCumPropExpDef_RK5
187#endif
188 use pm_kind, only: RKG => RK5
189 real(RKG) , intent(in), contiguous :: array(:)
190 real(RKG) , intent(in) :: maxArray
191 class(direction_type) , intent(in), optional :: direction
192 class(action_type) , intent(in), optional :: action
193 real(RKG) :: cumPropExp(size(array, 1, IK))
194 end function
195#endif
196
197#if RK4_ENABLED
198 PURE module function getCumPropExpDef_RK4(array, maxArray, direction, action) result(cumPropExp)
199#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
200 !DEC$ ATTRIBUTES DLLEXPORT :: getCumPropExpDef_RK4
201#endif
202 use pm_kind, only: RKG => RK4
203 real(RKG) , intent(in), contiguous :: array(:)
204 real(RKG) , intent(in) :: maxArray
205 class(direction_type) , intent(in), optional :: direction
206 class(action_type) , intent(in), optional :: action
207 real(RKG) :: cumPropExp(size(array, 1, IK))
208 end function
209#endif
210
211#if RK3_ENABLED
212 PURE module function getCumPropExpDef_RK3(array, maxArray, direction, action) result(cumPropExp)
213#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
214 !DEC$ ATTRIBUTES DLLEXPORT :: getCumPropExpDef_RK3
215#endif
216 use pm_kind, only: RKG => RK3
217 real(RKG) , intent(in), contiguous :: array(:)
218 real(RKG) , intent(in) :: maxArray
219 class(direction_type) , intent(in), optional :: direction
220 class(action_type) , intent(in), optional :: action
221 real(RKG) :: cumPropExp(size(array, 1, IK))
222 end function
223#endif
224
225#if RK2_ENABLED
226 PURE module function getCumPropExpDef_RK2(array, maxArray, direction, action) result(cumPropExp)
227#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
228 !DEC$ ATTRIBUTES DLLEXPORT :: getCumPropExpDef_RK2
229#endif
230 use pm_kind, only: RKG => RK2
231 real(RKG) , intent(in), contiguous :: array(:)
232 real(RKG) , intent(in) :: maxArray
233 class(direction_type) , intent(in), optional :: direction
234 class(action_type) , intent(in), optional :: action
235 real(RKG) :: cumPropExp(size(array, 1, IK))
236 end function
237#endif
238
239#if RK1_ENABLED
240 PURE module function getCumPropExpDef_RK1(array, maxArray, direction, action) result(cumPropExp)
241#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
242 !DEC$ ATTRIBUTES DLLEXPORT :: getCumPropExpDef_RK1
243#endif
244 use pm_kind, only: RKG => RK1
245 real(RKG) , intent(in), contiguous :: array(:)
246 real(RKG) , intent(in) :: maxArray
247 class(direction_type) , intent(in), optional :: direction
248 class(action_type) , intent(in), optional :: action
249 real(RKG) :: cumPropExp(size(array, 1, IK))
250 end function
251#endif
252
253 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
254
255#if RK5_ENABLED
256 PURE module function getCumPropExpSel_RK5(array, maxArray, control, direction, action) result(cumPropExp)
257#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
258 !DEC$ ATTRIBUTES DLLEXPORT :: getCumPropExpSel_RK5
259#endif
260 use pm_kind, only: RKG => RK5
261 real(RKG) , intent(in), contiguous :: array(:)
262 real(RKG) , intent(in) :: maxArray
263 type(selection_type) , intent(in) :: control
264 class(direction_type) , intent(in), optional :: direction
265 class(action_type) , intent(in), optional :: action
266 real(RKG) :: cumPropExp(size(array, 1, IK))
267 end function
268#endif
269
270#if RK4_ENABLED
271 PURE module function getCumPropExpSel_RK4(array, maxArray, control, direction, action) result(cumPropExp)
272#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
273 !DEC$ ATTRIBUTES DLLEXPORT :: getCumPropExpSel_RK4
274#endif
275 use pm_kind, only: RKG => RK4
276 real(RKG) , intent(in), contiguous :: array(:)
277 real(RKG) , intent(in) :: maxArray
278 type(selection_type) , intent(in) :: control
279 class(direction_type) , intent(in), optional :: direction
280 class(action_type) , intent(in), optional :: action
281 real(RKG) :: cumPropExp(size(array, 1, IK))
282 end function
283#endif
284
285#if RK3_ENABLED
286 PURE module function getCumPropExpSel_RK3(array, maxArray, control, direction, action) result(cumPropExp)
287#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
288 !DEC$ ATTRIBUTES DLLEXPORT :: getCumPropExpSel_RK3
289#endif
290 use pm_kind, only: RKG => RK3
291 real(RKG) , intent(in), contiguous :: array(:)
292 real(RKG) , intent(in) :: maxArray
293 type(selection_type) , intent(in) :: control
294 class(direction_type) , intent(in), optional :: direction
295 class(action_type) , intent(in), optional :: action
296 real(RKG) :: cumPropExp(size(array, 1, IK))
297 end function
298#endif
299
300#if RK2_ENABLED
301 PURE module function getCumPropExpSel_RK2(array, maxArray, control, direction, action) result(cumPropExp)
302#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
303 !DEC$ ATTRIBUTES DLLEXPORT :: getCumPropExpSel_RK2
304#endif
305 use pm_kind, only: RKG => RK2
306 real(RKG) , intent(in), contiguous :: array(:)
307 real(RKG) , intent(in) :: maxArray
308 type(selection_type) , intent(in) :: control
309 class(direction_type) , intent(in), optional :: direction
310 class(action_type) , intent(in), optional :: action
311 real(RKG) :: cumPropExp(size(array, 1, IK))
312 end function
313#endif
314
315#if RK1_ENABLED
316 PURE module function getCumPropExpSel_RK1(array, maxArray, control, direction, action) result(cumPropExp)
317#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
318 !DEC$ ATTRIBUTES DLLEXPORT :: getCumPropExpSel_RK1
319#endif
320 use pm_kind, only: RKG => RK1
321 real(RKG) , intent(in), contiguous :: array(:)
322 real(RKG) , intent(in) :: maxArray
323 type(selection_type) , intent(in) :: control
324 class(direction_type) , intent(in), optional :: direction
325 class(action_type) , intent(in), optional :: action
326 real(RKG) :: cumPropExp(size(array, 1, IK))
327 end function
328#endif
329
330 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
331
332#if RK5_ENABLED
333 PURE module function getCumPropExpSeq_RK5(array, maxArray, control, direction, action) result(cumPropExp)
334#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
335 !DEC$ ATTRIBUTES DLLEXPORT :: getCumPropExpSeq_RK5
336#endif
337 use pm_kind, only: RKG => RK5
338 real(RKG) , intent(in), contiguous :: array(:)
339 real(RKG) , intent(in) :: maxArray
340 type(sequence_type) , intent(in) :: control
341 class(direction_type) , intent(in), optional :: direction
342 class(action_type) , intent(in), optional :: action
343 real(RKG) :: cumPropExp(size(array, 1, IK))
344 end function
345#endif
346
347#if RK4_ENABLED
348 PURE module function getCumPropExpSeq_RK4(array, maxArray, control, direction, action) result(cumPropExp)
349#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
350 !DEC$ ATTRIBUTES DLLEXPORT :: getCumPropExpSeq_RK4
351#endif
352 use pm_kind, only: RKG => RK4
353 real(RKG) , intent(in), contiguous :: array(:)
354 real(RKG) , intent(in) :: maxArray
355 type(sequence_type) , intent(in) :: control
356 class(direction_type) , intent(in), optional :: direction
357 class(action_type) , intent(in), optional :: action
358 real(RKG) :: cumPropExp(size(array, 1, IK))
359 end function
360#endif
361
362#if RK3_ENABLED
363 PURE module function getCumPropExpSeq_RK3(array, maxArray, control, direction, action) result(cumPropExp)
364#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
365 !DEC$ ATTRIBUTES DLLEXPORT :: getCumPropExpSeq_RK3
366#endif
367 use pm_kind, only: RKG => RK3
368 real(RKG) , intent(in), contiguous :: array(:)
369 real(RKG) , intent(in) :: maxArray
370 type(sequence_type) , intent(in) :: control
371 class(direction_type) , intent(in), optional :: direction
372 class(action_type) , intent(in), optional :: action
373 real(RKG) :: cumPropExp(size(array, 1, IK))
374 end function
375#endif
376
377#if RK2_ENABLED
378 PURE module function getCumPropExpSeq_RK2(array, maxArray, control, direction, action) result(cumPropExp)
379#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
380 !DEC$ ATTRIBUTES DLLEXPORT :: getCumPropExpSeq_RK2
381#endif
382 use pm_kind, only: RKG => RK2
383 real(RKG) , intent(in), contiguous :: array(:)
384 real(RKG) , intent(in) :: maxArray
385 type(sequence_type) , intent(in) :: control
386 class(direction_type) , intent(in), optional :: direction
387 class(action_type) , intent(in), optional :: action
388 real(RKG) :: cumPropExp(size(array, 1, IK))
389 end function
390#endif
391
392#if RK1_ENABLED
393 PURE module function getCumPropExpSeq_RK1(array, maxArray, control, direction, action) result(cumPropExp)
394#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
395 !DEC$ ATTRIBUTES DLLEXPORT :: getCumPropExpSeq_RK1
396#endif
397 use pm_kind, only: RKG => RK1
398 real(RKG) , intent(in), contiguous :: array(:)
399 real(RKG) , intent(in) :: maxArray
400 type(sequence_type) , intent(in) :: control
401 class(direction_type) , intent(in), optional :: direction
402 class(action_type) , intent(in), optional :: action
403 real(RKG) :: cumPropExp(size(array, 1, IK))
404 end function
405#endif
406
407 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
408
409 end interface getCumPropExp
410
411!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
412 end block end block
566
567 ! seq, old, new, default
568
570
571 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
572
573#if RK5_ENABLED
574 PURE module subroutine setCumPropExpSeqOldDefDef_RK5(array, maxArray, control)
575#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
576 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqOldDefDef_RK5
577#endif
578 use pm_kind, only: RKG => RK5
579 real(RKG) , intent(inout) , contiguous :: array(:)
580 real(RKG) , intent(in) :: maxArray
581 type(sequence_type) , intent(in) :: control
582 end subroutine
583#endif
584
585#if RK4_ENABLED
586 PURE module subroutine setCumPropExpSeqOldDefDef_RK4(array, maxArray, control)
587#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
588 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqOldDefDef_RK4
589#endif
590 use pm_kind, only: RKG => RK4
591 real(RKG) , intent(inout) , contiguous :: array(:)
592 real(RKG) , intent(in) :: maxArray
593 type(sequence_type) , intent(in) :: control
594 end subroutine
595#endif
596
597#if RK3_ENABLED
598 PURE module subroutine setCumPropExpSeqOldDefDef_RK3(array, maxArray, control)
599#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
600 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqOldDefDef_RK3
601#endif
602 use pm_kind, only: RKG => RK3
603 real(RKG) , intent(inout) , contiguous :: array(:)
604 real(RKG) , intent(in) :: maxArray
605 type(sequence_type) , intent(in) :: control
606 end subroutine
607#endif
608
609#if RK2_ENABLED
610 PURE module subroutine setCumPropExpSeqOldDefDef_RK2(array, maxArray, control)
611#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
612 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqOldDefDef_RK2
613#endif
614 use pm_kind, only: RKG => RK2
615 real(RKG) , intent(inout) , contiguous :: array(:)
616 real(RKG) , intent(in) :: maxArray
617 type(sequence_type) , intent(in) :: control
618 end subroutine
619#endif
620
621#if RK1_ENABLED
622 PURE module subroutine setCumPropExpSeqOldDefDef_RK1(array, maxArray, control)
623#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
624 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqOldDefDef_RK1
625#endif
626 use pm_kind, only: RKG => RK1
627 real(RKG) , intent(inout) , contiguous :: array(:)
628 real(RKG) , intent(in) :: maxArray
629 type(sequence_type) , intent(in) :: control
630 end subroutine
631#endif
632
633 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
634
635#if RK5_ENABLED
636 PURE module subroutine setCumPropExpSeqNewDefDef_RK5(cumPropExp, array, maxArray, control)
637#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
638 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqNewDefDef_RK5
639#endif
640 use pm_kind, only: RKG => RK5
641 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
642 real(RKG) , intent(in) , contiguous :: array(:)
643 real(RKG) , intent(in) :: maxArray
644 type(sequence_type) , intent(in) :: control
645 end subroutine
646#endif
647
648#if RK4_ENABLED
649 PURE module subroutine setCumPropExpSeqNewDefDef_RK4(cumPropExp, array, maxArray, control)
650#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
651 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqNewDefDef_RK4
652#endif
653 use pm_kind, only: RKG => RK4
654 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
655 real(RKG) , intent(in) , contiguous :: array(:)
656 real(RKG) , intent(in) :: maxArray
657 type(sequence_type) , intent(in) :: control
658 end subroutine
659#endif
660
661#if RK3_ENABLED
662 PURE module subroutine setCumPropExpSeqNewDefDef_RK3(cumPropExp, array, maxArray, control)
663#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
664 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqNewDefDef_RK3
665#endif
666 use pm_kind, only: RKG => RK3
667 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
668 real(RKG) , intent(in) , contiguous :: array(:)
669 real(RKG) , intent(in) :: maxArray
670 type(sequence_type) , intent(in) :: control
671 end subroutine
672#endif
673
674#if RK2_ENABLED
675 PURE module subroutine setCumPropExpSeqNewDefDef_RK2(cumPropExp, array, maxArray, control)
676#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
677 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqNewDefDef_RK2
678#endif
679 use pm_kind, only: RKG => RK2
680 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
681 real(RKG) , intent(in) , contiguous :: array(:)
682 real(RKG) , intent(in) :: maxArray
683 type(sequence_type) , intent(in) :: control
684 end subroutine
685#endif
686
687#if RK1_ENABLED
688 PURE module subroutine setCumPropExpSeqNewDefDef_RK1(cumPropExp, array, maxArray, control)
689#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
690 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqNewDefDef_RK1
691#endif
692 use pm_kind, only: RKG => RK1
693 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
694 real(RKG) , intent(in) , contiguous :: array(:)
695 real(RKG) , intent(in) :: maxArray
696 type(sequence_type) , intent(in) :: control
697 end subroutine
698#endif
699
700 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
701
702 end interface
703
704 ! seq, old, forward
705
706 interface setCumPropExp
707
708 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
709
710#if RK5_ENABLED
711 PURE module subroutine setCumPropExpSeqOldForNon_RK5(array, maxArray, control, direction, action)
712#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
713 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqOldForNon_RK5
714#endif
715 use pm_kind, only: RKG => RK5
716 real(RKG) , intent(inout) , contiguous :: array(:)
717 real(RKG) , intent(in) :: maxArray
718 type(forward_type) , intent(in) :: direction
719 type(nothing_type) , intent(in) :: action
720 type(sequence_type) , intent(in) :: control
721 end subroutine
722#endif
723
724#if RK4_ENABLED
725 PURE module subroutine setCumPropExpSeqOldForNon_RK4(array, maxArray, control, direction, action)
726#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
727 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqOldForNon_RK4
728#endif
729 use pm_kind, only: RKG => RK4
730 real(RKG) , intent(inout) , contiguous :: array(:)
731 real(RKG) , intent(in) :: maxArray
732 type(forward_type) , intent(in) :: direction
733 type(nothing_type) , intent(in) :: action
734 type(sequence_type) , intent(in) :: control
735 end subroutine
736#endif
737
738#if RK3_ENABLED
739 PURE module subroutine setCumPropExpSeqOldForNon_RK3(array, maxArray, control, direction, action)
740#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
741 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqOldForNon_RK3
742#endif
743 use pm_kind, only: RKG => RK3
744 real(RKG) , intent(inout) , contiguous :: array(:)
745 real(RKG) , intent(in) :: maxArray
746 type(forward_type) , intent(in) :: direction
747 type(nothing_type) , intent(in) :: action
748 type(sequence_type) , intent(in) :: control
749 end subroutine
750#endif
751
752#if RK2_ENABLED
753 PURE module subroutine setCumPropExpSeqOldForNon_RK2(array, maxArray, control, direction, action)
754#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
755 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqOldForNon_RK2
756#endif
757 use pm_kind, only: RKG => RK2
758 real(RKG) , intent(inout) , contiguous :: array(:)
759 real(RKG) , intent(in) :: maxArray
760 type(forward_type) , intent(in) :: direction
761 type(nothing_type) , intent(in) :: action
762 type(sequence_type) , intent(in) :: control
763 end subroutine
764#endif
765
766#if RK1_ENABLED
767 PURE module subroutine setCumPropExpSeqOldForNon_RK1(array, maxArray, control, direction, action)
768#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
769 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqOldForNon_RK1
770#endif
771 use pm_kind, only: RKG => RK1
772 real(RKG) , intent(inout) , contiguous :: array(:)
773 real(RKG) , intent(in) :: maxArray
774 type(forward_type) , intent(in) :: direction
775 type(nothing_type) , intent(in) :: action
776 type(sequence_type) , intent(in) :: control
777 end subroutine
778#endif
779
780 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
781
782#if RK5_ENABLED
783 PURE module subroutine setCumPropExpSeqOldForRev_RK5(array, maxArray, control, direction, action)
784#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
785 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqOldForRev_RK5
786#endif
787 use pm_kind, only: RKG => RK5
788 real(RKG) , intent(inout) , contiguous :: array(:)
789 real(RKG) , intent(in) :: maxArray
790 type(forward_type) , intent(in) :: direction
791 type(reverse_type) , intent(in) :: action
792 type(sequence_type) , intent(in) :: control
793 end subroutine
794#endif
795
796#if RK4_ENABLED
797 PURE module subroutine setCumPropExpSeqOldForRev_RK4(array, maxArray, control, direction, action)
798#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
799 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqOldForRev_RK4
800#endif
801 use pm_kind, only: RKG => RK4
802 real(RKG) , intent(inout) , contiguous :: array(:)
803 real(RKG) , intent(in) :: maxArray
804 type(forward_type) , intent(in) :: direction
805 type(reverse_type) , intent(in) :: action
806 type(sequence_type) , intent(in) :: control
807 end subroutine
808#endif
809
810#if RK3_ENABLED
811 PURE module subroutine setCumPropExpSeqOldForRev_RK3(array, maxArray, control, direction, action)
812#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
813 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqOldForRev_RK3
814#endif
815 use pm_kind, only: RKG => RK3
816 real(RKG) , intent(inout) , contiguous :: array(:)
817 real(RKG) , intent(in) :: maxArray
818 type(forward_type) , intent(in) :: direction
819 type(reverse_type) , intent(in) :: action
820 type(sequence_type) , intent(in) :: control
821 end subroutine
822#endif
823
824#if RK2_ENABLED
825 PURE module subroutine setCumPropExpSeqOldForRev_RK2(array, maxArray, control, direction, action)
826#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
827 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqOldForRev_RK2
828#endif
829 use pm_kind, only: RKG => RK2
830 real(RKG) , intent(inout) , contiguous :: array(:)
831 real(RKG) , intent(in) :: maxArray
832 type(forward_type) , intent(in) :: direction
833 type(reverse_type) , intent(in) :: action
834 type(sequence_type) , intent(in) :: control
835 end subroutine
836#endif
837
838#if RK1_ENABLED
839 PURE module subroutine setCumPropExpSeqOldForRev_RK1(array, maxArray, control, direction, action)
840#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
841 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqOldForRev_RK1
842#endif
843 use pm_kind, only: RKG => RK1
844 real(RKG) , intent(inout) , contiguous :: array(:)
845 real(RKG) , intent(in) :: maxArray
846 type(forward_type) , intent(in) :: direction
847 type(reverse_type) , intent(in) :: action
848 type(sequence_type) , intent(in) :: control
849 end subroutine
850#endif
851
852 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
853
854 end interface
855
856 ! seq, old, backward
857
858 interface setCumPropExp
859
860 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
861
862#if RK5_ENABLED
863 PURE module subroutine setCumPropExpSeqOldBacNon_RK5(array, maxArray, control, direction, action)
864#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
865 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqOldBacNon_RK5
866#endif
867 use pm_kind, only: RKG => RK5
868 real(RKG) , intent(inout) , contiguous :: array(:)
869 real(RKG) , intent(in) :: maxArray
870 type(backward_type) , intent(in) :: direction
871 type(nothing_type) , intent(in) :: action
872 type(sequence_type) , intent(in) :: control
873 end subroutine
874#endif
875
876#if RK4_ENABLED
877 PURE module subroutine setCumPropExpSeqOldBacNon_RK4(array, maxArray, control, direction, action)
878#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
879 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqOldBacNon_RK4
880#endif
881 use pm_kind, only: RKG => RK4
882 real(RKG) , intent(inout) , contiguous :: array(:)
883 real(RKG) , intent(in) :: maxArray
884 type(backward_type) , intent(in) :: direction
885 type(nothing_type) , intent(in) :: action
886 type(sequence_type) , intent(in) :: control
887 end subroutine
888#endif
889
890#if RK3_ENABLED
891 PURE module subroutine setCumPropExpSeqOldBacNon_RK3(array, maxArray, control, direction, action)
892#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
893 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqOldBacNon_RK3
894#endif
895 use pm_kind, only: RKG => RK3
896 real(RKG) , intent(inout) , contiguous :: array(:)
897 real(RKG) , intent(in) :: maxArray
898 type(backward_type) , intent(in) :: direction
899 type(nothing_type) , intent(in) :: action
900 type(sequence_type) , intent(in) :: control
901 end subroutine
902#endif
903
904#if RK2_ENABLED
905 PURE module subroutine setCumPropExpSeqOldBacNon_RK2(array, maxArray, control, direction, action)
906#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
907 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqOldBacNon_RK2
908#endif
909 use pm_kind, only: RKG => RK2
910 real(RKG) , intent(inout) , contiguous :: array(:)
911 real(RKG) , intent(in) :: maxArray
912 type(backward_type) , intent(in) :: direction
913 type(nothing_type) , intent(in) :: action
914 type(sequence_type) , intent(in) :: control
915 end subroutine
916#endif
917
918#if RK1_ENABLED
919 PURE module subroutine setCumPropExpSeqOldBacNon_RK1(array, maxArray, control, direction, action)
920#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
921 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqOldBacNon_RK1
922#endif
923 use pm_kind, only: RKG => RK1
924 real(RKG) , intent(inout) , contiguous :: array(:)
925 real(RKG) , intent(in) :: maxArray
926 type(backward_type) , intent(in) :: direction
927 type(nothing_type) , intent(in) :: action
928 type(sequence_type) , intent(in) :: control
929 end subroutine
930#endif
931
932 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
933
934#if RK5_ENABLED
935 PURE module subroutine setCumPropExpSeqOldBacRev_RK5(array, maxArray, control, direction, action)
936#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
937 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqOldBacRev_RK5
938#endif
939 use pm_kind, only: RKG => RK5
940 real(RKG) , intent(inout) , contiguous :: array(:)
941 real(RKG) , intent(in) :: maxArray
942 type(backward_type) , intent(in) :: direction
943 type(reverse_type) , intent(in) :: action
944 type(sequence_type) , intent(in) :: control
945 end subroutine
946#endif
947
948#if RK4_ENABLED
949 PURE module subroutine setCumPropExpSeqOldBacRev_RK4(array, maxArray, control, direction, action)
950#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
951 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqOldBacRev_RK4
952#endif
953 use pm_kind, only: RKG => RK4
954 real(RKG) , intent(inout) , contiguous :: array(:)
955 real(RKG) , intent(in) :: maxArray
956 type(backward_type) , intent(in) :: direction
957 type(reverse_type) , intent(in) :: action
958 type(sequence_type) , intent(in) :: control
959 end subroutine
960#endif
961
962#if RK3_ENABLED
963 PURE module subroutine setCumPropExpSeqOldBacRev_RK3(array, maxArray, control, direction, action)
964#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
965 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqOldBacRev_RK3
966#endif
967 use pm_kind, only: RKG => RK3
968 real(RKG) , intent(inout) , contiguous :: array(:)
969 real(RKG) , intent(in) :: maxArray
970 type(backward_type) , intent(in) :: direction
971 type(reverse_type) , intent(in) :: action
972 type(sequence_type) , intent(in) :: control
973 end subroutine
974#endif
975
976#if RK2_ENABLED
977 PURE module subroutine setCumPropExpSeqOldBacRev_RK2(array, maxArray, control, direction, action)
978#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
979 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqOldBacRev_RK2
980#endif
981 use pm_kind, only: RKG => RK2
982 real(RKG) , intent(inout) , contiguous :: array(:)
983 real(RKG) , intent(in) :: maxArray
984 type(backward_type) , intent(in) :: direction
985 type(reverse_type) , intent(in) :: action
986 type(sequence_type) , intent(in) :: control
987 end subroutine
988#endif
989
990#if RK1_ENABLED
991 PURE module subroutine setCumPropExpSeqOldBacRev_RK1(array, maxArray, control, direction, action)
992#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
993 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqOldBacRev_RK1
994#endif
995 use pm_kind, only: RKG => RK1
996 real(RKG) , intent(inout) , contiguous :: array(:)
997 real(RKG) , intent(in) :: maxArray
998 type(backward_type) , intent(in) :: direction
999 type(reverse_type) , intent(in) :: action
1000 type(sequence_type) , intent(in) :: control
1001 end subroutine
1002#endif
1003
1004 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1005
1006 end interface
1007
1008 ! seq, new, forward
1009
1010 interface setCumPropExp
1011
1012 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1013
1014#if RK5_ENABLED
1015 PURE module subroutine setCumPropExpSeqNewForNon_RK5(cumPropExp, array, maxArray, control, direction, action)
1016#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1017 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqNewForNon_RK5
1018#endif
1019 use pm_kind, only: RKG => RK5
1020 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1021 real(RKG) , intent(in) , contiguous :: array(:)
1022 real(RKG) , intent(in) :: maxArray
1023 type(forward_type) , intent(in) :: direction
1024 type(nothing_type) , intent(in) :: action
1025 type(sequence_type) , intent(in) :: control
1026 end subroutine
1027#endif
1028
1029#if RK4_ENABLED
1030 PURE module subroutine setCumPropExpSeqNewForNon_RK4(cumPropExp, array, maxArray, control, direction, action)
1031#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1032 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqNewForNon_RK4
1033#endif
1034 use pm_kind, only: RKG => RK4
1035 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1036 real(RKG) , intent(in) , contiguous :: array(:)
1037 real(RKG) , intent(in) :: maxArray
1038 type(forward_type) , intent(in) :: direction
1039 type(nothing_type) , intent(in) :: action
1040 type(sequence_type) , intent(in) :: control
1041 end subroutine
1042#endif
1043
1044#if RK3_ENABLED
1045 PURE module subroutine setCumPropExpSeqNewForNon_RK3(cumPropExp, array, maxArray, control, direction, action)
1046#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1047 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqNewForNon_RK3
1048#endif
1049 use pm_kind, only: RKG => RK3
1050 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1051 real(RKG) , intent(in) , contiguous :: array(:)
1052 real(RKG) , intent(in) :: maxArray
1053 type(forward_type) , intent(in) :: direction
1054 type(nothing_type) , intent(in) :: action
1055 type(sequence_type) , intent(in) :: control
1056 end subroutine
1057#endif
1058
1059#if RK2_ENABLED
1060 PURE module subroutine setCumPropExpSeqNewForNon_RK2(cumPropExp, array, maxArray, control, direction, action)
1061#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1062 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqNewForNon_RK2
1063#endif
1064 use pm_kind, only: RKG => RK2
1065 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1066 real(RKG) , intent(in) , contiguous :: array(:)
1067 real(RKG) , intent(in) :: maxArray
1068 type(forward_type) , intent(in) :: direction
1069 type(nothing_type) , intent(in) :: action
1070 type(sequence_type) , intent(in) :: control
1071 end subroutine
1072#endif
1073
1074#if RK1_ENABLED
1075 PURE module subroutine setCumPropExpSeqNewForNon_RK1(cumPropExp, array, maxArray, control, direction, action)
1076#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1077 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqNewForNon_RK1
1078#endif
1079 use pm_kind, only: RKG => RK1
1080 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1081 real(RKG) , intent(in) , contiguous :: array(:)
1082 real(RKG) , intent(in) :: maxArray
1083 type(forward_type) , intent(in) :: direction
1084 type(nothing_type) , intent(in) :: action
1085 type(sequence_type) , intent(in) :: control
1086 end subroutine
1087#endif
1088
1089 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1090
1091#if RK5_ENABLED
1092 PURE module subroutine setCumPropExpSeqNewForRev_RK5(cumPropExp, array, maxArray, control, direction, action)
1093#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1094 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqNewForRev_RK5
1095#endif
1096 use pm_kind, only: RKG => RK5
1097 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1098 real(RKG) , intent(in) , contiguous :: array(:)
1099 real(RKG) , intent(in) :: maxArray
1100 type(forward_type) , intent(in) :: direction
1101 type(reverse_type) , intent(in) :: action
1102 type(sequence_type) , intent(in) :: control
1103 end subroutine
1104#endif
1105
1106#if RK4_ENABLED
1107 PURE module subroutine setCumPropExpSeqNewForRev_RK4(cumPropExp, array, maxArray, control, direction, action)
1108#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1109 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqNewForRev_RK4
1110#endif
1111 use pm_kind, only: RKG => RK4
1112 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1113 real(RKG) , intent(in) , contiguous :: array(:)
1114 real(RKG) , intent(in) :: maxArray
1115 type(forward_type) , intent(in) :: direction
1116 type(reverse_type) , intent(in) :: action
1117 type(sequence_type) , intent(in) :: control
1118 end subroutine
1119#endif
1120
1121#if RK3_ENABLED
1122 PURE module subroutine setCumPropExpSeqNewForRev_RK3(cumPropExp, array, maxArray, control, direction, action)
1123#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1124 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqNewForRev_RK3
1125#endif
1126 use pm_kind, only: RKG => RK3
1127 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1128 real(RKG) , intent(in) , contiguous :: array(:)
1129 real(RKG) , intent(in) :: maxArray
1130 type(forward_type) , intent(in) :: direction
1131 type(reverse_type) , intent(in) :: action
1132 type(sequence_type) , intent(in) :: control
1133 end subroutine
1134#endif
1135
1136#if RK2_ENABLED
1137 PURE module subroutine setCumPropExpSeqNewForRev_RK2(cumPropExp, array, maxArray, control, direction, action)
1138#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1139 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqNewForRev_RK2
1140#endif
1141 use pm_kind, only: RKG => RK2
1142 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1143 real(RKG) , intent(in) , contiguous :: array(:)
1144 real(RKG) , intent(in) :: maxArray
1145 type(forward_type) , intent(in) :: direction
1146 type(reverse_type) , intent(in) :: action
1147 type(sequence_type) , intent(in) :: control
1148 end subroutine
1149#endif
1150
1151#if RK1_ENABLED
1152 PURE module subroutine setCumPropExpSeqNewForRev_RK1(cumPropExp, array, maxArray, control, direction, action)
1153#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1154 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqNewForRev_RK1
1155#endif
1156 use pm_kind, only: RKG => RK1
1157 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1158 real(RKG) , intent(in) , contiguous :: array(:)
1159 real(RKG) , intent(in) :: maxArray
1160 type(forward_type) , intent(in) :: direction
1161 type(reverse_type) , intent(in) :: action
1162 type(sequence_type) , intent(in) :: control
1163 end subroutine
1164#endif
1165
1166 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1167
1168 end interface
1169
1170 ! seq, new, backward
1171
1172 interface setCumPropExp
1173
1174 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1175
1176#if RK5_ENABLED
1177 PURE module subroutine setCumPropExpSeqNewBacNon_RK5(cumPropExp, array, maxArray, control, direction, action)
1178#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1179 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqNewBacNon_RK5
1180#endif
1181 use pm_kind, only: RKG => RK5
1182 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1183 real(RKG) , intent(in) , contiguous :: array(:)
1184 real(RKG) , intent(in) :: maxArray
1185 type(backward_type) , intent(in) :: direction
1186 type(nothing_type) , intent(in) :: action
1187 type(sequence_type) , intent(in) :: control
1188 end subroutine
1189#endif
1190
1191#if RK4_ENABLED
1192 PURE module subroutine setCumPropExpSeqNewBacNon_RK4(cumPropExp, array, maxArray, control, direction, action)
1193#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1194 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqNewBacNon_RK4
1195#endif
1196 use pm_kind, only: RKG => RK4
1197 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1198 real(RKG) , intent(in) , contiguous :: array(:)
1199 real(RKG) , intent(in) :: maxArray
1200 type(backward_type) , intent(in) :: direction
1201 type(nothing_type) , intent(in) :: action
1202 type(sequence_type) , intent(in) :: control
1203 end subroutine
1204#endif
1205
1206#if RK3_ENABLED
1207 PURE module subroutine setCumPropExpSeqNewBacNon_RK3(cumPropExp, array, maxArray, control, direction, action)
1208#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1209 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqNewBacNon_RK3
1210#endif
1211 use pm_kind, only: RKG => RK3
1212 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1213 real(RKG) , intent(in) , contiguous :: array(:)
1214 real(RKG) , intent(in) :: maxArray
1215 type(backward_type) , intent(in) :: direction
1216 type(nothing_type) , intent(in) :: action
1217 type(sequence_type) , intent(in) :: control
1218 end subroutine
1219#endif
1220
1221#if RK2_ENABLED
1222 PURE module subroutine setCumPropExpSeqNewBacNon_RK2(cumPropExp, array, maxArray, control, direction, action)
1223#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1224 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqNewBacNon_RK2
1225#endif
1226 use pm_kind, only: RKG => RK2
1227 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1228 real(RKG) , intent(in) , contiguous :: array(:)
1229 real(RKG) , intent(in) :: maxArray
1230 type(backward_type) , intent(in) :: direction
1231 type(nothing_type) , intent(in) :: action
1232 type(sequence_type) , intent(in) :: control
1233 end subroutine
1234#endif
1235
1236#if RK1_ENABLED
1237 PURE module subroutine setCumPropExpSeqNewBacNon_RK1(cumPropExp, array, maxArray, control, direction, action)
1238#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1239 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqNewBacNon_RK1
1240#endif
1241 use pm_kind, only: RKG => RK1
1242 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1243 real(RKG) , intent(in) , contiguous :: array(:)
1244 real(RKG) , intent(in) :: maxArray
1245 type(backward_type) , intent(in) :: direction
1246 type(nothing_type) , intent(in) :: action
1247 type(sequence_type) , intent(in) :: control
1248 end subroutine
1249#endif
1250
1251 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1252
1253#if RK5_ENABLED
1254 PURE module subroutine setCumPropExpSeqNewBacRev_RK5(cumPropExp, array, maxArray, control, direction, action)
1255#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1256 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqNewBacRev_RK5
1257#endif
1258 use pm_kind, only: RKG => RK5
1259 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1260 real(RKG) , intent(in) , contiguous :: array(:)
1261 real(RKG) , intent(in) :: maxArray
1262 type(backward_type) , intent(in) :: direction
1263 type(reverse_type) , intent(in) :: action
1264 type(sequence_type) , intent(in) :: control
1265 end subroutine
1266#endif
1267
1268#if RK4_ENABLED
1269 PURE module subroutine setCumPropExpSeqNewBacRev_RK4(cumPropExp, array, maxArray, control, direction, action)
1270#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1271 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqNewBacRev_RK4
1272#endif
1273 use pm_kind, only: RKG => RK4
1274 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1275 real(RKG) , intent(in) , contiguous :: array(:)
1276 real(RKG) , intent(in) :: maxArray
1277 type(backward_type) , intent(in) :: direction
1278 type(reverse_type) , intent(in) :: action
1279 type(sequence_type) , intent(in) :: control
1280 end subroutine
1281#endif
1282
1283#if RK3_ENABLED
1284 PURE module subroutine setCumPropExpSeqNewBacRev_RK3(cumPropExp, array, maxArray, control, direction, action)
1285#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1286 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqNewBacRev_RK3
1287#endif
1288 use pm_kind, only: RKG => RK3
1289 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1290 real(RKG) , intent(in) , contiguous :: array(:)
1291 real(RKG) , intent(in) :: maxArray
1292 type(backward_type) , intent(in) :: direction
1293 type(reverse_type) , intent(in) :: action
1294 type(sequence_type) , intent(in) :: control
1295 end subroutine
1296#endif
1297
1298#if RK2_ENABLED
1299 PURE module subroutine setCumPropExpSeqNewBacRev_RK2(cumPropExp, array, maxArray, control, direction, action)
1300#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1301 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqNewBacRev_RK2
1302#endif
1303 use pm_kind, only: RKG => RK2
1304 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1305 real(RKG) , intent(in) , contiguous :: array(:)
1306 real(RKG) , intent(in) :: maxArray
1307 type(backward_type) , intent(in) :: direction
1308 type(reverse_type) , intent(in) :: action
1309 type(sequence_type) , intent(in) :: control
1310 end subroutine
1311#endif
1312
1313#if RK1_ENABLED
1314 PURE module subroutine setCumPropExpSeqNewBacRev_RK1(cumPropExp, array, maxArray, control, direction, action)
1315#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1316 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSeqNewBacRev_RK1
1317#endif
1318 use pm_kind, only: RKG => RK1
1319 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1320 real(RKG) , intent(in) , contiguous :: array(:)
1321 real(RKG) , intent(in) :: maxArray
1322 type(backward_type) , intent(in) :: direction
1323 type(reverse_type) , intent(in) :: action
1324 type(sequence_type) , intent(in) :: control
1325 end subroutine
1326#endif
1327
1328 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1329
1330 end interface
1331
1332!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1333
1334 ! sel, old, new, default
1335
1336 interface setCumPropExp
1337
1338 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1339
1340#if RK5_ENABLED
1341 PURE module subroutine setCumPropExpSelOldDefDef_RK5(array, maxArray, control)
1342#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1343 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelOldDefDef_RK5
1344#endif
1345 use pm_kind, only: RKG => RK5
1346 real(RKG) , intent(inout) , contiguous :: array(:)
1347 real(RKG) , intent(in) :: maxArray
1348 type(selection_type), intent(in) :: control
1349 end subroutine
1350#endif
1351
1352#if RK4_ENABLED
1353 PURE module subroutine setCumPropExpSelOldDefDef_RK4(array, maxArray, control)
1354#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1355 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelOldDefDef_RK4
1356#endif
1357 use pm_kind, only: RKG => RK4
1358 real(RKG) , intent(inout) , contiguous :: array(:)
1359 real(RKG) , intent(in) :: maxArray
1360 type(selection_type), intent(in) :: control
1361 end subroutine
1362#endif
1363
1364#if RK3_ENABLED
1365 PURE module subroutine setCumPropExpSelOldDefDef_RK3(array, maxArray, control)
1366#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1367 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelOldDefDef_RK3
1368#endif
1369 use pm_kind, only: RKG => RK3
1370 real(RKG) , intent(inout) , contiguous :: array(:)
1371 real(RKG) , intent(in) :: maxArray
1372 type(selection_type), intent(in) :: control
1373 end subroutine
1374#endif
1375
1376#if RK2_ENABLED
1377 PURE module subroutine setCumPropExpSelOldDefDef_RK2(array, maxArray, control)
1378#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1379 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelOldDefDef_RK2
1380#endif
1381 use pm_kind, only: RKG => RK2
1382 real(RKG) , intent(inout) , contiguous :: array(:)
1383 real(RKG) , intent(in) :: maxArray
1384 type(selection_type), intent(in) :: control
1385 end subroutine
1386#endif
1387
1388#if RK1_ENABLED
1389 PURE module subroutine setCumPropExpSelOldDefDef_RK1(array, maxArray, control)
1390#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1391 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelOldDefDef_RK1
1392#endif
1393 use pm_kind, only: RKG => RK1
1394 real(RKG) , intent(inout) , contiguous :: array(:)
1395 real(RKG) , intent(in) :: maxArray
1396 type(selection_type), intent(in) :: control
1397 end subroutine
1398#endif
1399
1400 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1401
1402#if RK5_ENABLED
1403 PURE module subroutine setCumPropExpSelNewDefDef_RK5(cumPropExp, array, maxArray, control)
1404#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1405 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelNewDefDef_RK5
1406#endif
1407 use pm_kind, only: RKG => RK5
1408 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1409 real(RKG) , intent(in) , contiguous :: array(:)
1410 real(RKG) , intent(in) :: maxArray
1411 type(selection_type), intent(in) :: control
1412 end subroutine
1413#endif
1414
1415#if RK4_ENABLED
1416 PURE module subroutine setCumPropExpSelNewDefDef_RK4(cumPropExp, array, maxArray, control)
1417#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1418 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelNewDefDef_RK4
1419#endif
1420 use pm_kind, only: RKG => RK4
1421 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1422 real(RKG) , intent(in) , contiguous :: array(:)
1423 real(RKG) , intent(in) :: maxArray
1424 type(selection_type), intent(in) :: control
1425 end subroutine
1426#endif
1427
1428#if RK3_ENABLED
1429 PURE module subroutine setCumPropExpSelNewDefDef_RK3(cumPropExp, array, maxArray, control)
1430#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1431 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelNewDefDef_RK3
1432#endif
1433 use pm_kind, only: RKG => RK3
1434 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1435 real(RKG) , intent(in) , contiguous :: array(:)
1436 real(RKG) , intent(in) :: maxArray
1437 type(selection_type), intent(in) :: control
1438 end subroutine
1439#endif
1440
1441#if RK2_ENABLED
1442 PURE module subroutine setCumPropExpSelNewDefDef_RK2(cumPropExp, array, maxArray, control)
1443#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1444 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelNewDefDef_RK2
1445#endif
1446 use pm_kind, only: RKG => RK2
1447 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1448 real(RKG) , intent(in) , contiguous :: array(:)
1449 real(RKG) , intent(in) :: maxArray
1450 type(selection_type), intent(in) :: control
1451 end subroutine
1452#endif
1453
1454#if RK1_ENABLED
1455 PURE module subroutine setCumPropExpSelNewDefDef_RK1(cumPropExp, array, maxArray, control)
1456#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1457 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelNewDefDef_RK1
1458#endif
1459 use pm_kind, only: RKG => RK1
1460 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1461 real(RKG) , intent(in) , contiguous :: array(:)
1462 real(RKG) , intent(in) :: maxArray
1463 type(selection_type), intent(in) :: control
1464 end subroutine
1465#endif
1466
1467 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1468
1469 end interface
1470
1471 ! sel, old, forward
1472
1473 interface setCumPropExp
1474
1475 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1476
1477#if RK5_ENABLED
1478 PURE module subroutine setCumPropExpSelOldForNon_RK5(array, maxArray, control, direction, action)
1479#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1480 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelOldForNon_RK5
1481#endif
1482 use pm_kind, only: RKG => RK5
1483 real(RKG) , intent(inout) , contiguous :: array(:)
1484 real(RKG) , intent(in) :: maxArray
1485 type(forward_type) , intent(in) :: direction
1486 type(nothing_type) , intent(in) :: action
1487 type(selection_type), intent(in) :: control
1488 end subroutine
1489#endif
1490
1491#if RK4_ENABLED
1492 PURE module subroutine setCumPropExpSelOldForNon_RK4(array, maxArray, control, direction, action)
1493#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1494 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelOldForNon_RK4
1495#endif
1496 use pm_kind, only: RKG => RK4
1497 real(RKG) , intent(inout) , contiguous :: array(:)
1498 real(RKG) , intent(in) :: maxArray
1499 type(forward_type) , intent(in) :: direction
1500 type(nothing_type) , intent(in) :: action
1501 type(selection_type), intent(in) :: control
1502 end subroutine
1503#endif
1504
1505#if RK3_ENABLED
1506 PURE module subroutine setCumPropExpSelOldForNon_RK3(array, maxArray, control, direction, action)
1507#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1508 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelOldForNon_RK3
1509#endif
1510 use pm_kind, only: RKG => RK3
1511 real(RKG) , intent(inout) , contiguous :: array(:)
1512 real(RKG) , intent(in) :: maxArray
1513 type(forward_type) , intent(in) :: direction
1514 type(nothing_type) , intent(in) :: action
1515 type(selection_type), intent(in) :: control
1516 end subroutine
1517#endif
1518
1519#if RK2_ENABLED
1520 PURE module subroutine setCumPropExpSelOldForNon_RK2(array, maxArray, control, direction, action)
1521#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1522 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelOldForNon_RK2
1523#endif
1524 use pm_kind, only: RKG => RK2
1525 real(RKG) , intent(inout) , contiguous :: array(:)
1526 real(RKG) , intent(in) :: maxArray
1527 type(forward_type) , intent(in) :: direction
1528 type(nothing_type) , intent(in) :: action
1529 type(selection_type), intent(in) :: control
1530 end subroutine
1531#endif
1532
1533#if RK1_ENABLED
1534 PURE module subroutine setCumPropExpSelOldForNon_RK1(array, maxArray, control, direction, action)
1535#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1536 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelOldForNon_RK1
1537#endif
1538 use pm_kind, only: RKG => RK1
1539 real(RKG) , intent(inout) , contiguous :: array(:)
1540 real(RKG) , intent(in) :: maxArray
1541 type(forward_type) , intent(in) :: direction
1542 type(nothing_type) , intent(in) :: action
1543 type(selection_type), intent(in) :: control
1544 end subroutine
1545#endif
1546
1547 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1548
1549#if RK5_ENABLED
1550 PURE module subroutine setCumPropExpSelOldForRev_RK5(array, maxArray, control, direction, action)
1551#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1552 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelOldForRev_RK5
1553#endif
1554 use pm_kind, only: RKG => RK5
1555 real(RKG) , intent(inout) , contiguous :: array(:)
1556 real(RKG) , intent(in) :: maxArray
1557 type(forward_type) , intent(in) :: direction
1558 type(reverse_type) , intent(in) :: action
1559 type(selection_type), intent(in) :: control
1560 end subroutine
1561#endif
1562
1563#if RK4_ENABLED
1564 PURE module subroutine setCumPropExpSelOldForRev_RK4(array, maxArray, control, direction, action)
1565#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1566 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelOldForRev_RK4
1567#endif
1568 use pm_kind, only: RKG => RK4
1569 real(RKG) , intent(inout) , contiguous :: array(:)
1570 real(RKG) , intent(in) :: maxArray
1571 type(forward_type) , intent(in) :: direction
1572 type(reverse_type) , intent(in) :: action
1573 type(selection_type), intent(in) :: control
1574 end subroutine
1575#endif
1576
1577#if RK3_ENABLED
1578 PURE module subroutine setCumPropExpSelOldForRev_RK3(array, maxArray, control, direction, action)
1579#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1580 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelOldForRev_RK3
1581#endif
1582 use pm_kind, only: RKG => RK3
1583 real(RKG) , intent(inout) , contiguous :: array(:)
1584 real(RKG) , intent(in) :: maxArray
1585 type(forward_type) , intent(in) :: direction
1586 type(reverse_type) , intent(in) :: action
1587 type(selection_type), intent(in) :: control
1588 end subroutine
1589#endif
1590
1591#if RK2_ENABLED
1592 PURE module subroutine setCumPropExpSelOldForRev_RK2(array, maxArray, control, direction, action)
1593#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1594 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelOldForRev_RK2
1595#endif
1596 use pm_kind, only: RKG => RK2
1597 real(RKG) , intent(inout) , contiguous :: array(:)
1598 real(RKG) , intent(in) :: maxArray
1599 type(forward_type) , intent(in) :: direction
1600 type(reverse_type) , intent(in) :: action
1601 type(selection_type), intent(in) :: control
1602 end subroutine
1603#endif
1604
1605#if RK1_ENABLED
1606 PURE module subroutine setCumPropExpSelOldForRev_RK1(array, maxArray, control, direction, action)
1607#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1608 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelOldForRev_RK1
1609#endif
1610 use pm_kind, only: RKG => RK1
1611 real(RKG) , intent(inout) , contiguous :: array(:)
1612 real(RKG) , intent(in) :: maxArray
1613 type(forward_type) , intent(in) :: direction
1614 type(reverse_type) , intent(in) :: action
1615 type(selection_type), intent(in) :: control
1616 end subroutine
1617#endif
1618
1619 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1620
1621 end interface
1622
1623 ! sel, old, backward
1624
1625 interface setCumPropExp
1626
1627 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1628
1629#if RK5_ENABLED
1630 PURE module subroutine setCumPropExpSelOldBacNon_RK5(array, maxArray, control, direction, action)
1631#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1632 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelOldBacNon_RK5
1633#endif
1634 use pm_kind, only: RKG => RK5
1635 real(RKG) , intent(inout) , contiguous :: array(:)
1636 real(RKG) , intent(in) :: maxArray
1637 type(backward_type) , intent(in) :: direction
1638 type(nothing_type) , intent(in) :: action
1639 type(selection_type), intent(in) :: control
1640 end subroutine
1641#endif
1642
1643#if RK4_ENABLED
1644 PURE module subroutine setCumPropExpSelOldBacNon_RK4(array, maxArray, control, direction, action)
1645#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1646 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelOldBacNon_RK4
1647#endif
1648 use pm_kind, only: RKG => RK4
1649 real(RKG) , intent(inout) , contiguous :: array(:)
1650 real(RKG) , intent(in) :: maxArray
1651 type(backward_type) , intent(in) :: direction
1652 type(nothing_type) , intent(in) :: action
1653 type(selection_type), intent(in) :: control
1654 end subroutine
1655#endif
1656
1657#if RK3_ENABLED
1658 PURE module subroutine setCumPropExpSelOldBacNon_RK3(array, maxArray, control, direction, action)
1659#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1660 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelOldBacNon_RK3
1661#endif
1662 use pm_kind, only: RKG => RK3
1663 real(RKG) , intent(inout) , contiguous :: array(:)
1664 real(RKG) , intent(in) :: maxArray
1665 type(backward_type) , intent(in) :: direction
1666 type(nothing_type) , intent(in) :: action
1667 type(selection_type), intent(in) :: control
1668 end subroutine
1669#endif
1670
1671#if RK2_ENABLED
1672 PURE module subroutine setCumPropExpSelOldBacNon_RK2(array, maxArray, control, direction, action)
1673#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1674 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelOldBacNon_RK2
1675#endif
1676 use pm_kind, only: RKG => RK2
1677 real(RKG) , intent(inout) , contiguous :: array(:)
1678 real(RKG) , intent(in) :: maxArray
1679 type(backward_type) , intent(in) :: direction
1680 type(nothing_type) , intent(in) :: action
1681 type(selection_type), intent(in) :: control
1682 end subroutine
1683#endif
1684
1685#if RK1_ENABLED
1686 PURE module subroutine setCumPropExpSelOldBacNon_RK1(array, maxArray, control, direction, action)
1687#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1688 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelOldBacNon_RK1
1689#endif
1690 use pm_kind, only: RKG => RK1
1691 real(RKG) , intent(inout) , contiguous :: array(:)
1692 real(RKG) , intent(in) :: maxArray
1693 type(backward_type) , intent(in) :: direction
1694 type(nothing_type) , intent(in) :: action
1695 type(selection_type), intent(in) :: control
1696 end subroutine
1697#endif
1698
1699 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1700
1701#if RK5_ENABLED
1702 PURE module subroutine setCumPropExpSelOldBacRev_RK5(array, maxArray, control, direction, action)
1703#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1704 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelOldBacRev_RK5
1705#endif
1706 use pm_kind, only: RKG => RK5
1707 real(RKG) , intent(inout) , contiguous :: array(:)
1708 real(RKG) , intent(in) :: maxArray
1709 type(backward_type) , intent(in) :: direction
1710 type(reverse_type) , intent(in) :: action
1711 type(selection_type), intent(in) :: control
1712 end subroutine
1713#endif
1714
1715#if RK4_ENABLED
1716 PURE module subroutine setCumPropExpSelOldBacRev_RK4(array, maxArray, control, direction, action)
1717#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1718 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelOldBacRev_RK4
1719#endif
1720 use pm_kind, only: RKG => RK4
1721 real(RKG) , intent(inout) , contiguous :: array(:)
1722 real(RKG) , intent(in) :: maxArray
1723 type(backward_type) , intent(in) :: direction
1724 type(reverse_type) , intent(in) :: action
1725 type(selection_type), intent(in) :: control
1726 end subroutine
1727#endif
1728
1729#if RK3_ENABLED
1730 PURE module subroutine setCumPropExpSelOldBacRev_RK3(array, maxArray, control, direction, action)
1731#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1732 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelOldBacRev_RK3
1733#endif
1734 use pm_kind, only: RKG => RK3
1735 real(RKG) , intent(inout) , contiguous :: array(:)
1736 real(RKG) , intent(in) :: maxArray
1737 type(backward_type) , intent(in) :: direction
1738 type(reverse_type) , intent(in) :: action
1739 type(selection_type), intent(in) :: control
1740 end subroutine
1741#endif
1742
1743#if RK2_ENABLED
1744 PURE module subroutine setCumPropExpSelOldBacRev_RK2(array, maxArray, control, direction, action)
1745#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1746 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelOldBacRev_RK2
1747#endif
1748 use pm_kind, only: RKG => RK2
1749 real(RKG) , intent(inout) , contiguous :: array(:)
1750 real(RKG) , intent(in) :: maxArray
1751 type(backward_type) , intent(in) :: direction
1752 type(reverse_type) , intent(in) :: action
1753 type(selection_type), intent(in) :: control
1754 end subroutine
1755#endif
1756
1757#if RK1_ENABLED
1758 PURE module subroutine setCumPropExpSelOldBacRev_RK1(array, maxArray, control, direction, action)
1759#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1760 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelOldBacRev_RK1
1761#endif
1762 use pm_kind, only: RKG => RK1
1763 real(RKG) , intent(inout) , contiguous :: array(:)
1764 real(RKG) , intent(in) :: maxArray
1765 type(backward_type) , intent(in) :: direction
1766 type(reverse_type) , intent(in) :: action
1767 type(selection_type), intent(in) :: control
1768 end subroutine
1769#endif
1770
1771 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1772
1773 end interface
1774
1775 ! sel, new, forward
1776
1777 interface setCumPropExp
1778
1779 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1780
1781#if RK5_ENABLED
1782 PURE module subroutine setCumPropExpSelNewForNon_RK5(cumPropExp, array, maxArray, control, direction, action)
1783#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1784 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelNewForNon_RK5
1785#endif
1786 use pm_kind, only: RKG => RK5
1787 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1788 real(RKG) , intent(in) , contiguous :: array(:)
1789 real(RKG) , intent(in) :: maxArray
1790 type(forward_type) , intent(in) :: direction
1791 type(nothing_type) , intent(in) :: action
1792 type(selection_type), intent(in) :: control
1793 end subroutine
1794#endif
1795
1796#if RK4_ENABLED
1797 PURE module subroutine setCumPropExpSelNewForNon_RK4(cumPropExp, array, maxArray, control, direction, action)
1798#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1799 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelNewForNon_RK4
1800#endif
1801 use pm_kind, only: RKG => RK4
1802 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1803 real(RKG) , intent(in) , contiguous :: array(:)
1804 real(RKG) , intent(in) :: maxArray
1805 type(forward_type) , intent(in) :: direction
1806 type(nothing_type) , intent(in) :: action
1807 type(selection_type), intent(in) :: control
1808 end subroutine
1809#endif
1810
1811#if RK3_ENABLED
1812 PURE module subroutine setCumPropExpSelNewForNon_RK3(cumPropExp, array, maxArray, control, direction, action)
1813#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1814 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelNewForNon_RK3
1815#endif
1816 use pm_kind, only: RKG => RK3
1817 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1818 real(RKG) , intent(in) , contiguous :: array(:)
1819 real(RKG) , intent(in) :: maxArray
1820 type(forward_type) , intent(in) :: direction
1821 type(nothing_type) , intent(in) :: action
1822 type(selection_type), intent(in) :: control
1823 end subroutine
1824#endif
1825
1826#if RK2_ENABLED
1827 PURE module subroutine setCumPropExpSelNewForNon_RK2(cumPropExp, array, maxArray, control, direction, action)
1828#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1829 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelNewForNon_RK2
1830#endif
1831 use pm_kind, only: RKG => RK2
1832 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1833 real(RKG) , intent(in) , contiguous :: array(:)
1834 real(RKG) , intent(in) :: maxArray
1835 type(forward_type) , intent(in) :: direction
1836 type(nothing_type) , intent(in) :: action
1837 type(selection_type), intent(in) :: control
1838 end subroutine
1839#endif
1840
1841#if RK1_ENABLED
1842 PURE module subroutine setCumPropExpSelNewForNon_RK1(cumPropExp, array, maxArray, control, direction, action)
1843#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1844 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelNewForNon_RK1
1845#endif
1846 use pm_kind, only: RKG => RK1
1847 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1848 real(RKG) , intent(in) , contiguous :: array(:)
1849 real(RKG) , intent(in) :: maxArray
1850 type(forward_type) , intent(in) :: direction
1851 type(nothing_type) , intent(in) :: action
1852 type(selection_type), intent(in) :: control
1853 end subroutine
1854#endif
1855
1856 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1857
1858#if RK5_ENABLED
1859 PURE module subroutine setCumPropExpSelNewForRev_RK5(cumPropExp, array, maxArray, control, direction, action)
1860#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1861 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelNewForRev_RK5
1862#endif
1863 use pm_kind, only: RKG => RK5
1864 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1865 real(RKG) , intent(in) , contiguous :: array(:)
1866 real(RKG) , intent(in) :: maxArray
1867 type(forward_type) , intent(in) :: direction
1868 type(reverse_type) , intent(in) :: action
1869 type(selection_type), intent(in) :: control
1870 end subroutine
1871#endif
1872
1873#if RK4_ENABLED
1874 PURE module subroutine setCumPropExpSelNewForRev_RK4(cumPropExp, array, maxArray, control, direction, action)
1875#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1876 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelNewForRev_RK4
1877#endif
1878 use pm_kind, only: RKG => RK4
1879 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1880 real(RKG) , intent(in) , contiguous :: array(:)
1881 real(RKG) , intent(in) :: maxArray
1882 type(forward_type) , intent(in) :: direction
1883 type(reverse_type) , intent(in) :: action
1884 type(selection_type), intent(in) :: control
1885 end subroutine
1886#endif
1887
1888#if RK3_ENABLED
1889 PURE module subroutine setCumPropExpSelNewForRev_RK3(cumPropExp, array, maxArray, control, direction, action)
1890#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1891 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelNewForRev_RK3
1892#endif
1893 use pm_kind, only: RKG => RK3
1894 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1895 real(RKG) , intent(in) , contiguous :: array(:)
1896 real(RKG) , intent(in) :: maxArray
1897 type(forward_type) , intent(in) :: direction
1898 type(reverse_type) , intent(in) :: action
1899 type(selection_type), intent(in) :: control
1900 end subroutine
1901#endif
1902
1903#if RK2_ENABLED
1904 PURE module subroutine setCumPropExpSelNewForRev_RK2(cumPropExp, array, maxArray, control, direction, action)
1905#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1906 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelNewForRev_RK2
1907#endif
1908 use pm_kind, only: RKG => RK2
1909 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1910 real(RKG) , intent(in) , contiguous :: array(:)
1911 real(RKG) , intent(in) :: maxArray
1912 type(forward_type) , intent(in) :: direction
1913 type(reverse_type) , intent(in) :: action
1914 type(selection_type), intent(in) :: control
1915 end subroutine
1916#endif
1917
1918#if RK1_ENABLED
1919 PURE module subroutine setCumPropExpSelNewForRev_RK1(cumPropExp, array, maxArray, control, direction, action)
1920#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1921 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelNewForRev_RK1
1922#endif
1923 use pm_kind, only: RKG => RK1
1924 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1925 real(RKG) , intent(in) , contiguous :: array(:)
1926 real(RKG) , intent(in) :: maxArray
1927 type(forward_type) , intent(in) :: direction
1928 type(reverse_type) , intent(in) :: action
1929 type(selection_type), intent(in) :: control
1930 end subroutine
1931#endif
1932
1933 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1934
1935 end interface
1936
1937 ! sel, new, backward
1938
1939 interface setCumPropExp
1940
1941 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1942
1943#if RK5_ENABLED
1944 PURE module subroutine setCumPropExpSelNewBacNon_RK5(cumPropExp, array, maxArray, control, direction, action)
1945#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1946 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelNewBacNon_RK5
1947#endif
1948 use pm_kind, only: RKG => RK5
1949 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1950 real(RKG) , intent(in) , contiguous :: array(:)
1951 real(RKG) , intent(in) :: maxArray
1952 type(backward_type) , intent(in) :: direction
1953 type(nothing_type) , intent(in) :: action
1954 type(selection_type), intent(in) :: control
1955 end subroutine
1956#endif
1957
1958#if RK4_ENABLED
1959 PURE module subroutine setCumPropExpSelNewBacNon_RK4(cumPropExp, array, maxArray, control, direction, action)
1960#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1961 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelNewBacNon_RK4
1962#endif
1963 use pm_kind, only: RKG => RK4
1964 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1965 real(RKG) , intent(in) , contiguous :: array(:)
1966 real(RKG) , intent(in) :: maxArray
1967 type(backward_type) , intent(in) :: direction
1968 type(nothing_type) , intent(in) :: action
1969 type(selection_type), intent(in) :: control
1970 end subroutine
1971#endif
1972
1973#if RK3_ENABLED
1974 PURE module subroutine setCumPropExpSelNewBacNon_RK3(cumPropExp, array, maxArray, control, direction, action)
1975#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1976 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelNewBacNon_RK3
1977#endif
1978 use pm_kind, only: RKG => RK3
1979 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1980 real(RKG) , intent(in) , contiguous :: array(:)
1981 real(RKG) , intent(in) :: maxArray
1982 type(backward_type) , intent(in) :: direction
1983 type(nothing_type) , intent(in) :: action
1984 type(selection_type), intent(in) :: control
1985 end subroutine
1986#endif
1987
1988#if RK2_ENABLED
1989 PURE module subroutine setCumPropExpSelNewBacNon_RK2(cumPropExp, array, maxArray, control, direction, action)
1990#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1991 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelNewBacNon_RK2
1992#endif
1993 use pm_kind, only: RKG => RK2
1994 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
1995 real(RKG) , intent(in) , contiguous :: array(:)
1996 real(RKG) , intent(in) :: maxArray
1997 type(backward_type) , intent(in) :: direction
1998 type(nothing_type) , intent(in) :: action
1999 type(selection_type), intent(in) :: control
2000 end subroutine
2001#endif
2002
2003#if RK1_ENABLED
2004 PURE module subroutine setCumPropExpSelNewBacNon_RK1(cumPropExp, array, maxArray, control, direction, action)
2005#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2006 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelNewBacNon_RK1
2007#endif
2008 use pm_kind, only: RKG => RK1
2009 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
2010 real(RKG) , intent(in) , contiguous :: array(:)
2011 real(RKG) , intent(in) :: maxArray
2012 type(backward_type) , intent(in) :: direction
2013 type(nothing_type) , intent(in) :: action
2014 type(selection_type), intent(in) :: control
2015 end subroutine
2016#endif
2017
2018 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2019
2020#if RK5_ENABLED
2021 PURE module subroutine setCumPropExpSelNewBacRev_RK5(cumPropExp, array, maxArray, control, direction, action)
2022#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2023 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelNewBacRev_RK5
2024#endif
2025 use pm_kind, only: RKG => RK5
2026 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
2027 real(RKG) , intent(in) , contiguous :: array(:)
2028 real(RKG) , intent(in) :: maxArray
2029 type(backward_type) , intent(in) :: direction
2030 type(reverse_type) , intent(in) :: action
2031 type(selection_type), intent(in) :: control
2032 end subroutine
2033#endif
2034
2035#if RK4_ENABLED
2036 PURE module subroutine setCumPropExpSelNewBacRev_RK4(cumPropExp, array, maxArray, control, direction, action)
2037#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2038 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelNewBacRev_RK4
2039#endif
2040 use pm_kind, only: RKG => RK4
2041 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
2042 real(RKG) , intent(in) , contiguous :: array(:)
2043 real(RKG) , intent(in) :: maxArray
2044 type(backward_type) , intent(in) :: direction
2045 type(reverse_type) , intent(in) :: action
2046 type(selection_type), intent(in) :: control
2047 end subroutine
2048#endif
2049
2050#if RK3_ENABLED
2051 PURE module subroutine setCumPropExpSelNewBacRev_RK3(cumPropExp, array, maxArray, control, direction, action)
2052#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2053 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelNewBacRev_RK3
2054#endif
2055 use pm_kind, only: RKG => RK3
2056 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
2057 real(RKG) , intent(in) , contiguous :: array(:)
2058 real(RKG) , intent(in) :: maxArray
2059 type(backward_type) , intent(in) :: direction
2060 type(reverse_type) , intent(in) :: action
2061 type(selection_type), intent(in) :: control
2062 end subroutine
2063#endif
2064
2065#if RK2_ENABLED
2066 PURE module subroutine setCumPropExpSelNewBacRev_RK2(cumPropExp, array, maxArray, control, direction, action)
2067#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2068 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelNewBacRev_RK2
2069#endif
2070 use pm_kind, only: RKG => RK2
2071 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
2072 real(RKG) , intent(in) , contiguous :: array(:)
2073 real(RKG) , intent(in) :: maxArray
2074 type(backward_type) , intent(in) :: direction
2075 type(reverse_type) , intent(in) :: action
2076 type(selection_type), intent(in) :: control
2077 end subroutine
2078#endif
2079
2080#if RK1_ENABLED
2081 PURE module subroutine setCumPropExpSelNewBacRev_RK1(cumPropExp, array, maxArray, control, direction, action)
2082#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2083 !DEC$ ATTRIBUTES DLLEXPORT :: setCumPropExpSelNewBacRev_RK1
2084#endif
2085 use pm_kind, only: RKG => RK1
2086 real(RKG) , intent(out) , contiguous :: cumPropExp(:)
2087 real(RKG) , intent(in) , contiguous :: array(:)
2088 real(RKG) , intent(in) :: maxArray
2089 type(backward_type) , intent(in) :: direction
2090 type(reverse_type) , intent(in) :: action
2091 type(selection_type), intent(in) :: control
2092 end subroutine
2093#endif
2094
2095 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2096
2097 end interface
2098
2099!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2100
2101contains
2102
2103!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2104
2128 pure function getCumPropExp_RK(array, maxArray, lenArray) result(cumPropExp)
2129#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2130 !DEC$ ATTRIBUTES DLLEXPORT :: getCumPropExp_RK
2131#endif
2132 use pm_kind, only: RKG => RK
2133 real(RKG) , parameter :: LOGTINY_RK = log(tiny(0._RKG))
2134 integer(IK) , intent(in) :: lenArray
2135 real(RKG) , intent(in) :: array(lenArray)
2136 real(RKG) , intent(in) :: maxArray
2137 real(RKG) :: cumPropExp(lenArray)
2138 real(RKG) :: cumPropExpInv
2139 integer(IK) :: i
2140 cumPropExp(1) = array(1) - maxArray
2141 if (cumPropExp(1) < LOGTINY_RK) then
2142 cumPropExp(1) = 0._RKG
2143 else
2144 cumPropExp(1) = exp(cumPropExp(1))
2145 end if
2146 do i = 2, lenArray
2147 cumPropExp(i) = array(i) - maxArray
2148 if (cumPropExp(i) < LOGTINY_RK) then
2149 cumPropExp(i) = cumPropExp(i-1)
2150 else
2151 cumPropExp(i) = cumPropExp(i-1) + exp(cumPropExp(i))
2152 end if
2153 end do
2154 cumPropExpInv = 1._RKG / cumPropExp(lenArray)
2155 cumPropExp = cumPropExp * cumPropExpInv
2156 end function
2157
2158!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2159
2160end module pm_mathCumPropExp ! LCOV_EXCL_LINE
Generate and return the cumulative sum of the proportions of the exponential of the input array,...
Return the cumulative sum of the proportions of the exponential of the input array,...
This module contains abstract and concrete derived types that are required for compile-time resolutio...
Definition: pm_array.F90:44
type(forward_type), parameter forward
This is a scalar parameter object of type forward_type that is exclusively used to request reversal o...
Definition: pm_array.F90:449
character(*, SK), parameter MODULE_NAME
Definition: pm_array.F90:50
type(reverse_type), parameter reverse
This is a scalar parameter object of type reverse_type that is exclusively used to request reversal o...
Definition: pm_array.F90:248
type(nothing_type), parameter nothing
This is a scalar parameter object of type nothing_type that is exclusively used to request no action ...
Definition: pm_array.F90:167
type(backward_type), parameter backward
This is a scalar parameter object of type backward_type that is exclusively used to request reversal ...
Definition: pm_array.F90:530
This module contains abstract and concrete derived types that are required for compile-time resolutio...
Definition: pm_control.F90:45
type(sequence_type), parameter sequence
This is a scalar parameter object of type sequence_type that is exclusively used to request sequence ...
Definition: pm_control.F90:137
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 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
This module contains the procedures and interfaces for computing the cumulative sum of the exponentia...
pure real(RKG) function, dimension(lenArray) getCumPropExp_RK(array, maxArray, lenArray)
[LEGACY code] Generate and return the normalized cumulative sum (i.e., Cumulative Density Function (...
This is an abstract derived type for constructing concrete derived types to distinguish various proce...
Definition: pm_array.F90:88
This is a concrete derived type whose instances are exclusively used to request reversal of a given a...
Definition: pm_array.F90:495
This is an abstract derived type for constructing concrete derived types to distinguish various proce...
Definition: pm_array.F90:370
This is a concrete derived type whose instances are exclusively used to request reversal of a given a...
Definition: pm_array.F90:414
This is a concrete derived type whose instances are exclusively used to request no action on a given ...
Definition: pm_array.F90:132
This is a concrete derived type whose instances are exclusively used to request reversal of a given a...
Definition: pm_array.F90:213
This is an abstract derived type for constructing concrete derived types to distinguish various proce...
Definition: pm_control.F90:78
This is a concrete derived type whose instances are exclusively used to request selection control flo...
Definition: pm_control.F90:295
This is a concrete derived type whose instances are exclusively used to request sequence control flow...
Definition: pm_control.F90:112