ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_arrayReverse.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 use pm_kind, only: SK, IK
46
47 implicit none
48
49 character(*, SK), parameter :: MODULE_NAME = "@pm_arrayReverse"
50
51!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
52
116 interface getReversed
117
118 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
119 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
120 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
121
122 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
123
124#if SK5_ENABLED
125 PURE module function getReversedNew_D0_SK5(array) result(ArrayReversed)
126#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
127 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D0_SK5
128#endif
129 use pm_kind, only: SKG => SK5
130 character(*,SKG) , intent(in) :: array
131 character(len(array,IK),SKG) :: ArrayReversed
132 end function
133#endif
134
135#if SK4_ENABLED
136 PURE module function getReversedNew_D0_SK4(array) result(ArrayReversed)
137#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
138 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D0_SK4
139#endif
140 use pm_kind, only: SKG => SK4
141 character(*,SKG) , intent(in) :: array
142 character(len(array,IK),SKG) :: ArrayReversed
143 end function
144#endif
145
146#if SK3_ENABLED
147 PURE module function getReversedNew_D0_SK3(array) result(ArrayReversed)
148#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
149 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D0_SK3
150#endif
151 use pm_kind, only: SKG => SK3
152 character(*,SKG) , intent(in) :: array
153 character(len(array,IK),SKG) :: ArrayReversed
154 end function
155#endif
156
157#if SK2_ENABLED
158 PURE module function getReversedNew_D0_SK2(array) result(ArrayReversed)
159#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
160 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D0_SK2
161#endif
162 use pm_kind, only: SKG => SK2
163 character(*,SKG) , intent(in) :: array
164 character(len(array,IK),SKG) :: ArrayReversed
165 end function
166#endif
167
168#if SK1_ENABLED
169 PURE module function getReversedNew_D0_SK1(array) result(ArrayReversed)
170#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
171 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D0_SK1
172#endif
173 use pm_kind, only: SKG => SK1
174 character(*,SKG) , intent(in) :: array
175 character(len(array,IK),SKG) :: ArrayReversed
176 end function
177#endif
178
179 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
180
181#if SK5_ENABLED
182 PURE module function getReversedNew_D1_SK5(array) result(ArrayReversed)
183#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
184 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_SK5
185#endif
186 use pm_kind, only: SKG => SK5
187 character(*,SKG) , intent(in) , contiguous :: array(:)
188 character(len(array,IK),SKG) :: ArrayReversed(size(array))
189 end function
190#endif
191
192#if SK4_ENABLED
193 PURE module function getReversedNew_D1_SK4(array) result(ArrayReversed)
194#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
195 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_SK4
196#endif
197 use pm_kind, only: SKG => SK4
198 character(*,SKG) , intent(in) , contiguous :: array(:)
199 character(len(array,IK),SKG) :: ArrayReversed(size(array))
200 end function
201#endif
202
203#if SK3_ENABLED
204 PURE module function getReversedNew_D1_SK3(array) result(ArrayReversed)
205#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
206 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_SK3
207#endif
208 use pm_kind, only: SKG => SK3
209 character(*,SKG) , intent(in) , contiguous :: array(:)
210 character(len(array,IK),SKG) :: ArrayReversed(size(array))
211 end function
212#endif
213
214#if SK2_ENABLED
215 PURE module function getReversedNew_D1_SK2(array) result(ArrayReversed)
216#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
217 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_SK2
218#endif
219 use pm_kind, only: SKG => SK2
220 character(*,SKG) , intent(in) , contiguous :: array(:)
221 character(len(array,IK),SKG) :: ArrayReversed(size(array))
222 end function
223#endif
224
225#if SK1_ENABLED
226 PURE module function getReversedNew_D1_SK1(array) result(ArrayReversed)
227#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
228 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_SK1
229#endif
230 use pm_kind, only: SKG => SK1
231 character(*,SKG) , intent(in) , contiguous :: array(:)
232 character(len(array,IK),SKG) :: ArrayReversed(size(array))
233 end function
234#endif
235
236 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
237
238#if IK5_ENABLED
239 PURE module function getReversedNew_D1_IK5(array) result(ArrayReversed)
240#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
241 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_IK5
242#endif
243 use pm_kind, only: IKG => IK5
244 integer(IKG) , intent(in) , contiguous :: array(:)
245 integer(IKG) :: ArrayReversed(size(array))
246 end function
247#endif
248
249#if IK4_ENABLED
250 PURE module function getReversedNew_D1_IK4(array) result(ArrayReversed)
251#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
252 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_IK4
253#endif
254 use pm_kind, only: IKG => IK4
255 integer(IKG) , intent(in) , contiguous :: array(:)
256 integer(IKG) :: ArrayReversed(size(array))
257 end function
258#endif
259
260#if IK3_ENABLED
261 PURE module function getReversedNew_D1_IK3(array) result(ArrayReversed)
262#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
263 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_IK3
264#endif
265 use pm_kind, only: IKG => IK3
266 integer(IKG) , intent(in) , contiguous :: array(:)
267 integer(IKG) :: ArrayReversed(size(array))
268 end function
269#endif
270
271#if IK2_ENABLED
272 PURE module function getReversedNew_D1_IK2(array) result(ArrayReversed)
273#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
274 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_IK2
275#endif
276 use pm_kind, only: IKG => IK2
277 integer(IKG) , intent(in) , contiguous :: array(:)
278 integer(IKG) :: ArrayReversed(size(array))
279 end function
280#endif
281
282#if IK1_ENABLED
283 PURE module function getReversedNew_D1_IK1(array) result(ArrayReversed)
284#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
285 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_IK1
286#endif
287 use pm_kind, only: IKG => IK1
288 integer(IKG) , intent(in) , contiguous :: array(:)
289 integer(IKG) :: ArrayReversed(size(array))
290 end function
291#endif
292
293 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
294
295#if LK5_ENABLED
296 PURE module function getReversedNew_D1_LK5(array) result(ArrayReversed)
297#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
298 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_LK5
299#endif
300 use pm_kind, only: LKG => LK5
301 logical(LKG) , intent(in) , contiguous :: array(:)
302 logical(LKG) :: ArrayReversed(size(array))
303 end function
304#endif
305
306#if LK4_ENABLED
307 PURE module function getReversedNew_D1_LK4(array) result(ArrayReversed)
308#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
309 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_LK4
310#endif
311 use pm_kind, only: LKG => LK4
312 logical(LKG) , intent(in) , contiguous :: array(:)
313 logical(LKG) :: ArrayReversed(size(array))
314 end function
315#endif
316
317#if LK3_ENABLED
318 PURE module function getReversedNew_D1_LK3(array) result(ArrayReversed)
319#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
320 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_LK3
321#endif
322 use pm_kind, only: LKG => LK3
323 logical(LKG) , intent(in) , contiguous :: array(:)
324 logical(LKG) :: ArrayReversed(size(array))
325 end function
326#endif
327
328#if LK2_ENABLED
329 PURE module function getReversedNew_D1_LK2(array) result(ArrayReversed)
330#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
331 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_LK2
332#endif
333 use pm_kind, only: LKG => LK2
334 logical(LKG) , intent(in) , contiguous :: array(:)
335 logical(LKG) :: ArrayReversed(size(array))
336 end function
337#endif
338
339#if LK1_ENABLED
340 PURE module function getReversedNew_D1_LK1(array) result(ArrayReversed)
341#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
342 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_LK1
343#endif
344 use pm_kind, only: LKG => LK1
345 logical(LKG) , intent(in) , contiguous :: array(:)
346 logical(LKG) :: ArrayReversed(size(array))
347 end function
348#endif
349
350 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
351
352#if CK5_ENABLED
353 PURE module function getReversedNew_D1_CK5(array) result(ArrayReversed)
354#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
355 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_CK5
356#endif
357 use pm_kind, only: CKG => CK5
358 complex(CKG) , intent(in) , contiguous :: array(:)
359 complex(CKG) :: ArrayReversed(size(array))
360 end function
361#endif
362
363#if CK4_ENABLED
364 PURE module function getReversedNew_D1_CK4(array) result(ArrayReversed)
365#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
366 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_CK4
367#endif
368 use pm_kind, only: CKG => CK4
369 complex(CKG) , intent(in) , contiguous :: array(:)
370 complex(CKG) :: ArrayReversed(size(array))
371 end function
372#endif
373
374#if CK3_ENABLED
375 PURE module function getReversedNew_D1_CK3(array) result(ArrayReversed)
376#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
377 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_CK3
378#endif
379 use pm_kind, only: CKG => CK3
380 complex(CKG) , intent(in) , contiguous :: array(:)
381 complex(CKG) :: ArrayReversed(size(array))
382 end function
383#endif
384
385#if CK2_ENABLED
386 PURE module function getReversedNew_D1_CK2(array) result(ArrayReversed)
387#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
388 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_CK2
389#endif
390 use pm_kind, only: CKG => CK2
391 complex(CKG) , intent(in) , contiguous :: array(:)
392 complex(CKG) :: ArrayReversed(size(array))
393 end function
394#endif
395
396#if CK1_ENABLED
397 PURE module function getReversedNew_D1_CK1(array) result(ArrayReversed)
398#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
399 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_CK1
400#endif
401 use pm_kind, only: CKG => CK1
402 complex(CKG) , intent(in) , contiguous :: array(:)
403 complex(CKG) :: ArrayReversed(size(array))
404 end function
405#endif
406
407 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
408
409#if RK5_ENABLED
410 PURE module function getReversedNew_D1_RK5(array) result(ArrayReversed)
411#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
412 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_RK5
413#endif
414 use pm_kind, only: RKG => RK5
415 real(RKG) , intent(in) , contiguous :: array(:)
416 real(RKG) :: ArrayReversed(size(array))
417 end function
418#endif
419
420#if RK4_ENABLED
421 PURE module function getReversedNew_D1_RK4(array) result(ArrayReversed)
422#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
423 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_RK4
424#endif
425 use pm_kind, only: RKG => RK4
426 real(RKG) , intent(in) , contiguous :: array(:)
427 real(RKG) :: ArrayReversed(size(array))
428 end function
429#endif
430
431#if RK3_ENABLED
432 PURE module function getReversedNew_D1_RK3(array) result(ArrayReversed)
433#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
434 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_RK3
435#endif
436 use pm_kind, only: RKG => RK3
437 real(RKG) , intent(in) , contiguous :: array(:)
438 real(RKG) :: ArrayReversed(size(array))
439 end function
440#endif
441
442#if RK2_ENABLED
443 PURE module function getReversedNew_D1_RK2(array) result(ArrayReversed)
444#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
445 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_RK2
446#endif
447 use pm_kind, only: RKG => RK2
448 real(RKG) , intent(in) , contiguous :: array(:)
449 real(RKG) :: ArrayReversed(size(array))
450 end function
451#endif
452
453#if RK1_ENABLED
454 PURE module function getReversedNew_D1_RK1(array) result(ArrayReversed)
455#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
456 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_RK1
457#endif
458 use pm_kind, only: RKG => RK1
459 real(RKG) , intent(in) , contiguous :: array(:)
460 real(RKG) :: ArrayReversed(size(array))
461 end function
462#endif
463
464 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
465
466#if PDT_ENABLED
467
468#if SK5_ENABLED
469 PURE module function getReversedNew_D1_PSSK5(array) result(ArrayReversed)
470#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
471 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_PSSK5
472#endif
473 use pm_kind, only: SKG => SK5
474 use pm_container, only: css_pdt
475 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
476 type(css_pdt(SKG)) :: ArrayReversed(size(array))
477 end function
478#endif
479
480#if SK4_ENABLED
481 PURE module function getReversedNew_D1_PSSK4(array) result(ArrayReversed)
482#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
483 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_PSSK4
484#endif
485 use pm_kind, only: SKG => SK4
486 use pm_container, only: css_pdt
487 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
488 type(css_pdt(SKG)) :: ArrayReversed(size(array))
489 end function
490#endif
491
492#if SK3_ENABLED
493 PURE module function getReversedNew_D1_PSSK3(array) result(ArrayReversed)
494#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
495 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_PSSK3
496#endif
497 use pm_kind, only: SKG => SK3
498 use pm_container, only: css_pdt
499 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
500 type(css_pdt(SKG)) :: ArrayReversed(size(array))
501 end function
502#endif
503
504#if SK2_ENABLED
505 PURE module function getReversedNew_D1_PSSK2(array) result(ArrayReversed)
506#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
507 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_PSSK2
508#endif
509 use pm_kind, only: SKG => SK2
510 use pm_container, only: css_pdt
511 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
512 type(css_pdt(SKG)) :: ArrayReversed(size(array))
513 end function
514#endif
515
516#if SK1_ENABLED
517 PURE module function getReversedNew_D1_PSSK1(array) result(ArrayReversed)
518#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
519 !DEC$ ATTRIBUTES DLLEXPORT :: getReversedNew_D1_PSSK1
520#endif
521 use pm_kind, only: SKG => SK1
522 use pm_container, only: css_pdt
523 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
524 type(css_pdt(SKG)) :: ArrayReversed(size(array))
525 end function
526#endif
527
528#endif
529!PDT_ENABLED
530
531 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
532
533 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
534 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
535 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
536
537 end interface
538
539!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
540
616 interface setReversed
617
618 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
619 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
620 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
621
622 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
623
624#if SK5_ENABLED
625 PURE module subroutine setReversedOld_D0_SK5(array)
626#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
627 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D0_SK5
628#endif
629 use pm_kind, only: SKG => SK5
630 character(*,SKG) , intent(inout) :: array
631 end subroutine
632#endif
633
634#if SK4_ENABLED
635 PURE module subroutine setReversedOld_D0_SK4(array)
636#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
637 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D0_SK4
638#endif
639 use pm_kind, only: SKG => SK4
640 character(*,SKG) , intent(inout) :: array
641 end subroutine
642#endif
643
644#if SK3_ENABLED
645 PURE module subroutine setReversedOld_D0_SK3(array)
646#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
647 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D0_SK3
648#endif
649 use pm_kind, only: SKG => SK3
650 character(*,SKG) , intent(inout) :: array
651 end subroutine
652#endif
653
654#if SK2_ENABLED
655 PURE module subroutine setReversedOld_D0_SK2(array)
656#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
657 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D0_SK2
658#endif
659 use pm_kind, only: SKG => SK2
660 character(*,SKG) , intent(inout) :: array
661 end subroutine
662#endif
663
664#if SK1_ENABLED
665 PURE module subroutine setReversedOld_D0_SK1(array)
666#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
667 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D0_SK1
668#endif
669 use pm_kind, only: SKG => SK1
670 character(*,SKG) , intent(inout) :: array
671 end subroutine
672#endif
673
674 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
675
676#if SK5_ENABLED
677 PURE module subroutine setReversedOld_D1_SK5(array)
678#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
679 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_SK5
680#endif
681 use pm_kind, only: SKG => SK5
682 character(*,SKG) , intent(inout) , contiguous :: array(:)
683 end subroutine
684#endif
685
686#if SK4_ENABLED
687 PURE module subroutine setReversedOld_D1_SK4(array)
688#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
689 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_SK4
690#endif
691 use pm_kind, only: SKG => SK4
692 character(*,SKG) , intent(inout) , contiguous :: array(:)
693 end subroutine
694#endif
695
696#if SK3_ENABLED
697 PURE module subroutine setReversedOld_D1_SK3(array)
698#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
699 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_SK3
700#endif
701 use pm_kind, only: SKG => SK3
702 character(*,SKG) , intent(inout) , contiguous :: array(:)
703 end subroutine
704#endif
705
706#if SK2_ENABLED
707 PURE module subroutine setReversedOld_D1_SK2(array)
708#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
709 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_SK2
710#endif
711 use pm_kind, only: SKG => SK2
712 character(*,SKG) , intent(inout) , contiguous :: array(:)
713 end subroutine
714#endif
715
716#if SK1_ENABLED
717 PURE module subroutine setReversedOld_D1_SK1(array)
718#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
719 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_SK1
720#endif
721 use pm_kind, only: SKG => SK1
722 character(*,SKG) , intent(inout) , contiguous :: array(:)
723 end subroutine
724#endif
725
726 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
727
728#if IK5_ENABLED
729 PURE module subroutine setReversedOld_D1_IK5(array)
730#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
731 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_IK5
732#endif
733 use pm_kind, only: IKG => IK5
734 integer(IKG) , intent(inout) , contiguous :: array(:)
735 end subroutine
736#endif
737
738#if IK4_ENABLED
739 PURE module subroutine setReversedOld_D1_IK4(array)
740#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
741 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_IK4
742#endif
743 use pm_kind, only: IKG => IK4
744 integer(IKG) , intent(inout) , contiguous :: array(:)
745 end subroutine
746#endif
747
748#if IK3_ENABLED
749 PURE module subroutine setReversedOld_D1_IK3(array)
750#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
751 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_IK3
752#endif
753 use pm_kind, only: IKG => IK3
754 integer(IKG) , intent(inout) , contiguous :: array(:)
755 end subroutine
756#endif
757
758#if IK2_ENABLED
759 PURE module subroutine setReversedOld_D1_IK2(array)
760#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
761 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_IK2
762#endif
763 use pm_kind, only: IKG => IK2
764 integer(IKG) , intent(inout) , contiguous :: array(:)
765 end subroutine
766#endif
767
768#if IK1_ENABLED
769 PURE module subroutine setReversedOld_D1_IK1(array)
770#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
771 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_IK1
772#endif
773 use pm_kind, only: IKG => IK1
774 integer(IKG) , intent(inout) , contiguous :: array(:)
775 end subroutine
776#endif
777
778 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
779
780#if LK5_ENABLED
781 PURE module subroutine setReversedOld_D1_LK5(array)
782#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
783 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_LK5
784#endif
785 use pm_kind, only: LKG => LK5
786 logical(LKG) , intent(inout) , contiguous :: array(:)
787 end subroutine
788#endif
789
790#if LK4_ENABLED
791 PURE module subroutine setReversedOld_D1_LK4(array)
792#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
793 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_LK4
794#endif
795 use pm_kind, only: LKG => LK4
796 logical(LKG) , intent(inout) , contiguous :: array(:)
797 end subroutine
798#endif
799
800#if LK3_ENABLED
801 PURE module subroutine setReversedOld_D1_LK3(array)
802#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
803 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_LK3
804#endif
805 use pm_kind, only: LKG => LK3
806 logical(LKG) , intent(inout) , contiguous :: array(:)
807 end subroutine
808#endif
809
810#if LK2_ENABLED
811 PURE module subroutine setReversedOld_D1_LK2(array)
812#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
813 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_LK2
814#endif
815 use pm_kind, only: LKG => LK2
816 logical(LKG) , intent(inout) , contiguous :: array(:)
817 end subroutine
818#endif
819
820#if LK1_ENABLED
821 PURE module subroutine setReversedOld_D1_LK1(array)
822#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
823 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_LK1
824#endif
825 use pm_kind, only: LKG => LK1
826 logical(LKG) , intent(inout) , contiguous :: array(:)
827 end subroutine
828#endif
829
830 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
831
832#if CK5_ENABLED
833 PURE module subroutine setReversedOld_D1_CK5(array)
834#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
835 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_CK5
836#endif
837 use pm_kind, only: CKG => CK5
838 complex(CKG) , intent(inout) , contiguous :: array(:)
839 end subroutine
840#endif
841
842#if CK4_ENABLED
843 PURE module subroutine setReversedOld_D1_CK4(array)
844#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
845 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_CK4
846#endif
847 use pm_kind, only: CKG => CK4
848 complex(CKG) , intent(inout) , contiguous :: array(:)
849 end subroutine
850#endif
851
852#if CK3_ENABLED
853 PURE module subroutine setReversedOld_D1_CK3(array)
854#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
855 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_CK3
856#endif
857 use pm_kind, only: CKG => CK3
858 complex(CKG) , intent(inout) , contiguous :: array(:)
859 end subroutine
860#endif
861
862#if CK2_ENABLED
863 PURE module subroutine setReversedOld_D1_CK2(array)
864#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
865 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_CK2
866#endif
867 use pm_kind, only: CKG => CK2
868 complex(CKG) , intent(inout) , contiguous :: array(:)
869 end subroutine
870#endif
871
872#if CK1_ENABLED
873 PURE module subroutine setReversedOld_D1_CK1(array)
874#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
875 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_CK1
876#endif
877 use pm_kind, only: CKG => CK1
878 complex(CKG) , intent(inout) , contiguous :: array(:)
879 end subroutine
880#endif
881
882 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
883
884#if RK5_ENABLED
885 PURE module subroutine setReversedOld_D1_RK5(array)
886#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
887 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_RK5
888#endif
889 use pm_kind, only: RKG => RK5
890 real(RKG) , intent(inout) , contiguous :: array(:)
891 end subroutine
892#endif
893
894#if RK4_ENABLED
895 PURE module subroutine setReversedOld_D1_RK4(array)
896#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
897 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_RK4
898#endif
899 use pm_kind, only: RKG => RK4
900 real(RKG) , intent(inout) , contiguous :: array(:)
901 end subroutine
902#endif
903
904#if RK3_ENABLED
905 PURE module subroutine setReversedOld_D1_RK3(array)
906#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
907 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_RK3
908#endif
909 use pm_kind, only: RKG => RK3
910 real(RKG) , intent(inout) , contiguous :: array(:)
911 end subroutine
912#endif
913
914#if RK2_ENABLED
915 PURE module subroutine setReversedOld_D1_RK2(array)
916#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
917 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_RK2
918#endif
919 use pm_kind, only: RKG => RK2
920 real(RKG) , intent(inout) , contiguous :: array(:)
921 end subroutine
922#endif
923
924#if RK1_ENABLED
925 PURE module subroutine setReversedOld_D1_RK1(array)
926#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
927 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_RK1
928#endif
929 use pm_kind, only: RKG => RK1
930 real(RKG) , intent(inout) , contiguous :: array(:)
931 end subroutine
932#endif
933
934 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
935
936#if PDT_ENABLED
937
938#if SK5_ENABLED
939 PURE module subroutine setReversedOld_D1_PSSK5(array)
940#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
941 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_PSSK5
942#endif
943 use pm_kind, only: SKG => SK5
944 use pm_container, only: css_pdt
945 type(css_pdt(SKG)) , intent(inout) , contiguous :: array(:)
946 end subroutine
947#endif
948
949#if SK4_ENABLED
950 PURE module subroutine setReversedOld_D1_PSSK4(array)
951#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
952 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_PSSK4
953#endif
954 use pm_kind, only: SKG => SK4
955 use pm_container, only: css_pdt
956 type(css_pdt(SKG)) , intent(inout) , contiguous :: array(:)
957 end subroutine
958#endif
959
960#if SK3_ENABLED
961 PURE module subroutine setReversedOld_D1_PSSK3(array)
962#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
963 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_PSSK3
964#endif
965 use pm_kind, only: SKG => SK3
966 use pm_container, only: css_pdt
967 type(css_pdt(SKG)) , intent(inout) , contiguous :: array(:)
968 end subroutine
969#endif
970
971#if SK2_ENABLED
972 PURE module subroutine setReversedOld_D1_PSSK2(array)
973#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
974 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_PSSK2
975#endif
976 use pm_kind, only: SKG => SK2
977 use pm_container, only: css_pdt
978 type(css_pdt(SKG)) , intent(inout) , contiguous :: array(:)
979 end subroutine
980#endif
981
982#if SK1_ENABLED
983 PURE module subroutine setReversedOld_D1_PSSK1(array)
984#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
985 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedOld_D1_PSSK1
986#endif
987 use pm_kind, only: SKG => SK1
988 use pm_container, only: css_pdt
989 type(css_pdt(SKG)) , intent(inout) , contiguous :: array(:)
990 end subroutine
991#endif
992
993#endif
994!PDT_ENABLED
995
996 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
997
998 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
999 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1000 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1001
1002 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1003
1004#if SK5_ENABLED
1005 PURE module subroutine setReversedNew_D0_SK5(array, ArrayReversed)
1006#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1007 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D0_SK5
1008#endif
1009 use pm_kind, only: SKG => SK5
1010 character(*,SKG) , intent(in) :: array
1011 character(*,SKG) , intent(out) :: ArrayReversed
1012 end subroutine
1013#endif
1014
1015#if SK4_ENABLED
1016 PURE module subroutine setReversedNew_D0_SK4(array, ArrayReversed)
1017#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1018 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D0_SK4
1019#endif
1020 use pm_kind, only: SKG => SK4
1021 character(*,SKG) , intent(in) :: array
1022 character(*,SKG) , intent(out) :: ArrayReversed
1023 end subroutine
1024#endif
1025
1026#if SK3_ENABLED
1027 PURE module subroutine setReversedNew_D0_SK3(array, ArrayReversed)
1028#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1029 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D0_SK3
1030#endif
1031 use pm_kind, only: SKG => SK3
1032 character(*,SKG) , intent(in) :: array
1033 character(*,SKG) , intent(out) :: ArrayReversed
1034 end subroutine
1035#endif
1036
1037#if SK2_ENABLED
1038 PURE module subroutine setReversedNew_D0_SK2(array, ArrayReversed)
1039#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1040 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D0_SK2
1041#endif
1042 use pm_kind, only: SKG => SK2
1043 character(*,SKG) , intent(in) :: array
1044 character(*,SKG) , intent(out) :: ArrayReversed
1045 end subroutine
1046#endif
1047
1048#if SK1_ENABLED
1049 PURE module subroutine setReversedNew_D0_SK1(array, ArrayReversed)
1050#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1051 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D0_SK1
1052#endif
1053 use pm_kind, only: SKG => SK1
1054 character(*,SKG) , intent(in) :: array
1055 character(*,SKG) , intent(out) :: ArrayReversed
1056 end subroutine
1057#endif
1058
1059 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1060
1061#if SK5_ENABLED
1062 PURE module subroutine setReversedNew_D1_SK5(array, ArrayReversed)
1063#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1064 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_SK5
1065#endif
1066 use pm_kind, only: SKG => SK5
1067 character(*,SKG) , intent(in) , contiguous :: array(:)
1068 character(*,SKG) , intent(out) , contiguous :: ArrayReversed(:)
1069 end subroutine
1070#endif
1071
1072#if SK4_ENABLED
1073 PURE module subroutine setReversedNew_D1_SK4(array, ArrayReversed)
1074#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1075 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_SK4
1076#endif
1077 use pm_kind, only: SKG => SK4
1078 character(*,SKG) , intent(in) , contiguous :: array(:)
1079 character(*,SKG) , intent(out) , contiguous :: ArrayReversed(:)
1080 end subroutine
1081#endif
1082
1083#if SK3_ENABLED
1084 PURE module subroutine setReversedNew_D1_SK3(array, ArrayReversed)
1085#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1086 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_SK3
1087#endif
1088 use pm_kind, only: SKG => SK3
1089 character(*,SKG) , intent(in) , contiguous :: array(:)
1090 character(*,SKG) , intent(out) , contiguous :: ArrayReversed(:)
1091 end subroutine
1092#endif
1093
1094#if SK2_ENABLED
1095 PURE module subroutine setReversedNew_D1_SK2(array, ArrayReversed)
1096#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1097 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_SK2
1098#endif
1099 use pm_kind, only: SKG => SK2
1100 character(*,SKG) , intent(in) , contiguous :: array(:)
1101 character(*,SKG) , intent(out) , contiguous :: ArrayReversed(:)
1102 end subroutine
1103#endif
1104
1105#if SK1_ENABLED
1106 PURE module subroutine setReversedNew_D1_SK1(array, ArrayReversed)
1107#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1108 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_SK1
1109#endif
1110 use pm_kind, only: SKG => SK1
1111 character(*,SKG) , intent(in) , contiguous :: array(:)
1112 character(*,SKG) , intent(out) , contiguous :: ArrayReversed(:)
1113 end subroutine
1114#endif
1115
1116 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1117
1118#if IK5_ENABLED
1119 PURE module subroutine setReversedNew_D1_IK5(array, ArrayReversed)
1120#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1121 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_IK5
1122#endif
1123 use pm_kind, only: IKG => IK5
1124 integer(IKG) , intent(in) , contiguous :: array(:)
1125 integer(IKG) , intent(out) , contiguous :: ArrayReversed(:)
1126 end subroutine
1127#endif
1128
1129#if IK4_ENABLED
1130 PURE module subroutine setReversedNew_D1_IK4(array, ArrayReversed)
1131#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1132 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_IK4
1133#endif
1134 use pm_kind, only: IKG => IK4
1135 integer(IKG) , intent(in) , contiguous :: array(:)
1136 integer(IKG) , intent(out) , contiguous :: ArrayReversed(:)
1137 end subroutine
1138#endif
1139
1140#if IK3_ENABLED
1141 PURE module subroutine setReversedNew_D1_IK3(array, ArrayReversed)
1142#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1143 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_IK3
1144#endif
1145 use pm_kind, only: IKG => IK3
1146 integer(IKG) , intent(in) , contiguous :: array(:)
1147 integer(IKG) , intent(out) , contiguous :: ArrayReversed(:)
1148 end subroutine
1149#endif
1150
1151#if IK2_ENABLED
1152 PURE module subroutine setReversedNew_D1_IK2(array, ArrayReversed)
1153#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1154 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_IK2
1155#endif
1156 use pm_kind, only: IKG => IK2
1157 integer(IKG) , intent(in) , contiguous :: array(:)
1158 integer(IKG) , intent(out) , contiguous :: ArrayReversed(:)
1159 end subroutine
1160#endif
1161
1162#if IK1_ENABLED
1163 PURE module subroutine setReversedNew_D1_IK1(array, ArrayReversed)
1164#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1165 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_IK1
1166#endif
1167 use pm_kind, only: IKG => IK1
1168 integer(IKG) , intent(in) , contiguous :: array(:)
1169 integer(IKG) , intent(out) , contiguous :: ArrayReversed(:)
1170 end subroutine
1171#endif
1172
1173 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1174
1175#if LK5_ENABLED
1176 PURE module subroutine setReversedNew_D1_LK5(array, ArrayReversed)
1177#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1178 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_LK5
1179#endif
1180 use pm_kind, only: LKG => LK5
1181 logical(LKG) , intent(in) , contiguous :: array(:)
1182 logical(LKG) , intent(out) , contiguous :: ArrayReversed(:)
1183 end subroutine
1184#endif
1185
1186#if LK4_ENABLED
1187 PURE module subroutine setReversedNew_D1_LK4(array, ArrayReversed)
1188#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1189 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_LK4
1190#endif
1191 use pm_kind, only: LKG => LK4
1192 logical(LKG) , intent(in) , contiguous :: array(:)
1193 logical(LKG) , intent(out) , contiguous :: ArrayReversed(:)
1194 end subroutine
1195#endif
1196
1197#if LK3_ENABLED
1198 PURE module subroutine setReversedNew_D1_LK3(array, ArrayReversed)
1199#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1200 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_LK3
1201#endif
1202 use pm_kind, only: LKG => LK3
1203 logical(LKG) , intent(in) , contiguous :: array(:)
1204 logical(LKG) , intent(out) , contiguous :: ArrayReversed(:)
1205 end subroutine
1206#endif
1207
1208#if LK2_ENABLED
1209 PURE module subroutine setReversedNew_D1_LK2(array, ArrayReversed)
1210#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1211 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_LK2
1212#endif
1213 use pm_kind, only: LKG => LK2
1214 logical(LKG) , intent(in) , contiguous :: array(:)
1215 logical(LKG) , intent(out) , contiguous :: ArrayReversed(:)
1216 end subroutine
1217#endif
1218
1219#if LK1_ENABLED
1220 PURE module subroutine setReversedNew_D1_LK1(array, ArrayReversed)
1221#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1222 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_LK1
1223#endif
1224 use pm_kind, only: LKG => LK1
1225 logical(LKG) , intent(in) , contiguous :: array(:)
1226 logical(LKG) , intent(out) , contiguous :: ArrayReversed(:)
1227 end subroutine
1228#endif
1229
1230 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1231
1232#if CK5_ENABLED
1233 PURE module subroutine setReversedNew_D1_CK5(array, ArrayReversed)
1234#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1235 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_CK5
1236#endif
1237 use pm_kind, only: CKG => CK5
1238 complex(CKG) , intent(in) , contiguous :: array(:)
1239 complex(CKG) , intent(out) , contiguous :: ArrayReversed(:)
1240 end subroutine
1241#endif
1242
1243#if CK4_ENABLED
1244 PURE module subroutine setReversedNew_D1_CK4(array, ArrayReversed)
1245#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1246 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_CK4
1247#endif
1248 use pm_kind, only: CKG => CK4
1249 complex(CKG) , intent(in) , contiguous :: array(:)
1250 complex(CKG) , intent(out) , contiguous :: ArrayReversed(:)
1251 end subroutine
1252#endif
1253
1254#if CK3_ENABLED
1255 PURE module subroutine setReversedNew_D1_CK3(array, ArrayReversed)
1256#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1257 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_CK3
1258#endif
1259 use pm_kind, only: CKG => CK3
1260 complex(CKG) , intent(in) , contiguous :: array(:)
1261 complex(CKG) , intent(out) , contiguous :: ArrayReversed(:)
1262 end subroutine
1263#endif
1264
1265#if CK2_ENABLED
1266 PURE module subroutine setReversedNew_D1_CK2(array, ArrayReversed)
1267#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1268 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_CK2
1269#endif
1270 use pm_kind, only: CKG => CK2
1271 complex(CKG) , intent(in) , contiguous :: array(:)
1272 complex(CKG) , intent(out) , contiguous :: ArrayReversed(:)
1273 end subroutine
1274#endif
1275
1276#if CK1_ENABLED
1277 PURE module subroutine setReversedNew_D1_CK1(array, ArrayReversed)
1278#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1279 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_CK1
1280#endif
1281 use pm_kind, only: CKG => CK1
1282 complex(CKG) , intent(in) , contiguous :: array(:)
1283 complex(CKG) , intent(out) , contiguous :: ArrayReversed(:)
1284 end subroutine
1285#endif
1286
1287 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1288
1289#if RK5_ENABLED
1290 PURE module subroutine setReversedNew_D1_RK5(array, ArrayReversed)
1291#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1292 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_RK5
1293#endif
1294 use pm_kind, only: RKG => RK5
1295 real(RKG) , intent(in) , contiguous :: array(:)
1296 real(RKG) , intent(out) , contiguous :: ArrayReversed(:)
1297 end subroutine
1298#endif
1299
1300#if RK4_ENABLED
1301 PURE module subroutine setReversedNew_D1_RK4(array, ArrayReversed)
1302#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1303 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_RK4
1304#endif
1305 use pm_kind, only: RKG => RK4
1306 real(RKG) , intent(in) , contiguous :: array(:)
1307 real(RKG) , intent(out) , contiguous :: ArrayReversed(:)
1308 end subroutine
1309#endif
1310
1311#if RK3_ENABLED
1312 PURE module subroutine setReversedNew_D1_RK3(array, ArrayReversed)
1313#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1314 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_RK3
1315#endif
1316 use pm_kind, only: RKG => RK3
1317 real(RKG) , intent(in) , contiguous :: array(:)
1318 real(RKG) , intent(out) , contiguous :: ArrayReversed(:)
1319 end subroutine
1320#endif
1321
1322#if RK2_ENABLED
1323 PURE module subroutine setReversedNew_D1_RK2(array, ArrayReversed)
1324#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1325 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_RK2
1326#endif
1327 use pm_kind, only: RKG => RK2
1328 real(RKG) , intent(in) , contiguous :: array(:)
1329 real(RKG) , intent(out) , contiguous :: ArrayReversed(:)
1330 end subroutine
1331#endif
1332
1333#if RK1_ENABLED
1334 PURE module subroutine setReversedNew_D1_RK1(array, ArrayReversed)
1335#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1336 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_RK1
1337#endif
1338 use pm_kind, only: RKG => RK1
1339 real(RKG) , intent(in) , contiguous :: array(:)
1340 real(RKG) , intent(out) , contiguous :: ArrayReversed(:)
1341 end subroutine
1342#endif
1343
1344 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1345
1346#if PDT_ENABLED
1347
1348#if SK5_ENABLED
1349 PURE module subroutine setReversedNew_D1_PSSK5(array, ArrayReversed)
1350#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1351 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_PSSK5
1352#endif
1353 use pm_kind, only: SKG => SK5
1354 use pm_container, only: css_pdt
1355 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
1356 type(css_pdt(SKG)) , intent(out) , contiguous :: ArrayReversed(:)
1357 end subroutine
1358#endif
1359
1360#if SK4_ENABLED
1361 PURE module subroutine setReversedNew_D1_PSSK4(array, ArrayReversed)
1362#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1363 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_PSSK4
1364#endif
1365 use pm_kind, only: SKG => SK4
1366 use pm_container, only: css_pdt
1367 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
1368 type(css_pdt(SKG)) , intent(out) , contiguous :: ArrayReversed(:)
1369 end subroutine
1370#endif
1371
1372#if SK3_ENABLED
1373 PURE module subroutine setReversedNew_D1_PSSK3(array, ArrayReversed)
1374#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1375 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_PSSK3
1376#endif
1377 use pm_kind, only: SKG => SK3
1378 use pm_container, only: css_pdt
1379 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
1380 type(css_pdt(SKG)) , intent(out) , contiguous :: ArrayReversed(:)
1381 end subroutine
1382#endif
1383
1384#if SK2_ENABLED
1385 PURE module subroutine setReversedNew_D1_PSSK2(array, ArrayReversed)
1386#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1387 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_PSSK2
1388#endif
1389 use pm_kind, only: SKG => SK2
1390 use pm_container, only: css_pdt
1391 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
1392 type(css_pdt(SKG)) , intent(out) , contiguous :: ArrayReversed(:)
1393 end subroutine
1394#endif
1395
1396#if SK1_ENABLED
1397 PURE module subroutine setReversedNew_D1_PSSK1(array, ArrayReversed)
1398#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1399 !DEC$ ATTRIBUTES DLLEXPORT :: setReversedNew_D1_PSSK1
1400#endif
1401 use pm_kind, only: SKG => SK1
1402 use pm_container, only: css_pdt
1403 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
1404 type(css_pdt(SKG)) , intent(out) , contiguous :: ArrayReversed(:)
1405 end subroutine
1406#endif
1407
1408#endif
1409!PDT_ENABLED
1410
1411 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1412
1413 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1414 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1415 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1416
1417 end interface
1418
1419!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1420
1421end module pm_arrayReverse ! LCOV_EXCL_LINE
Generate and return an output array whose elements are the reversed-order elements of the input array...
Reverse the order of the elements of the input array, such that   array = array(lenArray:1:-1),...
This module contains procedures and generic interfaces for reversing the order of elements in arrays ...
character(*, SK), parameter MODULE_NAME
This module contains the derived types for generating allocatable containers of scalar,...
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter SK5
Definition: pm_kind.F90:326
integer, parameter LK1
Definition: pm_kind.F90:412
integer, parameter IK3
Definition: pm_kind.F90:368
integer, parameter RK5
Definition: pm_kind.F90:478
integer, parameter RK4
Definition: pm_kind.F90:489
integer, parameter SK1
Definition: pm_kind.F90:346
integer, parameter IK1
Definition: pm_kind.F90:382
integer, parameter LK5
Definition: pm_kind.F90:392
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 LK2
Definition: pm_kind.F90:407
integer, parameter LK4
Definition: pm_kind.F90:397
integer, parameter CK5
Definition: pm_kind.F90:420
integer, parameter CK4
Definition: pm_kind.F90:431
integer, parameter SK4
Definition: pm_kind.F90:331
integer, parameter LK3
Definition: pm_kind.F90:402
integer, parameter IK2
Definition: pm_kind.F90:375
integer, parameter CK2
Definition: pm_kind.F90:453
integer, parameter SK2
Definition: pm_kind.F90:341
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 IK4
Definition: pm_kind.F90:361
integer, parameter IK5
Definition: pm_kind.F90:354
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
integer, parameter SK3
Definition: pm_kind.F90:336
This is the css_pdt parameterized type for generating instances of container of scalar of string obje...