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
327 interface setLinSpace
328
329 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
330
331#if CK5_ENABLED
332 pure module subroutine setLinSpace_CK5(linSpace, x1, x2, fopen, lopen)
333#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
334 !DEC$ ATTRIBUTES DLLEXPORT :: setLinSpace_CK5
335#endif
336 use pm_kind, only: CKG => CK5
337 implicit none
338 complex(CKG), intent(out) , contiguous :: linSpace(0:)
339 complex(CKG), intent(in) :: x1
340 complex(CKG), intent(in) :: x2
341 logical(LK) , intent(in) , optional :: fopen, lopen
342 end subroutine
343#endif
344
345#if CK4_ENABLED
346 pure module subroutine setLinSpace_CK4(linSpace, x1, x2, fopen, lopen)
347#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
348 !DEC$ ATTRIBUTES DLLEXPORT :: setLinSpace_CK4
349#endif
350 use pm_kind, only: CKG => CK4
351 implicit none
352 complex(CKG), intent(out) , contiguous :: linSpace(0:)
353 complex(CKG), intent(in) :: x1
354 complex(CKG), intent(in) :: x2
355 logical(LK) , intent(in) , optional :: fopen, lopen
356 end subroutine
357#endif
358
359#if CK3_ENABLED
360 pure module subroutine setLinSpace_CK3(linSpace, x1, x2, fopen, lopen)
361#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
362 !DEC$ ATTRIBUTES DLLEXPORT :: setLinSpace_CK3
363#endif
364 use pm_kind, only: CKG => CK3
365 implicit none
366 complex(CKG), intent(out) , contiguous :: linSpace(0:)
367 complex(CKG), intent(in) :: x1
368 complex(CKG), intent(in) :: x2
369 logical(LK) , intent(in) , optional :: fopen, lopen
370 end subroutine
371#endif
372
373#if CK2_ENABLED
374 pure module subroutine setLinSpace_CK2(linSpace, x1, x2, fopen, lopen)
375#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
376 !DEC$ ATTRIBUTES DLLEXPORT :: setLinSpace_CK2
377#endif
378 use pm_kind, only: CKG => CK2
379 implicit none
380 complex(CKG), intent(out) , contiguous :: linSpace(0:)
381 complex(CKG), intent(in) :: x1
382 complex(CKG), intent(in) :: x2
383 logical(LK) , intent(in) , optional :: fopen, lopen
384 end subroutine
385#endif
386
387#if CK1_ENABLED
388 pure module subroutine setLinSpace_CK1(linSpace, x1, x2, fopen, lopen)
389#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
390 !DEC$ ATTRIBUTES DLLEXPORT :: setLinSpace_CK1
391#endif
392 use pm_kind, only: CKG => CK1
393 implicit none
394 complex(CKG), intent(out) , contiguous :: linSpace(0:)
395 complex(CKG), intent(in) :: x1
396 complex(CKG), intent(in) :: x2
397 logical(LK) , intent(in) , optional :: fopen, lopen
398 end subroutine
399#endif
400
401 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
402
403#if RK5_ENABLED
404 pure module subroutine setLinSpace_RK5(linSpace, x1, x2, fopen, lopen)
405#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
406 !DEC$ ATTRIBUTES DLLEXPORT :: setLinSpace_RK5
407#endif
408 use pm_kind, only: RKG => RK5
409 implicit none
410 real(RKG) , intent(out) , contiguous :: linSpace(0:)
411 real(RKG) , intent(in) :: x1
412 real(RKG) , intent(in) :: x2
413 logical(LK) , intent(in) , optional :: fopen, lopen
414 end subroutine
415#endif
416
417#if RK4_ENABLED
418 pure module subroutine setLinSpace_RK4(linSpace, x1, x2, fopen, lopen)
419#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
420 !DEC$ ATTRIBUTES DLLEXPORT :: setLinSpace_RK4
421#endif
422 use pm_kind, only: RKG => RK4
423 implicit none
424 real(RKG) , intent(out) , contiguous :: linSpace(0:)
425 real(RKG) , intent(in) :: x1
426 real(RKG) , intent(in) :: x2
427 logical(LK) , intent(in) , optional :: fopen, lopen
428 end subroutine
429#endif
430
431#if RK3_ENABLED
432 pure module subroutine setLinSpace_RK3(linSpace, x1, x2, fopen, lopen)
433#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
434 !DEC$ ATTRIBUTES DLLEXPORT :: setLinSpace_RK3
435#endif
436 use pm_kind, only: RKG => RK3
437 implicit none
438 real(RKG) , intent(out) , contiguous :: linSpace(0:)
439 real(RKG) , intent(in) :: x1
440 real(RKG) , intent(in) :: x2
441 logical(LK) , intent(in) , optional :: fopen, lopen
442 end subroutine
443#endif
444
445#if RK2_ENABLED
446 pure module subroutine setLinSpace_RK2(linSpace, x1, x2, fopen, lopen)
447#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
448 !DEC$ ATTRIBUTES DLLEXPORT :: setLinSpace_RK2
449#endif
450 use pm_kind, only: RKG => RK2
451 implicit none
452 real(RKG) , intent(out) , contiguous :: linSpace(0:)
453 real(RKG) , intent(in) :: x1
454 real(RKG) , intent(in) :: x2
455 logical(LK) , intent(in) , optional :: fopen, lopen
456 end subroutine
457#endif
458
459#if RK1_ENABLED
460 pure module subroutine setLinSpace_RK1(linSpace, x1, x2, fopen, lopen)
461#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
462 !DEC$ ATTRIBUTES DLLEXPORT :: setLinSpace_RK1
463#endif
464 use pm_kind, only: RKG => RK1
465 implicit none
466 real(RKG) , intent(out) , contiguous :: linSpace(0:)
467 real(RKG) , intent(in) :: x1
468 real(RKG) , intent(in) :: x2
469 logical(LK) , intent(in) , optional :: fopen, lopen
470 end subroutine
471#endif
472
473 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
474
475 end interface
476
477!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
478
541 interface getLogSpace
542
543 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
544
545#if CK5_ENABLED
546 PURE module function getLogSpace_CK5(logx1, logx2, count, fopen, lopen, base) result(logSpace)
547#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
548 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSpace_CK5
549#endif
550 use pm_kind, only: CKG => CK5
551 implicit none
552 complex(CKG), intent(in) :: logx1
553 complex(CKG), intent(in) :: logx2
554 integer(IK) , intent(in) :: count
555 logical(LK) , intent(in), optional :: fopen,lopen
556 real(CKG) , intent(in), optional :: base
557 complex(CKG) :: logSpace(count)
558 end function
559#endif
560
561#if CK4_ENABLED
562 PURE module function getLogSpace_CK4(logx1, logx2, count, fopen, lopen, base) result(logSpace)
563#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
564 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSpace_CK4
565#endif
566 use pm_kind, only: CKG => CK4
567 implicit none
568 complex(CKG), intent(in) :: logx1
569 complex(CKG), intent(in) :: logx2
570 integer(IK) , intent(in) :: count
571 logical(LK) , intent(in), optional :: fopen,lopen
572 real(CKG) , intent(in), optional :: base
573 complex(CKG) :: logSpace(count)
574 end function
575#endif
576
577#if CK3_ENABLED
578 PURE module function getLogSpace_CK3(logx1, logx2, count, fopen, lopen, base) result(logSpace)
579#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
580 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSpace_CK3
581#endif
582 use pm_kind, only: CKG => CK3
583 implicit none
584 complex(CKG), intent(in) :: logx1
585 complex(CKG), intent(in) :: logx2
586 integer(IK) , intent(in) :: count
587 logical(LK) , intent(in), optional :: fopen,lopen
588 real(CKG) , intent(in), optional :: base
589 complex(CKG) :: logSpace(count)
590 end function
591#endif
592
593#if CK2_ENABLED
594 PURE module function getLogSpace_CK2(logx1, logx2, count, fopen, lopen, base) result(logSpace)
595#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
596 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSpace_CK2
597#endif
598 use pm_kind, only: CKG => CK2
599 implicit none
600 complex(CKG), intent(in) :: logx1
601 complex(CKG), intent(in) :: logx2
602 integer(IK) , intent(in) :: count
603 logical(LK) , intent(in), optional :: fopen,lopen
604 real(CKG) , intent(in), optional :: base
605 complex(CKG) :: logSpace(count)
606 end function
607#endif
608
609#if CK1_ENABLED
610 PURE module function getLogSpace_CK1(logx1, logx2, count, fopen, lopen, base) result(logSpace)
611#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
612 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSpace_CK1
613#endif
614 use pm_kind, only: CKG => CK1
615 implicit none
616 complex(CKG), intent(in) :: logx1
617 complex(CKG), intent(in) :: logx2
618 integer(IK) , intent(in) :: count
619 logical(LK) , intent(in), optional :: fopen,lopen
620 real(CKG) , intent(in), optional :: base
621 complex(CKG) :: logSpace(count)
622 end function
623#endif
624
625 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
626
627#if RK5_ENABLED
628 PURE module function getLogSpace_RK5(logx1, logx2, count, fopen, lopen, base) result(logSpace)
629#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
630 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSpace_RK5
631#endif
632 use pm_kind, only: RKG => RK5
633 implicit none
634 real(RKG) , intent(in) :: logx1
635 real(RKG) , intent(in) :: logx2
636 integer(IK) , intent(in) :: count
637 logical(LK) , intent(in), optional :: fopen,lopen
638 real(RKG) , intent(in), optional :: base
639 real(RKG) :: logSpace(count)
640 end function
641#endif
642
643#if RK4_ENABLED
644 PURE module function getLogSpace_RK4(logx1, logx2, count, fopen, lopen, base) result(logSpace)
645#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
646 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSpace_RK4
647#endif
648 use pm_kind, only: RKG => RK4
649 implicit none
650 real(RKG) , intent(in) :: logx1
651 real(RKG) , intent(in) :: logx2
652 integer(IK) , intent(in) :: count
653 logical(LK) , intent(in), optional :: fopen,lopen
654 real(RKG) , intent(in), optional :: base
655 real(RKG) :: logSpace(count)
656 end function
657#endif
658
659#if RK3_ENABLED
660 PURE module function getLogSpace_RK3(logx1, logx2, count, fopen, lopen, base) result(logSpace)
661#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
662 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSpace_RK3
663#endif
664 use pm_kind, only: RKG => RK3
665 implicit none
666 real(RKG) , intent(in) :: logx1
667 real(RKG) , intent(in) :: logx2
668 integer(IK) , intent(in) :: count
669 logical(LK) , intent(in), optional :: fopen,lopen
670 real(RKG) , intent(in), optional :: base
671 real(RKG) :: logSpace(count)
672 end function
673#endif
674
675#if RK2_ENABLED
676 PURE module function getLogSpace_RK2(logx1, logx2, count, fopen, lopen, base) result(logSpace)
677#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
678 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSpace_RK2
679#endif
680 use pm_kind, only: RKG => RK2
681 implicit none
682 real(RKG) , intent(in) :: logx1
683 real(RKG) , intent(in) :: logx2
684 integer(IK) , intent(in) :: count
685 logical(LK) , intent(in), optional :: fopen,lopen
686 real(RKG) , intent(in), optional :: base
687 real(RKG) :: logSpace(count)
688 end function
689#endif
690
691#if RK1_ENABLED
692 PURE module function getLogSpace_RK1(logx1, logx2, count, fopen, lopen, base) result(logSpace)
693#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
694 !DEC$ ATTRIBUTES DLLEXPORT :: getLogSpace_RK1
695#endif
696 use pm_kind, only: RKG => RK1
697 implicit none
698 real(RKG) , intent(in) :: logx1
699 real(RKG) , intent(in) :: logx2
700 integer(IK) , intent(in) :: count
701 logical(LK) , intent(in), optional :: fopen,lopen
702 real(RKG) , intent(in), optional :: base
703 real(RKG) :: logSpace(count)
704 end function
705#endif
706
707 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
708
709 end interface
710
711!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
712
768 interface setLogSpace
769
770 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
771
772#if CK5_ENABLED
773 pure module subroutine setLogSpace_CK5(logSpace, logx1, logx2, fopen, lopen, base)
774#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
775 !DEC$ ATTRIBUTES DLLEXPORT :: setLogSpace_CK5
776#endif
777 use pm_kind, only: CKG => CK5
778 complex(CKG), intent(out) , contiguous :: logSpace(:)
779 complex(CKG), intent(in) :: logx1
780 complex(CKG), intent(in) :: logx2
781 logical(LK) , intent(in) , optional :: fopen,lopen
782 real(CKG) , intent(in) , optional :: base
783 end subroutine
784#endif
785
786#if CK4_ENABLED
787 pure module subroutine setLogSpace_CK4(logSpace, logx1, logx2, fopen, lopen, base)
788#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
789 !DEC$ ATTRIBUTES DLLEXPORT :: setLogSpace_CK4
790#endif
791 use pm_kind, only: CKG => CK4
792 complex(CKG), intent(out) , contiguous :: logSpace(:)
793 complex(CKG), intent(in) :: logx1
794 complex(CKG), intent(in) :: logx2
795 logical(LK) , intent(in) , optional :: fopen,lopen
796 real(CKG) , intent(in) , optional :: base
797 end subroutine
798#endif
799
800#if CK3_ENABLED
801 pure module subroutine setLogSpace_CK3(logSpace, logx1, logx2, fopen, lopen, base)
802#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
803 !DEC$ ATTRIBUTES DLLEXPORT :: setLogSpace_CK3
804#endif
805 use pm_kind, only: CKG => CK3
806 complex(CKG), intent(out) , contiguous :: logSpace(:)
807 complex(CKG), intent(in) :: logx1
808 complex(CKG), intent(in) :: logx2
809 logical(LK) , intent(in) , optional :: fopen,lopen
810 real(CKG) , intent(in) , optional :: base
811 end subroutine
812#endif
813
814#if CK2_ENABLED
815 pure module subroutine setLogSpace_CK2(logSpace, logx1, logx2, fopen, lopen, base)
816#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
817 !DEC$ ATTRIBUTES DLLEXPORT :: setLogSpace_CK2
818#endif
819 use pm_kind, only: CKG => CK2
820 complex(CKG), intent(out) , contiguous :: logSpace(:)
821 complex(CKG), intent(in) :: logx1
822 complex(CKG), intent(in) :: logx2
823 logical(LK) , intent(in) , optional :: fopen,lopen
824 real(CKG) , intent(in) , optional :: base
825 end subroutine
826#endif
827
828#if CK1_ENABLED
829 pure module subroutine setLogSpace_CK1(logSpace, logx1, logx2, fopen, lopen, base)
830#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
831 !DEC$ ATTRIBUTES DLLEXPORT :: setLogSpace_CK1
832#endif
833 use pm_kind, only: CKG => CK1
834 complex(CKG), intent(out) , contiguous :: logSpace(:)
835 complex(CKG), intent(in) :: logx1
836 complex(CKG), intent(in) :: logx2
837 logical(LK) , intent(in) , optional :: fopen,lopen
838 real(CKG) , intent(in) , optional :: base
839 end subroutine
840#endif
841
842 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
843
844#if RK5_ENABLED
845 pure module subroutine setLogSpace_RK5(logSpace, logx1, logx2, fopen, lopen, base)
846#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
847 !DEC$ ATTRIBUTES DLLEXPORT :: setLogSpace_RK5
848#endif
849 use pm_kind, only: RKG => RK5
850 real(RKG) , intent(out) , contiguous :: logSpace(:)
851 real(RKG) , intent(in) :: logx1
852 real(RKG) , intent(in) :: logx2
853 logical(LK) , intent(in) , optional :: fopen,lopen
854 real(RKG) , intent(in) , optional :: base
855 end subroutine
856#endif
857
858#if RK4_ENABLED
859 pure module subroutine setLogSpace_RK4(logSpace, logx1, logx2, fopen, lopen, base)
860#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
861 !DEC$ ATTRIBUTES DLLEXPORT :: setLogSpace_RK4
862#endif
863 use pm_kind, only: RKG => RK4
864 real(RKG) , intent(out) , contiguous :: logSpace(:)
865 real(RKG) , intent(in) :: logx1
866 real(RKG) , intent(in) :: logx2
867 logical(LK) , intent(in) , optional :: fopen,lopen
868 real(RKG) , intent(in) , optional :: base
869 end subroutine
870#endif
871
872#if RK3_ENABLED
873 pure module subroutine setLogSpace_RK3(logSpace, logx1, logx2, fopen, lopen, base)
874#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
875 !DEC$ ATTRIBUTES DLLEXPORT :: setLogSpace_RK3
876#endif
877 use pm_kind, only: RKG => RK3
878 real(RKG) , intent(out) , contiguous :: logSpace(:)
879 real(RKG) , intent(in) :: logx1
880 real(RKG) , intent(in) :: logx2
881 logical(LK) , intent(in) , optional :: fopen,lopen
882 real(RKG) , intent(in) , optional :: base
883 end subroutine
884#endif
885
886#if RK2_ENABLED
887 pure module subroutine setLogSpace_RK2(logSpace, logx1, logx2, fopen, lopen, base)
888#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
889 !DEC$ ATTRIBUTES DLLEXPORT :: setLogSpace_RK2
890#endif
891 use pm_kind, only: RKG => RK2
892 real(RKG) , intent(out) , contiguous :: logSpace(:)
893 real(RKG) , intent(in) :: logx1
894 real(RKG) , intent(in) :: logx2
895 logical(LK) , intent(in) , optional :: fopen,lopen
896 real(RKG) , intent(in) , optional :: base
897 end subroutine
898#endif
899
900#if RK1_ENABLED
901 pure module subroutine setLogSpace_RK1(logSpace, logx1, logx2, fopen, lopen, base)
902#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
903 !DEC$ ATTRIBUTES DLLEXPORT :: setLogSpace_RK1
904#endif
905 use pm_kind, only: RKG => RK1
906 real(RKG) , intent(out) , contiguous :: logSpace(:)
907 real(RKG) , intent(in) :: logx1
908 real(RKG) , intent(in) :: logx2
909 logical(LK) , intent(in) , optional :: fopen,lopen
910 real(RKG) , intent(in) , optional :: base
911 end subroutine
912#endif
913
914 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
915
916 end interface
917
918!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
919
920end 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