ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_arraySpace.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
30
31!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
32
34
35 use pm_kind, only: SK, IK, LK
36
37 implicit none
38
39 character(*, SK), parameter :: MODULE_NAME = "@pm_arraySpace"
40
41!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
42
108 interface getLinSpace
109
110 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
111
112#if CK5_ENABLED
113 PURE module function getLinSpace_CK5(x1, x2, count, fopen, lopen) result(linSpace)
114#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
115 !DEC$ ATTRIBUTES DLLEXPORT :: getLinSpace_CK5
116#endif
117 use pm_kind, only: CKG => CK5
118 implicit none
119 complex(CKG), intent(in) :: x1
120 complex(CKG), intent(in) :: x2
121 integer(IK) , intent(in) :: count
122 logical(LK) , intent(in), optional :: fopen, lopen
123 complex(CKG) :: linSpace(0 : count - 1)
124 end function
125#endif
126
127#if CK4_ENABLED
128 PURE module function getLinSpace_CK4(x1, x2, count, fopen, lopen) result(linSpace)
129#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
130 !DEC$ ATTRIBUTES DLLEXPORT :: getLinSpace_CK4
131#endif
132 use pm_kind, only: CKG => CK4
133 implicit none
134 complex(CKG), intent(in) :: x1
135 complex(CKG), intent(in) :: x2
136 integer(IK) , intent(in) :: count
137 logical(LK) , intent(in), optional :: fopen, lopen
138 complex(CKG) :: linSpace(0 : count - 1)
139 end function
140#endif
141
142#if CK3_ENABLED
143 PURE module function getLinSpace_CK3(x1, x2, count, fopen, lopen) result(linSpace)
144#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
145 !DEC$ ATTRIBUTES DLLEXPORT :: getLinSpace_CK3
146#endif
147 use pm_kind, only: CKG => CK3
148 implicit none
149 complex(CKG), intent(in) :: x1
150 complex(CKG), intent(in) :: x2
151 integer(IK) , intent(in) :: count
152 logical(LK) , intent(in), optional :: fopen, lopen
153 complex(CKG) :: linSpace(0 : count - 1)
154 end function
155#endif
156
157#if CK2_ENABLED
158 PURE module function getLinSpace_CK2(x1, x2, count, fopen, lopen) result(linSpace)
159#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
160 !DEC$ ATTRIBUTES DLLEXPORT :: getLinSpace_CK2
161#endif
162 use pm_kind, only: CKG => CK2
163 implicit none
164 complex(CKG), intent(in) :: x1
165 complex(CKG), intent(in) :: x2
166 integer(IK) , intent(in) :: count
167 logical(LK) , intent(in), optional :: fopen, lopen
168 complex(CKG) :: linSpace(0 : count - 1)
169 end function
170#endif
171
172#if CK1_ENABLED
173 PURE module function getLinSpace_CK1(x1, x2, count, fopen, lopen) result(linSpace)
174#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
175 !DEC$ ATTRIBUTES DLLEXPORT :: getLinSpace_CK1
176#endif
177 use pm_kind, only: CKG => CK1
178 implicit none
179 complex(CKG), intent(in) :: x1
180 complex(CKG), intent(in) :: x2
181 integer(IK) , intent(in) :: count
182 logical(LK) , intent(in), optional :: fopen, lopen
183 complex(CKG) :: linSpace(0 : count - 1)
184 end function
185#endif
186
187 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
188
189#if RK5_ENABLED
190 PURE module function getLinSpace_RK5(x1, x2, count, fopen, lopen) result(linSpace)
191#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
192 !DEC$ ATTRIBUTES DLLEXPORT :: getLinSpace_RK5
193#endif
194 use pm_kind, only: RKG => RK5
195 implicit none
196 real(RKG) , intent(in) :: x1
197 real(RKG) , intent(in) :: x2
198 integer(IK) , intent(in) :: count
199 logical(LK) , intent(in), optional :: fopen, lopen
200 real(RKG) :: linSpace(0 : count - 1)
201 end function
202#endif
203
204#if RK4_ENABLED
205 PURE module function getLinSpace_RK4(x1, x2, count, fopen, lopen) result(linSpace)
206#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
207 !DEC$ ATTRIBUTES DLLEXPORT :: getLinSpace_RK4
208#endif
209 use pm_kind, only: RKG => RK4
210 implicit none
211 real(RKG) , intent(in) :: x1
212 real(RKG) , intent(in) :: x2
213 integer(IK) , intent(in) :: count
214 logical(LK) , intent(in), optional :: fopen, lopen
215 real(RKG) :: linSpace(0 : count - 1)
216 end function
217#endif
218
219#if RK3_ENABLED
220 PURE module function getLinSpace_RK3(x1, x2, count, fopen, lopen) result(linSpace)
221#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
222 !DEC$ ATTRIBUTES DLLEXPORT :: getLinSpace_RK3
223#endif
224 use pm_kind, only: RKG => RK3
225 implicit none
226 real(RKG) , intent(in) :: x1
227 real(RKG) , intent(in) :: x2
228 integer(IK) , intent(in) :: count
229 logical(LK) , intent(in), optional :: fopen, lopen
230 real(RKG) :: linSpace(0 : count - 1)
231 end function
232#endif
233
234#if RK2_ENABLED
235 PURE module function getLinSpace_RK2(x1, x2, count, fopen, lopen) result(linSpace)
236#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
237 !DEC$ ATTRIBUTES DLLEXPORT :: getLinSpace_RK2
238#endif
239 use pm_kind, only: RKG => RK2
240 implicit none
241 real(RKG) , intent(in) :: x1
242 real(RKG) , intent(in) :: x2
243 integer(IK) , intent(in) :: count
244 logical(LK) , intent(in), optional :: fopen, lopen
245 real(RKG) :: linSpace(0 : count - 1)
246 end function
247#endif
248
249#if RK1_ENABLED
250 PURE module function getLinSpace_RK1(x1, x2, count, fopen, lopen) result(linSpace)
251#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
252 !DEC$ ATTRIBUTES DLLEXPORT :: getLinSpace_RK1
253#endif
254 use pm_kind, only: RKG => RK1
255 implicit none
256 real(RKG) , intent(in) :: x1
257 real(RKG) , intent(in) :: x2
258 integer(IK) , intent(in) :: count
259 logical(LK) , intent(in), optional :: fopen, lopen
260 real(RKG) :: linSpace(0 : count - 1)
261 end function
262#endif
263
264 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
265
266 end interface
267
268!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
269
324 interface setLinSpace
325
326 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
327
328#if CK5_ENABLED
329 pure module subroutine setLinSpace_CK5(linSpace, x1, x2, fopen, lopen)
330#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
331 !DEC$ ATTRIBUTES DLLEXPORT :: setLinSpace_CK5
332#endif
333 use pm_kind, only: CKG => CK5
334 implicit none
335 complex(CKG), intent(out) , contiguous :: linSpace(0:)
336 complex(CKG), intent(in) :: x1
337 complex(CKG), intent(in) :: x2
338 logical(LK) , intent(in) , optional :: fopen, lopen
339 end subroutine
340#endif
341
342#if CK4_ENABLED
343 pure module subroutine setLinSpace_CK4(linSpace, x1, x2, fopen, lopen)
344#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
345 !DEC$ ATTRIBUTES DLLEXPORT :: setLinSpace_CK4
346#endif
347 use pm_kind, only: CKG => CK4
348 implicit none
349 complex(CKG), intent(out) , contiguous :: linSpace(0:)
350 complex(CKG), intent(in) :: x1
351 complex(CKG), intent(in) :: x2
352 logical(LK) , intent(in) , optional :: fopen, lopen
353 end subroutine
354#endif
355
356#if CK3_ENABLED
357 pure module subroutine setLinSpace_CK3(linSpace, x1, x2, fopen, lopen)
358#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
359 !DEC$ ATTRIBUTES DLLEXPORT :: setLinSpace_CK3
360#endif
361 use pm_kind, only: CKG => CK3
362 implicit none
363 complex(CKG), intent(out) , contiguous :: linSpace(0:)
364 complex(CKG), intent(in) :: x1
365 complex(CKG), intent(in) :: x2
366 logical(LK) , intent(in) , optional :: fopen, lopen
367 end subroutine
368#endif
369
370#if CK2_ENABLED
371 pure module subroutine setLinSpace_CK2(linSpace, x1, x2, fopen, lopen)
372#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
373 !DEC$ ATTRIBUTES DLLEXPORT :: setLinSpace_CK2
374#endif
375 use pm_kind, only: CKG => CK2
376 implicit none
377 complex(CKG), intent(out) , contiguous :: linSpace(0:)
378 complex(CKG), intent(in) :: x1
379 complex(CKG), intent(in) :: x2
380 logical(LK) , intent(in) , optional :: fopen, lopen
381 end subroutine
382#endif
383
384#if CK1_ENABLED
385 pure module subroutine setLinSpace_CK1(linSpace, x1, x2, fopen, lopen)
386#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
387 !DEC$ ATTRIBUTES DLLEXPORT :: setLinSpace_CK1
388#endif
389 use pm_kind, only: CKG => CK1
390 implicit none
391 complex(CKG), intent(out) , contiguous :: linSpace(0:)
392 complex(CKG), intent(in) :: x1
393 complex(CKG), intent(in) :: x2
394 logical(LK) , intent(in) , optional :: fopen, lopen
395 end subroutine
396#endif
397
398 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
399
400#if RK5_ENABLED
401 pure module subroutine setLinSpace_RK5(linSpace, x1, x2, fopen, lopen)
402#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
403 !DEC$ ATTRIBUTES DLLEXPORT :: setLinSpace_RK5
404#endif
405 use pm_kind, only: RKG => RK5
406 implicit none
407 real(RKG) , intent(out) , contiguous :: linSpace(0:)
408 real(RKG) , intent(in) :: x1
409 real(RKG) , intent(in) :: x2
410 logical(LK) , intent(in) , optional :: fopen, lopen
411 end subroutine
412#endif
413
414#if RK4_ENABLED
415 pure module subroutine setLinSpace_RK4(linSpace, x1, x2, fopen, lopen)
416#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
417 !DEC$ ATTRIBUTES DLLEXPORT :: setLinSpace_RK4
418#endif
419 use pm_kind, only: RKG => RK4
420 implicit none
421 real(RKG) , intent(out) , contiguous :: linSpace(0:)
422 real(RKG) , intent(in) :: x1
423 real(RKG) , intent(in) :: x2
424 logical(LK) , intent(in) , optional :: fopen, lopen
425 end subroutine
426#endif
427
428#if RK3_ENABLED
429 pure module subroutine setLinSpace_RK3(linSpace, x1, x2, fopen, lopen)
430#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
431 !DEC$ ATTRIBUTES DLLEXPORT :: setLinSpace_RK3
432#endif
433 use pm_kind, only: RKG => RK3
434 implicit none
435 real(RKG) , intent(out) , contiguous :: linSpace(0:)
436 real(RKG) , intent(in) :: x1
437 real(RKG) , intent(in) :: x2
438 logical(LK) , intent(in) , optional :: fopen, lopen
439 end subroutine
440#endif
441
442#if RK2_ENABLED
443 pure module subroutine setLinSpace_RK2(linSpace, x1, x2, fopen, lopen)
444#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
445 !DEC$ ATTRIBUTES DLLEXPORT :: setLinSpace_RK2
446#endif
447 use pm_kind, only: RKG => RK2
448 implicit none
449 real(RKG) , intent(out) , contiguous :: linSpace(0:)
450 real(RKG) , intent(in) :: x1
451 real(RKG) , intent(in) :: x2
452 logical(LK) , intent(in) , optional :: fopen, lopen
453 end subroutine
454#endif
455
456#if RK1_ENABLED
457 pure module subroutine setLinSpace_RK1(linSpace, x1, x2, fopen, lopen)
458#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
459 !DEC$ ATTRIBUTES DLLEXPORT :: setLinSpace_RK1
460#endif
461 use pm_kind, only: RKG => RK1
462 implicit none
463 real(RKG) , intent(out) , contiguous :: linSpace(0:)
464 real(RKG) , intent(in) :: x1
465 real(RKG) , intent(in) :: x2
466 logical(LK) , intent(in) , optional :: fopen, lopen
467 end subroutine
468#endif
469
470 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
471
472 end interface
473
474!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
475
538 interface getLogSpace
539
540 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
541
542#if CK5_ENABLED
543 PURE module function getLogSpace_CK5(logx1, logx2, count, fopen, lopen, base) result(logSpace)
544#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
545 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSpace_CK5
546#endif
547 use pm_kind, only: CKG => CK5
548 implicit none
549 complex(CKG), intent(in) :: logx1
550 complex(CKG), intent(in) :: logx2
551 integer(IK) , intent(in) :: count
552 logical(LK) , intent(in), optional :: fopen,lopen
553 real(CKG) , intent(in), optional :: base
554 complex(CKG) :: logSpace(count)
555 end function
556#endif
557
558#if CK4_ENABLED
559 PURE module function getLogSpace_CK4(logx1, logx2, count, fopen, lopen, base) result(logSpace)
560#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
561 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSpace_CK4
562#endif
563 use pm_kind, only: CKG => CK4
564 implicit none
565 complex(CKG), intent(in) :: logx1
566 complex(CKG), intent(in) :: logx2
567 integer(IK) , intent(in) :: count
568 logical(LK) , intent(in), optional :: fopen,lopen
569 real(CKG) , intent(in), optional :: base
570 complex(CKG) :: logSpace(count)
571 end function
572#endif
573
574#if CK3_ENABLED
575 PURE module function getLogSpace_CK3(logx1, logx2, count, fopen, lopen, base) result(logSpace)
576#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
577 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSpace_CK3
578#endif
579 use pm_kind, only: CKG => CK3
580 implicit none
581 complex(CKG), intent(in) :: logx1
582 complex(CKG), intent(in) :: logx2
583 integer(IK) , intent(in) :: count
584 logical(LK) , intent(in), optional :: fopen,lopen
585 real(CKG) , intent(in), optional :: base
586 complex(CKG) :: logSpace(count)
587 end function
588#endif
589
590#if CK2_ENABLED
591 PURE module function getLogSpace_CK2(logx1, logx2, count, fopen, lopen, base) result(logSpace)
592#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
593 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSpace_CK2
594#endif
595 use pm_kind, only: CKG => CK2
596 implicit none
597 complex(CKG), intent(in) :: logx1
598 complex(CKG), intent(in) :: logx2
599 integer(IK) , intent(in) :: count
600 logical(LK) , intent(in), optional :: fopen,lopen
601 real(CKG) , intent(in), optional :: base
602 complex(CKG) :: logSpace(count)
603 end function
604#endif
605
606#if CK1_ENABLED
607 PURE module function getLogSpace_CK1(logx1, logx2, count, fopen, lopen, base) result(logSpace)
608#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
609 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSpace_CK1
610#endif
611 use pm_kind, only: CKG => CK1
612 implicit none
613 complex(CKG), intent(in) :: logx1
614 complex(CKG), intent(in) :: logx2
615 integer(IK) , intent(in) :: count
616 logical(LK) , intent(in), optional :: fopen,lopen
617 real(CKG) , intent(in), optional :: base
618 complex(CKG) :: logSpace(count)
619 end function
620#endif
621
622 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
623
624#if RK5_ENABLED
625 PURE module function getLogSpace_RK5(logx1, logx2, count, fopen, lopen, base) result(logSpace)
626#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
627 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSpace_RK5
628#endif
629 use pm_kind, only: RKG => RK5
630 implicit none
631 real(RKG) , intent(in) :: logx1
632 real(RKG) , intent(in) :: logx2
633 integer(IK) , intent(in) :: count
634 logical(LK) , intent(in), optional :: fopen,lopen
635 real(RKG) , intent(in), optional :: base
636 real(RKG) :: logSpace(count)
637 end function
638#endif
639
640#if RK4_ENABLED
641 PURE module function getLogSpace_RK4(logx1, logx2, count, fopen, lopen, base) result(logSpace)
642#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
643 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSpace_RK4
644#endif
645 use pm_kind, only: RKG => RK4
646 implicit none
647 real(RKG) , intent(in) :: logx1
648 real(RKG) , intent(in) :: logx2
649 integer(IK) , intent(in) :: count
650 logical(LK) , intent(in), optional :: fopen,lopen
651 real(RKG) , intent(in), optional :: base
652 real(RKG) :: logSpace(count)
653 end function
654#endif
655
656#if RK3_ENABLED
657 PURE module function getLogSpace_RK3(logx1, logx2, count, fopen, lopen, base) result(logSpace)
658#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
659 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSpace_RK3
660#endif
661 use pm_kind, only: RKG => RK3
662 implicit none
663 real(RKG) , intent(in) :: logx1
664 real(RKG) , intent(in) :: logx2
665 integer(IK) , intent(in) :: count
666 logical(LK) , intent(in), optional :: fopen,lopen
667 real(RKG) , intent(in), optional :: base
668 real(RKG) :: logSpace(count)
669 end function
670#endif
671
672#if RK2_ENABLED
673 PURE module function getLogSpace_RK2(logx1, logx2, count, fopen, lopen, base) result(logSpace)
674#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
675 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSpace_RK2
676#endif
677 use pm_kind, only: RKG => RK2
678 implicit none
679 real(RKG) , intent(in) :: logx1
680 real(RKG) , intent(in) :: logx2
681 integer(IK) , intent(in) :: count
682 logical(LK) , intent(in), optional :: fopen,lopen
683 real(RKG) , intent(in), optional :: base
684 real(RKG) :: logSpace(count)
685 end function
686#endif
687
688#if RK1_ENABLED
689 PURE module function getLogSpace_RK1(logx1, logx2, count, fopen, lopen, base) result(logSpace)
690#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
691 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSpace_RK1
692#endif
693 use pm_kind, only: RKG => RK1
694 implicit none
695 real(RKG) , intent(in) :: logx1
696 real(RKG) , intent(in) :: logx2
697 integer(IK) , intent(in) :: count
698 logical(LK) , intent(in), optional :: fopen,lopen
699 real(RKG) , intent(in), optional :: base
700 real(RKG) :: logSpace(count)
701 end function
702#endif
703
704 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
705
706 end interface
707
708!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
709
765 interface setLogSpace
766
767 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
768
769#if CK5_ENABLED
770 pure module subroutine setLogSpace_CK5(logSpace, logx1, logx2, fopen, lopen, base)
771#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
772 !DEC$ ATTRIBUTES DLLEXPORT :: setLogSpace_CK5
773#endif
774 use pm_kind, only: CKG => CK5
775 complex(CKG), intent(out) , contiguous :: logSpace(:)
776 complex(CKG), intent(in) :: logx1
777 complex(CKG), intent(in) :: logx2
778 logical(LK) , intent(in) , optional :: fopen,lopen
779 real(CKG) , intent(in) , optional :: base
780 end subroutine
781#endif
782
783#if CK4_ENABLED
784 pure module subroutine setLogSpace_CK4(logSpace, logx1, logx2, fopen, lopen, base)
785#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
786 !DEC$ ATTRIBUTES DLLEXPORT :: setLogSpace_CK4
787#endif
788 use pm_kind, only: CKG => CK4
789 complex(CKG), intent(out) , contiguous :: logSpace(:)
790 complex(CKG), intent(in) :: logx1
791 complex(CKG), intent(in) :: logx2
792 logical(LK) , intent(in) , optional :: fopen,lopen
793 real(CKG) , intent(in) , optional :: base
794 end subroutine
795#endif
796
797#if CK3_ENABLED
798 pure module subroutine setLogSpace_CK3(logSpace, logx1, logx2, fopen, lopen, base)
799#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
800 !DEC$ ATTRIBUTES DLLEXPORT :: setLogSpace_CK3
801#endif
802 use pm_kind, only: CKG => CK3
803 complex(CKG), intent(out) , contiguous :: logSpace(:)
804 complex(CKG), intent(in) :: logx1
805 complex(CKG), intent(in) :: logx2
806 logical(LK) , intent(in) , optional :: fopen,lopen
807 real(CKG) , intent(in) , optional :: base
808 end subroutine
809#endif
810
811#if CK2_ENABLED
812 pure module subroutine setLogSpace_CK2(logSpace, logx1, logx2, fopen, lopen, base)
813#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
814 !DEC$ ATTRIBUTES DLLEXPORT :: setLogSpace_CK2
815#endif
816 use pm_kind, only: CKG => CK2
817 complex(CKG), intent(out) , contiguous :: logSpace(:)
818 complex(CKG), intent(in) :: logx1
819 complex(CKG), intent(in) :: logx2
820 logical(LK) , intent(in) , optional :: fopen,lopen
821 real(CKG) , intent(in) , optional :: base
822 end subroutine
823#endif
824
825#if CK1_ENABLED
826 pure module subroutine setLogSpace_CK1(logSpace, logx1, logx2, fopen, lopen, base)
827#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
828 !DEC$ ATTRIBUTES DLLEXPORT :: setLogSpace_CK1
829#endif
830 use pm_kind, only: CKG => CK1
831 complex(CKG), intent(out) , contiguous :: logSpace(:)
832 complex(CKG), intent(in) :: logx1
833 complex(CKG), intent(in) :: logx2
834 logical(LK) , intent(in) , optional :: fopen,lopen
835 real(CKG) , intent(in) , optional :: base
836 end subroutine
837#endif
838
839 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
840
841#if RK5_ENABLED
842 pure module subroutine setLogSpace_RK5(logSpace, logx1, logx2, fopen, lopen, base)
843#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
844 !DEC$ ATTRIBUTES DLLEXPORT :: setLogSpace_RK5
845#endif
846 use pm_kind, only: RKG => RK5
847 real(RKG) , intent(out) , contiguous :: logSpace(:)
848 real(RKG) , intent(in) :: logx1
849 real(RKG) , intent(in) :: logx2
850 logical(LK) , intent(in) , optional :: fopen,lopen
851 real(RKG) , intent(in) , optional :: base
852 end subroutine
853#endif
854
855#if RK4_ENABLED
856 pure module subroutine setLogSpace_RK4(logSpace, logx1, logx2, fopen, lopen, base)
857#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
858 !DEC$ ATTRIBUTES DLLEXPORT :: setLogSpace_RK4
859#endif
860 use pm_kind, only: RKG => RK4
861 real(RKG) , intent(out) , contiguous :: logSpace(:)
862 real(RKG) , intent(in) :: logx1
863 real(RKG) , intent(in) :: logx2
864 logical(LK) , intent(in) , optional :: fopen,lopen
865 real(RKG) , intent(in) , optional :: base
866 end subroutine
867#endif
868
869#if RK3_ENABLED
870 pure module subroutine setLogSpace_RK3(logSpace, logx1, logx2, fopen, lopen, base)
871#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
872 !DEC$ ATTRIBUTES DLLEXPORT :: setLogSpace_RK3
873#endif
874 use pm_kind, only: RKG => RK3
875 real(RKG) , intent(out) , contiguous :: logSpace(:)
876 real(RKG) , intent(in) :: logx1
877 real(RKG) , intent(in) :: logx2
878 logical(LK) , intent(in) , optional :: fopen,lopen
879 real(RKG) , intent(in) , optional :: base
880 end subroutine
881#endif
882
883#if RK2_ENABLED
884 pure module subroutine setLogSpace_RK2(logSpace, logx1, logx2, fopen, lopen, base)
885#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
886 !DEC$ ATTRIBUTES DLLEXPORT :: setLogSpace_RK2
887#endif
888 use pm_kind, only: RKG => RK2
889 real(RKG) , intent(out) , contiguous :: logSpace(:)
890 real(RKG) , intent(in) :: logx1
891 real(RKG) , intent(in) :: logx2
892 logical(LK) , intent(in) , optional :: fopen,lopen
893 real(RKG) , intent(in) , optional :: base
894 end subroutine
895#endif
896
897#if RK1_ENABLED
898 pure module subroutine setLogSpace_RK1(logSpace, logx1, logx2, fopen, lopen, base)
899#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
900 !DEC$ ATTRIBUTES DLLEXPORT :: setLogSpace_RK1
901#endif
902 use pm_kind, only: RKG => RK1
903 real(RKG) , intent(out) , contiguous :: logSpace(:)
904 real(RKG) , intent(in) :: logx1
905 real(RKG) , intent(in) :: logx2
906 logical(LK) , intent(in) , optional :: fopen,lopen
907 real(RKG) , intent(in) , optional :: base
908 end subroutine
909#endif
910
911 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
912
913 end interface
914
915!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
916
917end module pm_arraySpace ! LCOV_EXCL_LINE
Generate count evenly spaced points over the interval [x1, x2] if x1 < x2, or [x2,...
Generate count evenly-logarithmically-spaced points over the interval [base**logx1,...
Return the linSpace output argument with size(linSpace) elements of evenly-spaced values over the int...
Return the logSpace output argument with size(logSpace) elements of logarithmically-evenly-spaced val...
This module contains procedures and generic interfaces for generating arrays with linear or logarithm...
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 CK1
Definition: pm_kind.F90:464
integer, parameter RK3
Definition: pm_kind.F90:500
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
Definition: pm_kind.F90:541
integer, parameter CK5
Definition: pm_kind.F90:420
integer, parameter CK4
Definition: pm_kind.F90:431
integer, parameter CK2
Definition: pm_kind.F90:453
integer, parameter CK3
Definition: pm_kind.F90:442
integer, parameter IK
The default integer kind in the ParaMonte library: int32 in Fortran, c_int32_t in C-Fortran Interoper...
Definition: pm_kind.F90:540
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
Definition: pm_kind.F90:539
integer, parameter RK1
Definition: pm_kind.F90:522