ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_arrayShuffle.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
53
54!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
55
57
58 use pm_kind, only: SK, IK
59#if PDT_ENABLED
60 use pm_container, only: css_pdt
61#endif
62 use pm_container, only: css_type
64
65 implicit none
66
67 character(*,SK), parameter :: MODULE_NAME = "@pm_arrayShuffle"
68
69!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
70
145 interface getShuffled
146
147 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
148
149#if SK5_ENABLED
150 module function getShuffledRNGD_D0_SK5(array, count) result(arrayShuffled)
151#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
152 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D0_SK5
153#endif
154 use pm_kind, only: SKG => SK5
155 character(*,SKG) , intent(in) :: array
156 character(:,SKG) , allocatable :: arrayShuffled
157 integer(IK) , intent(in) , optional :: count
158 end function
159#endif
160
161#if SK4_ENABLED
162 module function getShuffledRNGD_D0_SK4(array, count) result(arrayShuffled)
163#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
164 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D0_SK4
165#endif
166 use pm_kind, only: SKG => SK4
167 character(*,SKG) , intent(in) :: array
168 character(:,SKG) , allocatable :: arrayShuffled
169 integer(IK) , intent(in) , optional :: count
170 end function
171#endif
172
173#if SK3_ENABLED
174 module function getShuffledRNGD_D0_SK3(array, count) result(arrayShuffled)
175#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
176 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D0_SK3
177#endif
178 use pm_kind, only: SKG => SK3
179 character(*,SKG) , intent(in) :: array
180 character(:,SKG) , allocatable :: arrayShuffled
181 integer(IK) , intent(in) , optional :: count
182 end function
183#endif
184
185#if SK2_ENABLED
186 module function getShuffledRNGD_D0_SK2(array, count) result(arrayShuffled)
187#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
188 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D0_SK2
189#endif
190 use pm_kind, only: SKG => SK2
191 character(*,SKG) , intent(in) :: array
192 character(:,SKG) , allocatable :: arrayShuffled
193 integer(IK) , intent(in) , optional :: count
194 end function
195#endif
196
197#if SK1_ENABLED
198 module function getShuffledRNGD_D0_SK1(array, count) result(arrayShuffled)
199#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
200 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D0_SK1
201#endif
202 use pm_kind, only: SKG => SK1
203 character(*,SKG) , intent(in) :: array
204 character(:,SKG) , allocatable :: arrayShuffled
205 integer(IK) , intent(in) , optional :: count
206 end function
207#endif
208
209 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
210
211#if SK5_ENABLED
212 module function getShuffledRNGD_D1_SK5(array, count) result(arrayShuffled)
213#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
214 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_SK5
215#endif
216 use pm_kind, only: SKG => SK5
217 character(*,SKG) , intent(in) , contiguous :: array(:)
218 integer(IK) , intent(in) , optional :: count
219 character(len(array,IK),SKG), allocatable :: arrayShuffled(:)
220 end function
221#endif
222
223#if SK4_ENABLED
224 module function getShuffledRNGD_D1_SK4(array, count) result(arrayShuffled)
225#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
226 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_SK4
227#endif
228 use pm_kind, only: SKG => SK4
229 character(*,SKG) , intent(in) , contiguous :: array(:)
230 integer(IK) , intent(in) , optional :: count
231 character(len(array,IK),SKG), allocatable :: arrayShuffled(:)
232 end function
233#endif
234
235#if SK3_ENABLED
236 module function getShuffledRNGD_D1_SK3(array, count) result(arrayShuffled)
237#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
238 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_SK3
239#endif
240 use pm_kind, only: SKG => SK3
241 character(*,SKG) , intent(in) , contiguous :: array(:)
242 integer(IK) , intent(in) , optional :: count
243 character(len(array,IK),SKG), allocatable :: arrayShuffled(:)
244 end function
245#endif
246
247#if SK2_ENABLED
248 module function getShuffledRNGD_D1_SK2(array, count) result(arrayShuffled)
249#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
250 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_SK2
251#endif
252 use pm_kind, only: SKG => SK2
253 character(*,SKG) , intent(in) , contiguous :: array(:)
254 integer(IK) , intent(in) , optional :: count
255 character(len(array,IK),SKG), allocatable :: arrayShuffled(:)
256 end function
257#endif
258
259#if SK1_ENABLED
260 module function getShuffledRNGD_D1_SK1(array, count) result(arrayShuffled)
261#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
262 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_SK1
263#endif
264 use pm_kind, only: SKG => SK1
265 character(*,SKG) , intent(in) , contiguous :: array(:)
266 integer(IK) , intent(in) , optional :: count
267 character(len(array,IK),SKG), allocatable :: arrayShuffled(:)
268 end function
269#endif
270
271 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
272
273#if IK5_ENABLED
274 module function getShuffledRNGD_D1_IK5(array, count) result(arrayShuffled)
275#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
276 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_IK5
277#endif
278 use pm_kind, only: IKG => IK5
279 integer(IKG) , intent(in) , contiguous :: array(:)
280 integer(IK) , intent(in) , optional :: count
281 integer(IKG) , allocatable :: arrayShuffled(:)
282 end function
283#endif
284
285#if IK4_ENABLED
286 module function getShuffledRNGD_D1_IK4(array, count) result(arrayShuffled)
287#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
288 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_IK4
289#endif
290 use pm_kind, only: IKG => IK4
291 integer(IKG) , intent(in) , contiguous :: array(:)
292 integer(IK) , intent(in) , optional :: count
293 integer(IKG) , allocatable :: arrayShuffled(:)
294 end function
295#endif
296
297#if IK3_ENABLED
298 module function getShuffledRNGD_D1_IK3(array, count) result(arrayShuffled)
299#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
300 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_IK3
301#endif
302 use pm_kind, only: IKG => IK3
303 integer(IKG) , intent(in) , contiguous :: array(:)
304 integer(IK) , intent(in) , optional :: count
305 integer(IKG) , allocatable :: arrayShuffled(:)
306 end function
307#endif
308
309#if IK2_ENABLED
310 module function getShuffledRNGD_D1_IK2(array, count) result(arrayShuffled)
311#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
312 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_IK2
313#endif
314 use pm_kind, only: IKG => IK2
315 integer(IKG) , intent(in) , contiguous :: array(:)
316 integer(IK) , intent(in) , optional :: count
317 integer(IKG) , allocatable :: arrayShuffled(:)
318 end function
319#endif
320
321#if IK1_ENABLED
322 module function getShuffledRNGD_D1_IK1(array, count) result(arrayShuffled)
323#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
324 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_IK1
325#endif
326 use pm_kind, only: IKG => IK1
327 integer(IKG) , intent(in) , contiguous :: array(:)
328 integer(IK) , intent(in) , optional :: count
329 integer(IKG) , allocatable :: arrayShuffled(:)
330 end function
331#endif
332
333 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
334
335#if LK5_ENABLED
336 module function getShuffledRNGD_D1_LK5(array, count) result(arrayShuffled)
337#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
338 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_LK5
339#endif
340 use pm_kind, only: LKG => LK5
341 logical(LKG) , intent(in) , contiguous :: array(:)
342 integer(IK) , intent(in) , optional :: count
343 logical(LKG) , allocatable :: arrayShuffled(:)
344 end function
345#endif
346
347#if LK4_ENABLED
348 module function getShuffledRNGD_D1_LK4(array, count) result(arrayShuffled)
349#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
350 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_LK4
351#endif
352 use pm_kind, only: LKG => LK4
353 logical(LKG) , intent(in) , contiguous :: array(:)
354 integer(IK) , intent(in) , optional :: count
355 logical(LKG) , allocatable :: arrayShuffled(:)
356 end function
357#endif
358
359#if LK3_ENABLED
360 module function getShuffledRNGD_D1_LK3(array, count) result(arrayShuffled)
361#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
362 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_LK3
363#endif
364 use pm_kind, only: LKG => LK3
365 logical(LKG) , intent(in) , contiguous :: array(:)
366 integer(IK) , intent(in) , optional :: count
367 logical(LKG) , allocatable :: arrayShuffled(:)
368 end function
369#endif
370
371#if LK2_ENABLED
372 module function getShuffledRNGD_D1_LK2(array, count) result(arrayShuffled)
373#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
374 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_LK2
375#endif
376 use pm_kind, only: LKG => LK2
377 logical(LKG) , intent(in) , contiguous :: array(:)
378 integer(IK) , intent(in) , optional :: count
379 logical(LKG) , allocatable :: arrayShuffled(:)
380 end function
381#endif
382
383#if LK1_ENABLED
384 module function getShuffledRNGD_D1_LK1(array, count) result(arrayShuffled)
385#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
386 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_LK1
387#endif
388 use pm_kind, only: LKG => LK1
389 logical(LKG) , intent(in) , contiguous :: array(:)
390 integer(IK) , intent(in) , optional :: count
391 logical(LKG) , allocatable :: arrayShuffled(:)
392 end function
393#endif
394
395 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
396
397#if CK5_ENABLED
398 module function getShuffledRNGD_D1_CK5(array, count) result(arrayShuffled)
399#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
400 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_CK5
401#endif
402 use pm_kind, only: CKG => CK5
403 complex(CKG) , intent(in) , contiguous :: array(:)
404 integer(IK) , intent(in) , optional :: count
405 complex(CKG) , allocatable :: arrayShuffled(:)
406 end function
407#endif
408
409#if CK4_ENABLED
410 module function getShuffledRNGD_D1_CK4(array, count) result(arrayShuffled)
411#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
412 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_CK4
413#endif
414 use pm_kind, only: CKG => CK4
415 complex(CKG) , intent(in) , contiguous :: array(:)
416 integer(IK) , intent(in) , optional :: count
417 complex(CKG) , allocatable :: arrayShuffled(:)
418 end function
419#endif
420
421#if CK3_ENABLED
422 module function getShuffledRNGD_D1_CK3(array, count) result(arrayShuffled)
423#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
424 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_CK3
425#endif
426 use pm_kind, only: CKG => CK3
427 complex(CKG) , intent(in) , contiguous :: array(:)
428 integer(IK) , intent(in) , optional :: count
429 complex(CKG) , allocatable :: arrayShuffled(:)
430 end function
431#endif
432
433#if CK2_ENABLED
434 module function getShuffledRNGD_D1_CK2(array, count) result(arrayShuffled)
435#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
436 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_CK2
437#endif
438 use pm_kind, only: CKG => CK2
439 complex(CKG) , intent(in) , contiguous :: array(:)
440 integer(IK) , intent(in) , optional :: count
441 complex(CKG) , allocatable :: arrayShuffled(:)
442 end function
443#endif
444
445#if CK1_ENABLED
446 module function getShuffledRNGD_D1_CK1(array, count) result(arrayShuffled)
447#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
448 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_CK1
449#endif
450 use pm_kind, only: CKG => CK1
451 complex(CKG) , intent(in) , contiguous :: array(:)
452 integer(IK) , intent(in) , optional :: count
453 complex(CKG) , allocatable :: arrayShuffled(:)
454 end function
455#endif
456
457 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
458
459#if RK5_ENABLED
460 module function getShuffledRNGD_D1_RK5(array, count) result(arrayShuffled)
461#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
462 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_RK5
463#endif
464 use pm_kind, only: RKG => RK5
465 real(RKG) , intent(in) , contiguous :: array(:)
466 integer(IK) , intent(in) , optional :: count
467 real(RKG) , allocatable :: arrayShuffled(:)
468 end function
469#endif
470
471#if RK4_ENABLED
472 module function getShuffledRNGD_D1_RK4(array, count) result(arrayShuffled)
473#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
474 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_RK4
475#endif
476 use pm_kind, only: RKG => RK4
477 real(RKG) , intent(in) , contiguous :: array(:)
478 integer(IK) , intent(in) , optional :: count
479 real(RKG) , allocatable :: arrayShuffled(:)
480 end function
481#endif
482
483#if RK3_ENABLED
484 module function getShuffledRNGD_D1_RK3(array, count) result(arrayShuffled)
485#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
486 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_RK3
487#endif
488 use pm_kind, only: RKG => RK3
489 real(RKG) , intent(in) , contiguous :: array(:)
490 integer(IK) , intent(in) , optional :: count
491 real(RKG) , allocatable :: arrayShuffled(:)
492 end function
493#endif
494
495#if RK2_ENABLED
496 module function getShuffledRNGD_D1_RK2(array, count) result(arrayShuffled)
497#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
498 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_RK2
499#endif
500 use pm_kind, only: RKG => RK2
501 real(RKG) , intent(in) , contiguous :: array(:)
502 integer(IK) , intent(in) , optional :: count
503 real(RKG) , allocatable :: arrayShuffled(:)
504 end function
505#endif
506
507#if RK1_ENABLED
508 module function getShuffledRNGD_D1_RK1(array, count) result(arrayShuffled)
509#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
510 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_RK1
511#endif
512 use pm_kind, only: RKG => RK1
513 real(RKG) , intent(in) , contiguous :: array(:)
514 integer(IK) , intent(in) , optional :: count
515 real(RKG) , allocatable :: arrayShuffled(:)
516 end function
517#endif
518
519 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
520
521#if PDT_ENABLED
522
523#if SK5_ENABLED
524 module function getShuffledRNGD_D1_PSSK5(array, count) result(arrayShuffled)
525#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
526 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_PSSK5
527#endif
528 use pm_kind, only: SKG => SK5
529 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
530 integer(IK) , intent(in) , optional :: count
531 type(css_pdt(SKG)) , allocatable :: arrayShuffled(:)
532 end function
533#endif
534
535#if SK4_ENABLED
536 module function getShuffledRNGD_D1_PSSK4(array, count) result(arrayShuffled)
537#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
538 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_PSSK4
539#endif
540 use pm_kind, only: SKG => SK4
541 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
542 integer(IK) , intent(in) , optional :: count
543 type(css_pdt(SKG)) , allocatable :: arrayShuffled(:)
544 end function
545#endif
546
547#if SK3_ENABLED
548 module function getShuffledRNGD_D1_PSSK3(array, count) result(arrayShuffled)
549#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
550 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_PSSK3
551#endif
552 use pm_kind, only: SKG => SK3
553 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
554 integer(IK) , intent(in) , optional :: count
555 type(css_pdt(SKG)) , allocatable :: arrayShuffled(:)
556 end function
557#endif
558
559#if SK2_ENABLED
560 module function getShuffledRNGD_D1_PSSK2(array, count) result(arrayShuffled)
561#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
562 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_PSSK2
563#endif
564 use pm_kind, only: SKG => SK2
565 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
566 integer(IK) , intent(in) , optional :: count
567 type(css_pdt(SKG)) , allocatable :: arrayShuffled(:)
568 end function
569#endif
570
571#if SK1_ENABLED
572 module function getShuffledRNGD_D1_PSSK1(array, count) result(arrayShuffled)
573#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
574 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_PSSK1
575#endif
576 use pm_kind, only: SKG => SK1
577 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
578 integer(IK) , intent(in) , optional :: count
579 type(css_pdt(SKG)) , allocatable :: arrayShuffled(:)
580 end function
581#endif
582
583#endif
584!PDT_ENABLED
585
586 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
587
588 module function getShuffledRNGD_D1_BSSK(array, count) result(arrayShuffled)
589#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
590 !DEC$ ATTRIBUTES DLLEXPORT :: getShuffledRNGD_D1_BSSK
591#endif
592 use pm_kind, only: SKG => SK
593 type(css_type) , intent(in) , contiguous :: array(:)
594 integer(IK) , intent(in) , optional :: count
595 type(css_type) , allocatable :: arrayShuffled(:)
596 end function
597
598 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
599
600 end interface
601
602!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
603
688 interface setShuffled
689
690 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
691 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
692 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
693
694 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
695
696#if SK5_ENABLED
697 module subroutine setShuffledRNGD_D0_SK5(array, count)
698#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
699 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D0_SK5
700#endif
701 use pm_kind, only: SKG => SK5
702 character(*,SKG) , intent(inout) :: array
703 integer(IK) , intent(in) , optional :: count
704 end subroutine
705#endif
706
707#if SK4_ENABLED
708 module subroutine setShuffledRNGD_D0_SK4(array, count)
709#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
710 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D0_SK4
711#endif
712 use pm_kind, only: SKG => SK4
713 character(*,SKG) , intent(inout) :: array
714 integer(IK) , intent(in) , optional :: count
715 end subroutine
716#endif
717
718#if SK3_ENABLED
719 module subroutine setShuffledRNGD_D0_SK3(array, count)
720#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
721 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D0_SK3
722#endif
723 use pm_kind, only: SKG => SK3
724 character(*,SKG) , intent(inout) :: array
725 integer(IK) , intent(in) , optional :: count
726 end subroutine
727#endif
728
729#if SK2_ENABLED
730 module subroutine setShuffledRNGD_D0_SK2(array, count)
731#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
732 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D0_SK2
733#endif
734 use pm_kind, only: SKG => SK2
735 character(*,SKG) , intent(inout) :: array
736 integer(IK) , intent(in) , optional :: count
737 end subroutine
738#endif
739
740#if SK1_ENABLED
741 module subroutine setShuffledRNGD_D0_SK1(array, count)
742#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
743 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D0_SK1
744#endif
745 use pm_kind, only: SKG => SK1
746 character(*,SKG) , intent(inout) :: array
747 integer(IK) , intent(in) , optional :: count
748 end subroutine
749#endif
750
751 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
752
753#if SK5_ENABLED
754 module subroutine setShuffledRNGD_D1_SK5(array, count)
755#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
756 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_SK5
757#endif
758 use pm_kind, only: SKG => SK5
759 character(*,SKG) , intent(inout) , contiguous :: array(:)
760 integer(IK) , intent(in) , optional :: count
761 end subroutine
762#endif
763
764#if SK4_ENABLED
765 module subroutine setShuffledRNGD_D1_SK4(array, count)
766#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
767 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_SK4
768#endif
769 use pm_kind, only: SKG => SK4
770 character(*,SKG) , intent(inout) , contiguous :: array(:)
771 integer(IK) , intent(in) , optional :: count
772 end subroutine
773#endif
774
775#if SK3_ENABLED
776 module subroutine setShuffledRNGD_D1_SK3(array, count)
777#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
778 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_SK3
779#endif
780 use pm_kind, only: SKG => SK3
781 character(*,SKG) , intent(inout) , contiguous :: array(:)
782 integer(IK) , intent(in) , optional :: count
783 end subroutine
784#endif
785
786#if SK2_ENABLED
787 module subroutine setShuffledRNGD_D1_SK2(array, count)
788#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
789 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_SK2
790#endif
791 use pm_kind, only: SKG => SK2
792 character(*,SKG) , intent(inout) , contiguous :: array(:)
793 integer(IK) , intent(in) , optional :: count
794 end subroutine
795#endif
796
797#if SK1_ENABLED
798 module subroutine setShuffledRNGD_D1_SK1(array, count)
799#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
800 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_SK1
801#endif
802 use pm_kind, only: SKG => SK1
803 character(*,SKG) , intent(inout) , contiguous :: array(:)
804 integer(IK) , intent(in) , optional :: count
805 end subroutine
806#endif
807
808 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
809
810#if IK5_ENABLED
811 module subroutine setShuffledRNGD_D1_IK5(array, count)
812#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
813 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_IK5
814#endif
815 use pm_kind, only: IKG => IK5
816 integer(IKG) , intent(inout) , contiguous :: array(:)
817 integer(IK) , intent(in) , optional :: count
818 end subroutine
819#endif
820
821#if IK4_ENABLED
822 module subroutine setShuffledRNGD_D1_IK4(array, count)
823#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
824 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_IK4
825#endif
826 use pm_kind, only: IKG => IK4
827 integer(IKG) , intent(inout) , contiguous :: array(:)
828 integer(IK) , intent(in) , optional :: count
829 end subroutine
830#endif
831
832#if IK3_ENABLED
833 module subroutine setShuffledRNGD_D1_IK3(array, count)
834#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
835 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_IK3
836#endif
837 use pm_kind, only: IKG => IK3
838 integer(IKG) , intent(inout) , contiguous :: array(:)
839 integer(IK) , intent(in) , optional :: count
840 end subroutine
841#endif
842
843#if IK2_ENABLED
844 module subroutine setShuffledRNGD_D1_IK2(array, count)
845#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
846 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_IK2
847#endif
848 use pm_kind, only: IKG => IK2
849 integer(IKG) , intent(inout) , contiguous :: array(:)
850 integer(IK) , intent(in) , optional :: count
851 end subroutine
852#endif
853
854#if IK1_ENABLED
855 module subroutine setShuffledRNGD_D1_IK1(array, count)
856#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
857 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_IK1
858#endif
859 use pm_kind, only: IKG => IK1
860 integer(IKG) , intent(inout) , contiguous :: array(:)
861 integer(IK) , intent(in) , optional :: count
862 end subroutine
863#endif
864
865 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
866
867#if LK5_ENABLED
868 module subroutine setShuffledRNGD_D1_LK5(array, count)
869#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
870 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_LK5
871#endif
872 use pm_kind, only: LKG => LK5
873 logical(LKG) , intent(inout) , contiguous :: array(:)
874 integer(IK) , intent(in) , optional :: count
875 end subroutine
876#endif
877
878#if LK4_ENABLED
879 module subroutine setShuffledRNGD_D1_LK4(array, count)
880#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
881 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_LK4
882#endif
883 use pm_kind, only: LKG => LK4
884 logical(LKG) , intent(inout) , contiguous :: array(:)
885 integer(IK) , intent(in) , optional :: count
886 end subroutine
887#endif
888
889#if LK3_ENABLED
890 module subroutine setShuffledRNGD_D1_LK3(array, count)
891#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
892 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_LK3
893#endif
894 use pm_kind, only: LKG => LK3
895 logical(LKG) , intent(inout) , contiguous :: array(:)
896 integer(IK) , intent(in) , optional :: count
897 end subroutine
898#endif
899
900#if LK2_ENABLED
901 module subroutine setShuffledRNGD_D1_LK2(array, count)
902#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
903 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_LK2
904#endif
905 use pm_kind, only: LKG => LK2
906 logical(LKG) , intent(inout) , contiguous :: array(:)
907 integer(IK) , intent(in) , optional :: count
908 end subroutine
909#endif
910
911#if LK1_ENABLED
912 module subroutine setShuffledRNGD_D1_LK1(array, count)
913#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
914 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_LK1
915#endif
916 use pm_kind, only: LKG => LK1
917 logical(LKG) , intent(inout) , contiguous :: array(:)
918 integer(IK) , intent(in) , optional :: count
919 end subroutine
920#endif
921
922 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
923
924#if CK5_ENABLED
925 module subroutine setShuffledRNGD_D1_CK5(array, count)
926#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
927 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_CK5
928#endif
929 use pm_kind, only: CKG => CK5
930 complex(CKG) , intent(inout) , contiguous :: array(:)
931 integer(IK) , intent(in) , optional :: count
932 end subroutine
933#endif
934
935#if CK4_ENABLED
936 module subroutine setShuffledRNGD_D1_CK4(array, count)
937#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
938 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_CK4
939#endif
940 use pm_kind, only: CKG => CK4
941 complex(CKG) , intent(inout) , contiguous :: array(:)
942 integer(IK) , intent(in) , optional :: count
943 end subroutine
944#endif
945
946#if CK3_ENABLED
947 module subroutine setShuffledRNGD_D1_CK3(array, count)
948#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
949 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_CK3
950#endif
951 use pm_kind, only: CKG => CK3
952 complex(CKG) , intent(inout) , contiguous :: array(:)
953 integer(IK) , intent(in) , optional :: count
954 end subroutine
955#endif
956
957#if CK2_ENABLED
958 module subroutine setShuffledRNGD_D1_CK2(array, count)
959#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
960 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_CK2
961#endif
962 use pm_kind, only: CKG => CK2
963 complex(CKG) , intent(inout) , contiguous :: array(:)
964 integer(IK) , intent(in) , optional :: count
965 end subroutine
966#endif
967
968#if CK1_ENABLED
969 module subroutine setShuffledRNGD_D1_CK1(array, count)
970#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
971 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_CK1
972#endif
973 use pm_kind, only: CKG => CK1
974 complex(CKG) , intent(inout) , contiguous :: array(:)
975 integer(IK) , intent(in) , optional :: count
976 end subroutine
977#endif
978
979 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
980
981#if RK5_ENABLED
982 module subroutine setShuffledRNGD_D1_RK5(array, count)
983#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
984 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_RK5
985#endif
986 use pm_kind, only: RKG => RK5
987 real(RKG) , intent(inout) , contiguous :: array(:)
988 integer(IK) , intent(in) , optional :: count
989 end subroutine
990#endif
991
992#if RK4_ENABLED
993 module subroutine setShuffledRNGD_D1_RK4(array, count)
994#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
995 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_RK4
996#endif
997 use pm_kind, only: RKG => RK4
998 real(RKG) , intent(inout) , contiguous :: array(:)
999 integer(IK) , intent(in) , optional :: count
1000 end subroutine
1001#endif
1002
1003#if RK3_ENABLED
1004 module subroutine setShuffledRNGD_D1_RK3(array, count)
1005#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1006 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_RK3
1007#endif
1008 use pm_kind, only: RKG => RK3
1009 real(RKG) , intent(inout) , contiguous :: array(:)
1010 integer(IK) , intent(in) , optional :: count
1011 end subroutine
1012#endif
1013
1014#if RK2_ENABLED
1015 module subroutine setShuffledRNGD_D1_RK2(array, count)
1016#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1017 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_RK2
1018#endif
1019 use pm_kind, only: RKG => RK2
1020 real(RKG) , intent(inout) , contiguous :: array(:)
1021 integer(IK) , intent(in) , optional :: count
1022 end subroutine
1023#endif
1024
1025#if RK1_ENABLED
1026 module subroutine setShuffledRNGD_D1_RK1(array, count)
1027#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1028 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_RK1
1029#endif
1030 use pm_kind, only: RKG => RK1
1031 real(RKG) , intent(inout) , contiguous :: array(:)
1032 integer(IK) , intent(in) , optional :: count
1033 end subroutine
1034#endif
1035
1036 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1037
1038#if PDT_ENABLED
1039
1040#if SK5_ENABLED
1041 module subroutine setShuffledRNGD_D1_PSSK5(array, count)
1042#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1043 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_PSSK5
1044#endif
1045 use pm_kind, only: SKG => SK5
1046 type(css_pdt(SKG)) , intent(inout) , contiguous :: array(:)
1047 integer(IK) , intent(in) , optional :: count
1048 end subroutine
1049#endif
1050
1051#if SK4_ENABLED
1052 module subroutine setShuffledRNGD_D1_PSSK4(array, count)
1053#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1054 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_PSSK4
1055#endif
1056 use pm_kind, only: SKG => SK4
1057 type(css_pdt(SKG)) , intent(inout) , contiguous :: array(:)
1058 integer(IK) , intent(in) , optional :: count
1059 end subroutine
1060#endif
1061
1062#if SK3_ENABLED
1063 module subroutine setShuffledRNGD_D1_PSSK3(array, count)
1064#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1065 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_PSSK3
1066#endif
1067 use pm_kind, only: SKG => SK3
1068 type(css_pdt(SKG)) , intent(inout) , contiguous :: array(:)
1069 integer(IK) , intent(in) , optional :: count
1070 end subroutine
1071#endif
1072
1073#if SK2_ENABLED
1074 module subroutine setShuffledRNGD_D1_PSSK2(array, count)
1075#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1076 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_PSSK2
1077#endif
1078 use pm_kind, only: SKG => SK2
1079 type(css_pdt(SKG)) , intent(inout) , contiguous :: array(:)
1080 integer(IK) , intent(in) , optional :: count
1081 end subroutine
1082#endif
1083
1084#if SK1_ENABLED
1085 module subroutine setShuffledRNGD_D1_PSSK1(array, count)
1086#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1087 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_PSSK1
1088#endif
1089 use pm_kind, only: SKG => SK1
1090 type(css_pdt(SKG)) , intent(inout) , contiguous :: array(:)
1091 integer(IK) , intent(in) , optional :: count
1092 end subroutine
1093#endif
1094
1095#endif
1096!PDT_ENABLED
1097
1098 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1099
1100 module subroutine setShuffledRNGD_D1_BSSK(array, count)
1101#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1102 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGD_D1_BSSK
1103#endif
1104 use pm_kind, only: SKG => SK
1105 type(css_type) , intent(inout) , contiguous :: array(:)
1106 integer(IK) , intent(in) , optional :: count
1107 end subroutine
1108
1109 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1110
1111 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1112 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1113 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1114
1115 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1116
1117#if SK5_ENABLED
1118 module subroutine setShuffledRNGF_D0_SK5(rng, array, count)
1119#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1120 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D0_SK5
1121#endif
1122 use pm_kind, only: SKG => SK5
1123 character(*,SKG) , intent(inout) :: array
1124 integer(IK) , intent(in) , optional :: count
1125 type(rngf_type) , intent(in) :: rng
1126 end subroutine
1127#endif
1128
1129#if SK4_ENABLED
1130 module subroutine setShuffledRNGF_D0_SK4(rng, array, count)
1131#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1132 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D0_SK4
1133#endif
1134 use pm_kind, only: SKG => SK4
1135 character(*,SKG) , intent(inout) :: array
1136 integer(IK) , intent(in) , optional :: count
1137 type(rngf_type) , intent(in) :: rng
1138 end subroutine
1139#endif
1140
1141#if SK3_ENABLED
1142 module subroutine setShuffledRNGF_D0_SK3(rng, array, count)
1143#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1144 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D0_SK3
1145#endif
1146 use pm_kind, only: SKG => SK3
1147 character(*,SKG) , intent(inout) :: array
1148 integer(IK) , intent(in) , optional :: count
1149 type(rngf_type) , intent(in) :: rng
1150 end subroutine
1151#endif
1152
1153#if SK2_ENABLED
1154 module subroutine setShuffledRNGF_D0_SK2(rng, array, count)
1155#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1156 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D0_SK2
1157#endif
1158 use pm_kind, only: SKG => SK2
1159 character(*,SKG) , intent(inout) :: array
1160 integer(IK) , intent(in) , optional :: count
1161 type(rngf_type) , intent(in) :: rng
1162 end subroutine
1163#endif
1164
1165#if SK1_ENABLED
1166 module subroutine setShuffledRNGF_D0_SK1(rng, array, count)
1167#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1168 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D0_SK1
1169#endif
1170 use pm_kind, only: SKG => SK1
1171 character(*,SKG) , intent(inout) :: array
1172 integer(IK) , intent(in) , optional :: count
1173 type(rngf_type) , intent(in) :: rng
1174 end subroutine
1175#endif
1176
1177 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1178
1179#if SK5_ENABLED
1180 module subroutine setShuffledRNGF_D1_SK5(rng, array, count)
1181#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1182 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_SK5
1183#endif
1184 use pm_kind, only: SKG => SK5
1185 character(*,SKG) , intent(inout) , contiguous :: array(:)
1186 integer(IK) , intent(in) , optional :: count
1187 type(rngf_type) , intent(in) :: rng
1188 end subroutine
1189#endif
1190
1191#if SK4_ENABLED
1192 module subroutine setShuffledRNGF_D1_SK4(rng, array, count)
1193#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1194 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_SK4
1195#endif
1196 use pm_kind, only: SKG => SK4
1197 character(*,SKG) , intent(inout) , contiguous :: array(:)
1198 integer(IK) , intent(in) , optional :: count
1199 type(rngf_type) , intent(in) :: rng
1200 end subroutine
1201#endif
1202
1203#if SK3_ENABLED
1204 module subroutine setShuffledRNGF_D1_SK3(rng, array, count)
1205#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1206 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_SK3
1207#endif
1208 use pm_kind, only: SKG => SK3
1209 character(*,SKG) , intent(inout) , contiguous :: array(:)
1210 integer(IK) , intent(in) , optional :: count
1211 type(rngf_type) , intent(in) :: rng
1212 end subroutine
1213#endif
1214
1215#if SK2_ENABLED
1216 module subroutine setShuffledRNGF_D1_SK2(rng, array, count)
1217#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1218 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_SK2
1219#endif
1220 use pm_kind, only: SKG => SK2
1221 character(*,SKG) , intent(inout) , contiguous :: array(:)
1222 integer(IK) , intent(in) , optional :: count
1223 type(rngf_type) , intent(in) :: rng
1224 end subroutine
1225#endif
1226
1227#if SK1_ENABLED
1228 module subroutine setShuffledRNGF_D1_SK1(rng, array, count)
1229#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1230 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_SK1
1231#endif
1232 use pm_kind, only: SKG => SK1
1233 character(*,SKG) , intent(inout) , contiguous :: array(:)
1234 integer(IK) , intent(in) , optional :: count
1235 type(rngf_type) , intent(in) :: rng
1236 end subroutine
1237#endif
1238
1239 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1240
1241#if IK5_ENABLED
1242 module subroutine setShuffledRNGF_D1_IK5(rng, array, count)
1243#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1244 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_IK5
1245#endif
1246 use pm_kind, only: IKG => IK5
1247 integer(IKG) , intent(inout) , contiguous :: array(:)
1248 integer(IK) , intent(in) , optional :: count
1249 type(rngf_type) , intent(in) :: rng
1250 end subroutine
1251#endif
1252
1253#if IK4_ENABLED
1254 module subroutine setShuffledRNGF_D1_IK4(rng, array, count)
1255#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1256 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_IK4
1257#endif
1258 use pm_kind, only: IKG => IK4
1259 integer(IKG) , intent(inout) , contiguous :: array(:)
1260 integer(IK) , intent(in) , optional :: count
1261 type(rngf_type) , intent(in) :: rng
1262 end subroutine
1263#endif
1264
1265#if IK3_ENABLED
1266 module subroutine setShuffledRNGF_D1_IK3(rng, array, count)
1267#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1268 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_IK3
1269#endif
1270 use pm_kind, only: IKG => IK3
1271 integer(IKG) , intent(inout) , contiguous :: array(:)
1272 integer(IK) , intent(in) , optional :: count
1273 type(rngf_type) , intent(in) :: rng
1274 end subroutine
1275#endif
1276
1277#if IK2_ENABLED
1278 module subroutine setShuffledRNGF_D1_IK2(rng, array, count)
1279#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1280 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_IK2
1281#endif
1282 use pm_kind, only: IKG => IK2
1283 integer(IKG) , intent(inout) , contiguous :: array(:)
1284 integer(IK) , intent(in) , optional :: count
1285 type(rngf_type) , intent(in) :: rng
1286 end subroutine
1287#endif
1288
1289#if IK1_ENABLED
1290 module subroutine setShuffledRNGF_D1_IK1(rng, array, count)
1291#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1292 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_IK1
1293#endif
1294 use pm_kind, only: IKG => IK1
1295 integer(IKG) , intent(inout) , contiguous :: array(:)
1296 integer(IK) , intent(in) , optional :: count
1297 type(rngf_type) , intent(in) :: rng
1298 end subroutine
1299#endif
1300
1301 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1302
1303#if LK5_ENABLED
1304 module subroutine setShuffledRNGF_D1_LK5(rng, array, count)
1305#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1306 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_LK5
1307#endif
1308 use pm_kind, only: LKG => LK5
1309 logical(LKG) , intent(inout) , contiguous :: array(:)
1310 integer(IK) , intent(in) , optional :: count
1311 type(rngf_type) , intent(in) :: rng
1312 end subroutine
1313#endif
1314
1315#if LK4_ENABLED
1316 module subroutine setShuffledRNGF_D1_LK4(rng, array, count)
1317#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1318 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_LK4
1319#endif
1320 use pm_kind, only: LKG => LK4
1321 logical(LKG) , intent(inout) , contiguous :: array(:)
1322 integer(IK) , intent(in) , optional :: count
1323 type(rngf_type) , intent(in) :: rng
1324 end subroutine
1325#endif
1326
1327#if LK3_ENABLED
1328 module subroutine setShuffledRNGF_D1_LK3(rng, array, count)
1329#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1330 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_LK3
1331#endif
1332 use pm_kind, only: LKG => LK3
1333 logical(LKG) , intent(inout) , contiguous :: array(:)
1334 integer(IK) , intent(in) , optional :: count
1335 type(rngf_type) , intent(in) :: rng
1336 end subroutine
1337#endif
1338
1339#if LK2_ENABLED
1340 module subroutine setShuffledRNGF_D1_LK2(rng, array, count)
1341#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1342 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_LK2
1343#endif
1344 use pm_kind, only: LKG => LK2
1345 logical(LKG) , intent(inout) , contiguous :: array(:)
1346 integer(IK) , intent(in) , optional :: count
1347 type(rngf_type) , intent(in) :: rng
1348 end subroutine
1349#endif
1350
1351#if LK1_ENABLED
1352 module subroutine setShuffledRNGF_D1_LK1(rng, array, count)
1353#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1354 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_LK1
1355#endif
1356 use pm_kind, only: LKG => LK1
1357 logical(LKG) , intent(inout) , contiguous :: array(:)
1358 integer(IK) , intent(in) , optional :: count
1359 type(rngf_type) , intent(in) :: rng
1360 end subroutine
1361#endif
1362
1363 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1364
1365#if CK5_ENABLED
1366 module subroutine setShuffledRNGF_D1_CK5(rng, array, count)
1367#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1368 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_CK5
1369#endif
1370 use pm_kind, only: CKG => CK5
1371 complex(CKG) , intent(inout) , contiguous :: array(:)
1372 integer(IK) , intent(in) , optional :: count
1373 type(rngf_type) , intent(in) :: rng
1374 end subroutine
1375#endif
1376
1377#if CK4_ENABLED
1378 module subroutine setShuffledRNGF_D1_CK4(rng, array, count)
1379#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1380 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_CK4
1381#endif
1382 use pm_kind, only: CKG => CK4
1383 complex(CKG) , intent(inout) , contiguous :: array(:)
1384 integer(IK) , intent(in) , optional :: count
1385 type(rngf_type) , intent(in) :: rng
1386 end subroutine
1387#endif
1388
1389#if CK3_ENABLED
1390 module subroutine setShuffledRNGF_D1_CK3(rng, array, count)
1391#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1392 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_CK3
1393#endif
1394 use pm_kind, only: CKG => CK3
1395 complex(CKG) , intent(inout) , contiguous :: array(:)
1396 integer(IK) , intent(in) , optional :: count
1397 type(rngf_type) , intent(in) :: rng
1398 end subroutine
1399#endif
1400
1401#if CK2_ENABLED
1402 module subroutine setShuffledRNGF_D1_CK2(rng, array, count)
1403#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1404 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_CK2
1405#endif
1406 use pm_kind, only: CKG => CK2
1407 complex(CKG) , intent(inout) , contiguous :: array(:)
1408 integer(IK) , intent(in) , optional :: count
1409 type(rngf_type) , intent(in) :: rng
1410 end subroutine
1411#endif
1412
1413#if CK1_ENABLED
1414 module subroutine setShuffledRNGF_D1_CK1(rng, array, count)
1415#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1416 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_CK1
1417#endif
1418 use pm_kind, only: CKG => CK1
1419 complex(CKG) , intent(inout) , contiguous :: array(:)
1420 integer(IK) , intent(in) , optional :: count
1421 type(rngf_type) , intent(in) :: rng
1422 end subroutine
1423#endif
1424
1425 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1426
1427#if RK5_ENABLED
1428 module subroutine setShuffledRNGF_D1_RK5(rng, array, count)
1429#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1430 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_RK5
1431#endif
1432 use pm_kind, only: RKG => RK5
1433 real(RKG) , intent(inout) , contiguous :: array(:)
1434 integer(IK) , intent(in) , optional :: count
1435 type(rngf_type) , intent(in) :: rng
1436 end subroutine
1437#endif
1438
1439#if RK4_ENABLED
1440 module subroutine setShuffledRNGF_D1_RK4(rng, array, count)
1441#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1442 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_RK4
1443#endif
1444 use pm_kind, only: RKG => RK4
1445 real(RKG) , intent(inout) , contiguous :: array(:)
1446 integer(IK) , intent(in) , optional :: count
1447 type(rngf_type) , intent(in) :: rng
1448 end subroutine
1449#endif
1450
1451#if RK3_ENABLED
1452 module subroutine setShuffledRNGF_D1_RK3(rng, array, count)
1453#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1454 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_RK3
1455#endif
1456 use pm_kind, only: RKG => RK3
1457 real(RKG) , intent(inout) , contiguous :: array(:)
1458 integer(IK) , intent(in) , optional :: count
1459 type(rngf_type) , intent(in) :: rng
1460 end subroutine
1461#endif
1462
1463#if RK2_ENABLED
1464 module subroutine setShuffledRNGF_D1_RK2(rng, array, count)
1465#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1466 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_RK2
1467#endif
1468 use pm_kind, only: RKG => RK2
1469 real(RKG) , intent(inout) , contiguous :: array(:)
1470 integer(IK) , intent(in) , optional :: count
1471 type(rngf_type) , intent(in) :: rng
1472 end subroutine
1473#endif
1474
1475#if RK1_ENABLED
1476 module subroutine setShuffledRNGF_D1_RK1(rng, array, count)
1477#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1478 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_RK1
1479#endif
1480 use pm_kind, only: RKG => RK1
1481 real(RKG) , intent(inout) , contiguous :: array(:)
1482 integer(IK) , intent(in) , optional :: count
1483 type(rngf_type) , intent(in) :: rng
1484 end subroutine
1485#endif
1486
1487 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1488
1489#if PDT_ENABLED
1490
1491#if SK5_ENABLED
1492 module subroutine setShuffledRNGF_D1_PSSK5(rng, array, count)
1493#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1494 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_PSSK5
1495#endif
1496 use pm_kind, only: SKG => SK5
1497 type(css_pdt(SKG)) , intent(inout) , contiguous :: array(:)
1498 integer(IK) , intent(in) , optional :: count
1499 type(rngf_type) , intent(in) :: rng
1500 end subroutine
1501#endif
1502
1503#if SK4_ENABLED
1504 module subroutine setShuffledRNGF_D1_PSSK4(rng, array, count)
1505#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1506 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_PSSK4
1507#endif
1508 use pm_kind, only: SKG => SK4
1509 type(css_pdt(SKG)) , intent(inout) , contiguous :: array(:)
1510 integer(IK) , intent(in) , optional :: count
1511 type(rngf_type) , intent(in) :: rng
1512 end subroutine
1513#endif
1514
1515#if SK3_ENABLED
1516 module subroutine setShuffledRNGF_D1_PSSK3(rng, array, count)
1517#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1518 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_PSSK3
1519#endif
1520 use pm_kind, only: SKG => SK3
1521 type(css_pdt(SKG)) , intent(inout) , contiguous :: array(:)
1522 integer(IK) , intent(in) , optional :: count
1523 type(rngf_type) , intent(in) :: rng
1524 end subroutine
1525#endif
1526
1527#if SK2_ENABLED
1528 module subroutine setShuffledRNGF_D1_PSSK2(rng, array, count)
1529#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1530 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_PSSK2
1531#endif
1532 use pm_kind, only: SKG => SK2
1533 type(css_pdt(SKG)) , intent(inout) , contiguous :: array(:)
1534 integer(IK) , intent(in) , optional :: count
1535 type(rngf_type) , intent(in) :: rng
1536 end subroutine
1537#endif
1538
1539#if SK1_ENABLED
1540 module subroutine setShuffledRNGF_D1_PSSK1(rng, array, count)
1541#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1542 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_PSSK1
1543#endif
1544 use pm_kind, only: SKG => SK1
1545 type(css_pdt(SKG)) , intent(inout) , contiguous :: array(:)
1546 integer(IK) , intent(in) , optional :: count
1547 type(rngf_type) , intent(in) :: rng
1548 end subroutine
1549#endif
1550
1551#endif
1552!PDT_ENABLED
1553
1554 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1555
1556 module subroutine setShuffledRNGF_D1_BSSK(rng, array, count)
1557#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1558 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGF_D1_BSSK
1559#endif
1560 use pm_kind, only: SKG => SK
1561 type(css_type) , intent(inout) , contiguous :: array(:)
1562 integer(IK) , intent(in) , optional :: count
1563 type(rngf_type) , intent(in) :: rng
1564 end subroutine
1565
1566 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1567
1568 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1569 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1570 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1571
1572 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1573
1574#if SK5_ENABLED
1575 PURE module subroutine setShuffledRNGX_D0_SK5(rng, array, count)
1576#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1577 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D0_SK5
1578#endif
1579 use pm_kind, only: SKG => SK5
1580 character(*,SKG) , intent(inout) :: array
1581 integer(IK) , intent(in) , optional :: count
1582 type(xoshiro256ssw_type) , intent(inout) :: rng
1583 end subroutine
1584#endif
1585
1586#if SK4_ENABLED
1587 PURE module subroutine setShuffledRNGX_D0_SK4(rng, array, count)
1588#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1589 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D0_SK4
1590#endif
1591 use pm_kind, only: SKG => SK4
1592 character(*,SKG) , intent(inout) :: array
1593 integer(IK) , intent(in) , optional :: count
1594 type(xoshiro256ssw_type) , intent(inout) :: rng
1595 end subroutine
1596#endif
1597
1598#if SK3_ENABLED
1599 PURE module subroutine setShuffledRNGX_D0_SK3(rng, array, count)
1600#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1601 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D0_SK3
1602#endif
1603 use pm_kind, only: SKG => SK3
1604 character(*,SKG) , intent(inout) :: array
1605 integer(IK) , intent(in) , optional :: count
1606 type(xoshiro256ssw_type) , intent(inout) :: rng
1607 end subroutine
1608#endif
1609
1610#if SK2_ENABLED
1611 PURE module subroutine setShuffledRNGX_D0_SK2(rng, array, count)
1612#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1613 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D0_SK2
1614#endif
1615 use pm_kind, only: SKG => SK2
1616 character(*,SKG) , intent(inout) :: array
1617 integer(IK) , intent(in) , optional :: count
1618 type(xoshiro256ssw_type) , intent(inout) :: rng
1619 end subroutine
1620#endif
1621
1622#if SK1_ENABLED
1623 PURE module subroutine setShuffledRNGX_D0_SK1(rng, array, count)
1624#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1625 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D0_SK1
1626#endif
1627 use pm_kind, only: SKG => SK1
1628 character(*,SKG) , intent(inout) :: array
1629 integer(IK) , intent(in) , optional :: count
1630 type(xoshiro256ssw_type) , intent(inout) :: rng
1631 end subroutine
1632#endif
1633
1634 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1635
1636#if SK5_ENABLED
1637 PURE module subroutine setShuffledRNGX_D1_SK5(rng, array, count)
1638#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1639 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_SK5
1640#endif
1641 use pm_kind, only: SKG => SK5
1642 character(*,SKG) , intent(inout) , contiguous :: array(:)
1643 integer(IK) , intent(in) , optional :: count
1644 type(xoshiro256ssw_type) , intent(inout) :: rng
1645 end subroutine
1646#endif
1647
1648#if SK4_ENABLED
1649 PURE module subroutine setShuffledRNGX_D1_SK4(rng, array, count)
1650#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1651 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_SK4
1652#endif
1653 use pm_kind, only: SKG => SK4
1654 character(*,SKG) , intent(inout) , contiguous :: array(:)
1655 integer(IK) , intent(in) , optional :: count
1656 type(xoshiro256ssw_type) , intent(inout) :: rng
1657 end subroutine
1658#endif
1659
1660#if SK3_ENABLED
1661 PURE module subroutine setShuffledRNGX_D1_SK3(rng, array, count)
1662#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1663 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_SK3
1664#endif
1665 use pm_kind, only: SKG => SK3
1666 character(*,SKG) , intent(inout) , contiguous :: array(:)
1667 integer(IK) , intent(in) , optional :: count
1668 type(xoshiro256ssw_type) , intent(inout) :: rng
1669 end subroutine
1670#endif
1671
1672#if SK2_ENABLED
1673 PURE module subroutine setShuffledRNGX_D1_SK2(rng, array, count)
1674#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1675 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_SK2
1676#endif
1677 use pm_kind, only: SKG => SK2
1678 character(*,SKG) , intent(inout) , contiguous :: array(:)
1679 integer(IK) , intent(in) , optional :: count
1680 type(xoshiro256ssw_type) , intent(inout) :: rng
1681 end subroutine
1682#endif
1683
1684#if SK1_ENABLED
1685 PURE module subroutine setShuffledRNGX_D1_SK1(rng, array, count)
1686#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1687 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_SK1
1688#endif
1689 use pm_kind, only: SKG => SK1
1690 character(*,SKG) , intent(inout) , contiguous :: array(:)
1691 integer(IK) , intent(in) , optional :: count
1692 type(xoshiro256ssw_type) , intent(inout) :: rng
1693 end subroutine
1694#endif
1695
1696 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1697
1698#if IK5_ENABLED
1699 PURE module subroutine setShuffledRNGX_D1_IK5(rng, array, count)
1700#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1701 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_IK5
1702#endif
1703 use pm_kind, only: IKG => IK5
1704 integer(IKG) , intent(inout) , contiguous :: array(:)
1705 integer(IK) , intent(in) , optional :: count
1706 type(xoshiro256ssw_type) , intent(inout) :: rng
1707 end subroutine
1708#endif
1709
1710#if IK4_ENABLED
1711 PURE module subroutine setShuffledRNGX_D1_IK4(rng, array, count)
1712#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1713 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_IK4
1714#endif
1715 use pm_kind, only: IKG => IK4
1716 integer(IKG) , intent(inout) , contiguous :: array(:)
1717 integer(IK) , intent(in) , optional :: count
1718 type(xoshiro256ssw_type) , intent(inout) :: rng
1719 end subroutine
1720#endif
1721
1722#if IK3_ENABLED
1723 PURE module subroutine setShuffledRNGX_D1_IK3(rng, array, count)
1724#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1725 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_IK3
1726#endif
1727 use pm_kind, only: IKG => IK3
1728 integer(IKG) , intent(inout) , contiguous :: array(:)
1729 integer(IK) , intent(in) , optional :: count
1730 type(xoshiro256ssw_type) , intent(inout) :: rng
1731 end subroutine
1732#endif
1733
1734#if IK2_ENABLED
1735 PURE module subroutine setShuffledRNGX_D1_IK2(rng, array, count)
1736#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1737 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_IK2
1738#endif
1739 use pm_kind, only: IKG => IK2
1740 integer(IKG) , intent(inout) , contiguous :: array(:)
1741 integer(IK) , intent(in) , optional :: count
1742 type(xoshiro256ssw_type) , intent(inout) :: rng
1743 end subroutine
1744#endif
1745
1746#if IK1_ENABLED
1747 PURE module subroutine setShuffledRNGX_D1_IK1(rng, array, count)
1748#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1749 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_IK1
1750#endif
1751 use pm_kind, only: IKG => IK1
1752 integer(IKG) , intent(inout) , contiguous :: array(:)
1753 integer(IK) , intent(in) , optional :: count
1754 type(xoshiro256ssw_type) , intent(inout) :: rng
1755 end subroutine
1756#endif
1757
1758 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1759
1760#if LK5_ENABLED
1761 PURE module subroutine setShuffledRNGX_D1_LK5(rng, array, count)
1762#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1763 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_LK5
1764#endif
1765 use pm_kind, only: LKG => LK5
1766 logical(LKG) , intent(inout) , contiguous :: array(:)
1767 integer(IK) , intent(in) , optional :: count
1768 type(xoshiro256ssw_type) , intent(inout) :: rng
1769 end subroutine
1770#endif
1771
1772#if LK4_ENABLED
1773 PURE module subroutine setShuffledRNGX_D1_LK4(rng, array, count)
1774#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1775 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_LK4
1776#endif
1777 use pm_kind, only: LKG => LK4
1778 logical(LKG) , intent(inout) , contiguous :: array(:)
1779 integer(IK) , intent(in) , optional :: count
1780 type(xoshiro256ssw_type) , intent(inout) :: rng
1781 end subroutine
1782#endif
1783
1784#if LK3_ENABLED
1785 PURE module subroutine setShuffledRNGX_D1_LK3(rng, array, count)
1786#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1787 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_LK3
1788#endif
1789 use pm_kind, only: LKG => LK3
1790 logical(LKG) , intent(inout) , contiguous :: array(:)
1791 integer(IK) , intent(in) , optional :: count
1792 type(xoshiro256ssw_type) , intent(inout) :: rng
1793 end subroutine
1794#endif
1795
1796#if LK2_ENABLED
1797 PURE module subroutine setShuffledRNGX_D1_LK2(rng, array, count)
1798#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1799 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_LK2
1800#endif
1801 use pm_kind, only: LKG => LK2
1802 logical(LKG) , intent(inout) , contiguous :: array(:)
1803 integer(IK) , intent(in) , optional :: count
1804 type(xoshiro256ssw_type) , intent(inout) :: rng
1805 end subroutine
1806#endif
1807
1808#if LK1_ENABLED
1809 PURE module subroutine setShuffledRNGX_D1_LK1(rng, array, count)
1810#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1811 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_LK1
1812#endif
1813 use pm_kind, only: LKG => LK1
1814 logical(LKG) , intent(inout) , contiguous :: array(:)
1815 integer(IK) , intent(in) , optional :: count
1816 type(xoshiro256ssw_type) , intent(inout) :: rng
1817 end subroutine
1818#endif
1819
1820 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1821
1822#if CK5_ENABLED
1823 PURE module subroutine setShuffledRNGX_D1_CK5(rng, array, count)
1824#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1825 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_CK5
1826#endif
1827 use pm_kind, only: CKG => CK5
1828 complex(CKG) , intent(inout) , contiguous :: array(:)
1829 integer(IK) , intent(in) , optional :: count
1830 type(xoshiro256ssw_type) , intent(inout) :: rng
1831 end subroutine
1832#endif
1833
1834#if CK4_ENABLED
1835 PURE module subroutine setShuffledRNGX_D1_CK4(rng, array, count)
1836#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1837 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_CK4
1838#endif
1839 use pm_kind, only: CKG => CK4
1840 complex(CKG) , intent(inout) , contiguous :: array(:)
1841 integer(IK) , intent(in) , optional :: count
1842 type(xoshiro256ssw_type) , intent(inout) :: rng
1843 end subroutine
1844#endif
1845
1846#if CK3_ENABLED
1847 PURE module subroutine setShuffledRNGX_D1_CK3(rng, array, count)
1848#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1849 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_CK3
1850#endif
1851 use pm_kind, only: CKG => CK3
1852 complex(CKG) , intent(inout) , contiguous :: array(:)
1853 integer(IK) , intent(in) , optional :: count
1854 type(xoshiro256ssw_type) , intent(inout) :: rng
1855 end subroutine
1856#endif
1857
1858#if CK2_ENABLED
1859 PURE module subroutine setShuffledRNGX_D1_CK2(rng, array, count)
1860#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1861 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_CK2
1862#endif
1863 use pm_kind, only: CKG => CK2
1864 complex(CKG) , intent(inout) , contiguous :: array(:)
1865 integer(IK) , intent(in) , optional :: count
1866 type(xoshiro256ssw_type) , intent(inout) :: rng
1867 end subroutine
1868#endif
1869
1870#if CK1_ENABLED
1871 PURE module subroutine setShuffledRNGX_D1_CK1(rng, array, count)
1872#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1873 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_CK1
1874#endif
1875 use pm_kind, only: CKG => CK1
1876 complex(CKG) , intent(inout) , contiguous :: array(:)
1877 integer(IK) , intent(in) , optional :: count
1878 type(xoshiro256ssw_type) , intent(inout) :: rng
1879 end subroutine
1880#endif
1881
1882 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1883
1884#if RK5_ENABLED
1885 PURE module subroutine setShuffledRNGX_D1_RK5(rng, array, count)
1886#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1887 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_RK5
1888#endif
1889 use pm_kind, only: RKG => RK5
1890 real(RKG) , intent(inout) , contiguous :: array(:)
1891 integer(IK) , intent(in) , optional :: count
1892 type(xoshiro256ssw_type) , intent(inout) :: rng
1893 end subroutine
1894#endif
1895
1896#if RK4_ENABLED
1897 PURE module subroutine setShuffledRNGX_D1_RK4(rng, array, count)
1898#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1899 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_RK4
1900#endif
1901 use pm_kind, only: RKG => RK4
1902 real(RKG) , intent(inout) , contiguous :: array(:)
1903 integer(IK) , intent(in) , optional :: count
1904 type(xoshiro256ssw_type) , intent(inout) :: rng
1905 end subroutine
1906#endif
1907
1908#if RK3_ENABLED
1909 PURE module subroutine setShuffledRNGX_D1_RK3(rng, array, count)
1910#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1911 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_RK3
1912#endif
1913 use pm_kind, only: RKG => RK3
1914 real(RKG) , intent(inout) , contiguous :: array(:)
1915 integer(IK) , intent(in) , optional :: count
1916 type(xoshiro256ssw_type) , intent(inout) :: rng
1917 end subroutine
1918#endif
1919
1920#if RK2_ENABLED
1921 PURE module subroutine setShuffledRNGX_D1_RK2(rng, array, count)
1922#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1923 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_RK2
1924#endif
1925 use pm_kind, only: RKG => RK2
1926 real(RKG) , intent(inout) , contiguous :: array(:)
1927 integer(IK) , intent(in) , optional :: count
1928 type(xoshiro256ssw_type) , intent(inout) :: rng
1929 end subroutine
1930#endif
1931
1932#if RK1_ENABLED
1933 PURE module subroutine setShuffledRNGX_D1_RK1(rng, array, count)
1934#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1935 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_RK1
1936#endif
1937 use pm_kind, only: RKG => RK1
1938 real(RKG) , intent(inout) , contiguous :: array(:)
1939 integer(IK) , intent(in) , optional :: count
1940 type(xoshiro256ssw_type) , intent(inout) :: rng
1941 end subroutine
1942#endif
1943
1944 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1945
1946#if PDT_ENABLED
1947
1948#if SK5_ENABLED
1949 PURE module subroutine setShuffledRNGX_D1_PSSK5(rng, array, count)
1950#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1951 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_PSSK5
1952#endif
1953 use pm_kind, only: SKG => SK5
1954 type(css_pdt(SKG)) , intent(inout) , contiguous :: array(:)
1955 integer(IK) , intent(in) , optional :: count
1956 type(xoshiro256ssw_type) , intent(inout) :: rng
1957 end subroutine
1958#endif
1959
1960#if SK4_ENABLED
1961 PURE module subroutine setShuffledRNGX_D1_PSSK4(rng, array, count)
1962#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1963 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_PSSK4
1964#endif
1965 use pm_kind, only: SKG => SK4
1966 type(css_pdt(SKG)) , intent(inout) , contiguous :: array(:)
1967 integer(IK) , intent(in) , optional :: count
1968 type(xoshiro256ssw_type) , intent(inout) :: rng
1969 end subroutine
1970#endif
1971
1972#if SK3_ENABLED
1973 PURE module subroutine setShuffledRNGX_D1_PSSK3(rng, array, count)
1974#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1975 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_PSSK3
1976#endif
1977 use pm_kind, only: SKG => SK3
1978 type(css_pdt(SKG)) , intent(inout) , contiguous :: array(:)
1979 integer(IK) , intent(in) , optional :: count
1980 type(xoshiro256ssw_type) , intent(inout) :: rng
1981 end subroutine
1982#endif
1983
1984#if SK2_ENABLED
1985 PURE module subroutine setShuffledRNGX_D1_PSSK2(rng, array, count)
1986#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1987 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_PSSK2
1988#endif
1989 use pm_kind, only: SKG => SK2
1990 type(css_pdt(SKG)) , intent(inout) , contiguous :: array(:)
1991 integer(IK) , intent(in) , optional :: count
1992 type(xoshiro256ssw_type) , intent(inout) :: rng
1993 end subroutine
1994#endif
1995
1996#if SK1_ENABLED
1997 PURE module subroutine setShuffledRNGX_D1_PSSK1(rng, array, count)
1998#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1999 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_PSSK1
2000#endif
2001 use pm_kind, only: SKG => SK1
2002 type(css_pdt(SKG)) , intent(inout) , contiguous :: array(:)
2003 integer(IK) , intent(in) , optional :: count
2004 type(xoshiro256ssw_type) , intent(inout) :: rng
2005 end subroutine
2006#endif
2007
2008#endif
2009!PDT_ENABLED
2010
2011 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2012
2013 PURE module subroutine setShuffledRNGX_D1_BSSK(rng, array, count)
2014#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2015 !DEC$ ATTRIBUTES DLLEXPORT :: setShuffledRNGX_D1_BSSK
2016#endif
2017 use pm_kind, only: SKG => SK
2018 type(css_type) , intent(inout) , contiguous :: array(:)
2019 integer(IK) , intent(in) , optional :: count
2020 type(xoshiro256ssw_type) , intent(inout) :: rng
2021 end subroutine
2022
2023 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2024
2025 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2026 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2027 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2028
2029 end interface
2030
2031!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2032
2033end module pm_arrayShuffle ! LCOV_EXCL_LINE
Perform an unbiased random shuffling of the input array, known as the Knuth or Fisher-Yates shuffle,...
Perform an unbiased random shuffling of the input array, known as the Knuth or Fisher-Yates shuffle.
This module contains procedures and generic interfaces for shuffling arrays of various types.
character(*, SK), parameter MODULE_NAME
This module contains the derived types for generating allocatable containers of scalar,...
This module contains classes and procedures for computing various statistical quantities related to t...
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...
This is the css_type type for generating instances of container of scalar of string objects.
This is a concrete derived type whose instances can be used to define/request the default uniform ran...
This is the derived type for declaring and generating objects of type xoshiro256ssw_type containing a...