ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_arrayChoice.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
35
36!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
37
39
40 use pm_kind, only: SK, IK, LK
42
43 implicit none
44
45 character(*,SK), parameter :: MODULE_NAME = "@pm_arrayChoice"
46
47!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
48
137 interface getChoice
138
139 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
140 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
141 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
142
143 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
144
145#if SK5_ENABLED
146 module function getChoiceRNGD_D0_D0_SK5(array) result(choice)
147#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
148 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D0_D0_SK5
149#endif
150 use pm_kind, only: SKG => SK5
151 character(*,SKG) , intent(in) :: array
152 character(1,SKG) :: choice
153 end function
154#endif
155
156#if SK4_ENABLED
157 module function getChoiceRNGD_D0_D0_SK4(array) result(choice)
158#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
159 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D0_D0_SK4
160#endif
161 use pm_kind, only: SKG => SK4
162 character(*,SKG) , intent(in) :: array
163 character(1,SKG) :: choice
164 end function
165#endif
166
167#if SK3_ENABLED
168 module function getChoiceRNGD_D0_D0_SK3(array) result(choice)
169#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
170 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D0_D0_SK3
171#endif
172 use pm_kind, only: SKG => SK3
173 character(*,SKG) , intent(in) :: array
174 character(1,SKG) :: choice
175 end function
176#endif
177
178#if SK2_ENABLED
179 module function getChoiceRNGD_D0_D0_SK2(array) result(choice)
180#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
181 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D0_D0_SK2
182#endif
183 use pm_kind, only: SKG => SK2
184 character(*,SKG) , intent(in) :: array
185 character(1,SKG) :: choice
186 end function
187#endif
188
189#if SK1_ENABLED
190 module function getChoiceRNGD_D0_D0_SK1(array) result(choice)
191#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
192 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D0_D0_SK1
193#endif
194 use pm_kind, only: SKG => SK1
195 character(*,SKG) , intent(in) :: array
196 character(1,SKG) :: choice
197 end function
198#endif
199
200 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
201
202 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
203 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
204 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
205
206 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
207
208#if SK5_ENABLED
209 module function getChoiceRNGD_D1_D0_SK5(array) result(choice)
210#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
211 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D0_SK5
212#endif
213 use pm_kind, only: SKG => SK5
214 character(*,SKG) , intent(in) , contiguous :: array(:)
215 character(len(array,IK),SKG) :: choice
216 end function
217#endif
218
219#if SK4_ENABLED
220 module function getChoiceRNGD_D1_D0_SK4(array) result(choice)
221#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
222 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D0_SK4
223#endif
224 use pm_kind, only: SKG => SK4
225 character(*,SKG) , intent(in) , contiguous :: array(:)
226 character(len(array,IK),SKG) :: choice
227 end function
228#endif
229
230#if SK3_ENABLED
231 module function getChoiceRNGD_D1_D0_SK3(array) result(choice)
232#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
233 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D0_SK3
234#endif
235 use pm_kind, only: SKG => SK3
236 character(*,SKG) , intent(in) , contiguous :: array(:)
237 character(len(array,IK),SKG) :: choice
238 end function
239#endif
240
241#if SK2_ENABLED
242 module function getChoiceRNGD_D1_D0_SK2(array) result(choice)
243#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
244 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D0_SK2
245#endif
246 use pm_kind, only: SKG => SK2
247 character(*,SKG) , intent(in) , contiguous :: array(:)
248 character(len(array,IK),SKG) :: choice
249 end function
250#endif
251
252#if SK1_ENABLED
253 module function getChoiceRNGD_D1_D0_SK1(array) result(choice)
254#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
255 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D0_SK1
256#endif
257 use pm_kind, only: SKG => SK1
258 character(*,SKG) , intent(in) , contiguous :: array(:)
259 character(len(array,IK),SKG) :: choice
260 end function
261#endif
262
263 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
264
265#if IK5_ENABLED
266 module function getChoiceRNGD_D1_D0_IK5(array) result(choice)
267#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
268 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D0_IK5
269#endif
270 use pm_kind, only: IKG => IK5
271 integer(IKG) , intent(in) , contiguous :: array(:)
272 integer(IKG) :: choice
273 end function
274#endif
275
276#if IK4_ENABLED
277 module function getChoiceRNGD_D1_D0_IK4(array) result(choice)
278#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
279 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D0_IK4
280#endif
281 use pm_kind, only: IKG => IK4
282 integer(IKG) , intent(in) , contiguous :: array(:)
283 integer(IKG) :: choice
284 end function
285#endif
286
287#if IK3_ENABLED
288 module function getChoiceRNGD_D1_D0_IK3(array) result(choice)
289#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
290 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D0_IK3
291#endif
292 use pm_kind, only: IKG => IK3
293 integer(IKG) , intent(in) , contiguous :: array(:)
294 integer(IKG) :: choice
295 end function
296#endif
297
298#if IK2_ENABLED
299 module function getChoiceRNGD_D1_D0_IK2(array) result(choice)
300#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
301 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D0_IK2
302#endif
303 use pm_kind, only: IKG => IK2
304 integer(IKG) , intent(in) , contiguous :: array(:)
305 integer(IKG) :: choice
306 end function
307#endif
308
309#if IK1_ENABLED
310 module function getChoiceRNGD_D1_D0_IK1(array) result(choice)
311#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
312 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D0_IK1
313#endif
314 use pm_kind, only: IKG => IK1
315 integer(IKG) , intent(in) , contiguous :: array(:)
316 integer(IKG) :: choice
317 end function
318#endif
319
320 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
321
322#if LK5_ENABLED
323 module function getChoiceRNGD_D1_D0_LK5(array) result(choice)
324#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
325 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D0_LK5
326#endif
327 use pm_kind, only: LKG => LK5
328 logical(LKG) , intent(in) , contiguous :: array(:)
329 logical(LKG) :: choice
330 end function
331#endif
332
333#if LK4_ENABLED
334 module function getChoiceRNGD_D1_D0_LK4(array) result(choice)
335#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
336 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D0_LK4
337#endif
338 use pm_kind, only: LKG => LK4
339 logical(LKG) , intent(in) , contiguous :: array(:)
340 logical(LKG) :: choice
341 end function
342#endif
343
344#if LK3_ENABLED
345 module function getChoiceRNGD_D1_D0_LK3(array) result(choice)
346#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
347 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D0_LK3
348#endif
349 use pm_kind, only: LKG => LK3
350 logical(LKG) , intent(in) , contiguous :: array(:)
351 logical(LKG) :: choice
352 end function
353#endif
354
355#if LK2_ENABLED
356 module function getChoiceRNGD_D1_D0_LK2(array) result(choice)
357#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
358 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D0_LK2
359#endif
360 use pm_kind, only: LKG => LK2
361 logical(LKG) , intent(in) , contiguous :: array(:)
362 logical(LKG) :: choice
363 end function
364#endif
365
366#if LK1_ENABLED
367 module function getChoiceRNGD_D1_D0_LK1(array) result(choice)
368#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
369 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D0_LK1
370#endif
371 use pm_kind, only: LKG => LK1
372 logical(LKG) , intent(in) , contiguous :: array(:)
373 logical(LKG) :: choice
374 end function
375#endif
376
377 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
378
379#if CK5_ENABLED
380 module function getChoiceRNGD_D1_D0_CK5(array) result(choice)
381#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
382 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D0_CK5
383#endif
384 use pm_kind, only: CKG => CK5
385 complex(CKG) , intent(in) , contiguous :: array(:)
386 complex(CKG) :: choice
387 end function
388#endif
389
390#if CK4_ENABLED
391 module function getChoiceRNGD_D1_D0_CK4(array) result(choice)
392#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
393 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D0_CK4
394#endif
395 use pm_kind, only: CKG => CK4
396 complex(CKG) , intent(in) , contiguous :: array(:)
397 complex(CKG) :: choice
398 end function
399#endif
400
401#if CK3_ENABLED
402 module function getChoiceRNGD_D1_D0_CK3(array) result(choice)
403#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
404 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D0_CK3
405#endif
406 use pm_kind, only: CKG => CK3
407 complex(CKG) , intent(in) , contiguous :: array(:)
408 complex(CKG) :: choice
409 end function
410#endif
411
412#if CK2_ENABLED
413 module function getChoiceRNGD_D1_D0_CK2(array) result(choice)
414#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
415 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D0_CK2
416#endif
417 use pm_kind, only: CKG => CK2
418 complex(CKG) , intent(in) , contiguous :: array(:)
419 complex(CKG) :: choice
420 end function
421#endif
422
423#if CK1_ENABLED
424 module function getChoiceRNGD_D1_D0_CK1(array) result(choice)
425#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
426 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D0_CK1
427#endif
428 use pm_kind, only: CKG => CK1
429 complex(CKG) , intent(in) , contiguous :: array(:)
430 complex(CKG) :: choice
431 end function
432#endif
433
434 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
435
436#if RK5_ENABLED
437 module function getChoiceRNGD_D1_D0_RK5(array) result(choice)
438#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
439 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D0_RK5
440#endif
441 use pm_kind, only: RKG => RK5
442 real(RKG) , intent(in) , contiguous :: array(:)
443 real(RKG) :: choice
444 end function
445#endif
446
447#if RK4_ENABLED
448 module function getChoiceRNGD_D1_D0_RK4(array) result(choice)
449#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
450 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D0_RK4
451#endif
452 use pm_kind, only: RKG => RK4
453 real(RKG) , intent(in) , contiguous :: array(:)
454 real(RKG) :: choice
455 end function
456#endif
457
458#if RK3_ENABLED
459 module function getChoiceRNGD_D1_D0_RK3(array) result(choice)
460#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
461 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D0_RK3
462#endif
463 use pm_kind, only: RKG => RK3
464 real(RKG) , intent(in) , contiguous :: array(:)
465 real(RKG) :: choice
466 end function
467#endif
468
469#if RK2_ENABLED
470 module function getChoiceRNGD_D1_D0_RK2(array) result(choice)
471#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
472 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D0_RK2
473#endif
474 use pm_kind, only: RKG => RK2
475 real(RKG) , intent(in) , contiguous :: array(:)
476 real(RKG) :: choice
477 end function
478#endif
479
480#if RK1_ENABLED
481 module function getChoiceRNGD_D1_D0_RK1(array) result(choice)
482#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
483 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D0_RK1
484#endif
485 use pm_kind, only: RKG => RK1
486 real(RKG) , intent(in) , contiguous :: array(:)
487 real(RKG) :: choice
488 end function
489#endif
490
491 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
492
493 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
494 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
495 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
496
497 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
498
499#if SK5_ENABLED
500 module function getChoiceRNGD_D0_S1_SK5(array, s1, unique) result(choice)
501#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
502 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D0_S1_SK5
503#endif
504 use pm_kind, only: SKG => SK5
505 integer(IK) , intent(in) :: s1
506 logical(LK) , intent(in) , optional :: unique
507 character(*,SKG) , intent(in) :: array
508 character(s1,SKG) :: choice
509 end function
510#endif
511
512#if SK4_ENABLED
513 module function getChoiceRNGD_D0_S1_SK4(array, s1, unique) result(choice)
514#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
515 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D0_S1_SK4
516#endif
517 use pm_kind, only: SKG => SK4
518 integer(IK) , intent(in) :: s1
519 logical(LK) , intent(in) , optional :: unique
520 character(*,SKG) , intent(in) :: array
521 character(s1,SKG) :: choice
522 end function
523#endif
524
525#if SK3_ENABLED
526 module function getChoiceRNGD_D0_S1_SK3(array, s1, unique) result(choice)
527#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
528 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D0_S1_SK3
529#endif
530 use pm_kind, only: SKG => SK3
531 integer(IK) , intent(in) :: s1
532 logical(LK) , intent(in) , optional :: unique
533 character(*,SKG) , intent(in) :: array
534 character(s1,SKG) :: choice
535 end function
536#endif
537
538#if SK2_ENABLED
539 module function getChoiceRNGD_D0_S1_SK2(array, s1, unique) result(choice)
540#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
541 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D0_S1_SK2
542#endif
543 use pm_kind, only: SKG => SK2
544 integer(IK) , intent(in) :: s1
545 logical(LK) , intent(in) , optional :: unique
546 character(*,SKG) , intent(in) :: array
547 character(s1,SKG) :: choice
548 end function
549#endif
550
551#if SK1_ENABLED
552 module function getChoiceRNGD_D0_S1_SK1(array, s1, unique) result(choice)
553#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
554 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D0_S1_SK1
555#endif
556 use pm_kind, only: SKG => SK1
557 integer(IK) , intent(in) :: s1
558 logical(LK) , intent(in) , optional :: unique
559 character(*,SKG) , intent(in) :: array
560 character(s1,SKG) :: choice
561 end function
562#endif
563
564 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
565
566 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
567 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
568 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
569
570 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
571
572#if SK5_ENABLED
573 module function getChoiceRNGD_D1_D1_SK5(array, s1, unique) result(choice)
574#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
575 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D1_SK5
576#endif
577 use pm_kind, only: SKG => SK5
578 integer(IK) , intent(in) :: s1
579 logical(LK) , intent(in) , optional :: unique
580 character(*,SKG) , intent(in) , contiguous :: array(:)
581 character(len(array,IK),SKG) :: choice(s1)
582 end function
583#endif
584
585#if SK4_ENABLED
586 module function getChoiceRNGD_D1_D1_SK4(array, s1, unique) result(choice)
587#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
588 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D1_SK4
589#endif
590 use pm_kind, only: SKG => SK4
591 integer(IK) , intent(in) :: s1
592 logical(LK) , intent(in) , optional :: unique
593 character(*,SKG) , intent(in) , contiguous :: array(:)
594 character(len(array,IK),SKG) :: choice(s1)
595 end function
596#endif
597
598#if SK3_ENABLED
599 module function getChoiceRNGD_D1_D1_SK3(array, s1, unique) result(choice)
600#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
601 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D1_SK3
602#endif
603 use pm_kind, only: SKG => SK3
604 integer(IK) , intent(in) :: s1
605 logical(LK) , intent(in) , optional :: unique
606 character(*,SKG) , intent(in) , contiguous :: array(:)
607 character(len(array,IK),SKG) :: choice(s1)
608 end function
609#endif
610
611#if SK2_ENABLED
612 module function getChoiceRNGD_D1_D1_SK2(array, s1, unique) result(choice)
613#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
614 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D1_SK2
615#endif
616 use pm_kind, only: SKG => SK2
617 integer(IK) , intent(in) :: s1
618 logical(LK) , intent(in) , optional :: unique
619 character(*,SKG) , intent(in) , contiguous :: array(:)
620 character(len(array,IK),SKG) :: choice(s1)
621 end function
622#endif
623
624#if SK1_ENABLED
625 module function getChoiceRNGD_D1_D1_SK1(array, s1, unique) result(choice)
626#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
627 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D1_SK1
628#endif
629 use pm_kind, only: SKG => SK1
630 integer(IK) , intent(in) :: s1
631 logical(LK) , intent(in) , optional :: unique
632 character(*,SKG) , intent(in) , contiguous :: array(:)
633 character(len(array,IK),SKG) :: choice(s1)
634 end function
635#endif
636
637 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
638
639#if IK5_ENABLED
640 module function getChoiceRNGD_D1_D1_IK5(array, s1, unique) result(choice)
641#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
642 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D1_IK5
643#endif
644 use pm_kind, only: IKG => IK5
645 integer(IK) , intent(in) :: s1
646 logical(LK) , intent(in) , optional :: unique
647 integer(IKG) , intent(in) , contiguous :: array(:)
648 integer(IKG) :: choice(s1)
649 end function
650#endif
651
652#if IK4_ENABLED
653 module function getChoiceRNGD_D1_D1_IK4(array, s1, unique) result(choice)
654#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
655 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D1_IK4
656#endif
657 use pm_kind, only: IKG => IK4
658 integer(IK) , intent(in) :: s1
659 logical(LK) , intent(in) , optional :: unique
660 integer(IKG) , intent(in) , contiguous :: array(:)
661 integer(IKG) :: choice(s1)
662 end function
663#endif
664
665#if IK3_ENABLED
666 module function getChoiceRNGD_D1_D1_IK3(array, s1, unique) result(choice)
667#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
668 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D1_IK3
669#endif
670 use pm_kind, only: IKG => IK3
671 integer(IK) , intent(in) :: s1
672 logical(LK) , intent(in) , optional :: unique
673 integer(IKG) , intent(in) , contiguous :: array(:)
674 integer(IKG) :: choice(s1)
675 end function
676#endif
677
678#if IK2_ENABLED
679 module function getChoiceRNGD_D1_D1_IK2(array, s1, unique) result(choice)
680#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
681 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D1_IK2
682#endif
683 use pm_kind, only: IKG => IK2
684 integer(IK) , intent(in) :: s1
685 logical(LK) , intent(in) , optional :: unique
686 integer(IKG) , intent(in) , contiguous :: array(:)
687 integer(IKG) :: choice(s1)
688 end function
689#endif
690
691#if IK1_ENABLED
692 module function getChoiceRNGD_D1_D1_IK1(array, s1, unique) result(choice)
693#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
694 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D1_IK1
695#endif
696 use pm_kind, only: IKG => IK1
697 integer(IK) , intent(in) :: s1
698 logical(LK) , intent(in) , optional :: unique
699 integer(IKG) , intent(in) , contiguous :: array(:)
700 integer(IKG) :: choice(s1)
701 end function
702#endif
703
704 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
705
706#if LK5_ENABLED
707 module function getChoiceRNGD_D1_D1_LK5(array, s1, unique) result(choice)
708#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
709 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D1_LK5
710#endif
711 use pm_kind, only: LKG => LK5
712 integer(IK) , intent(in) :: s1
713 logical(LK) , intent(in) , optional :: unique
714 logical(LKG) , intent(in) , contiguous :: array(:)
715 logical(LKG) :: choice(s1)
716 end function
717#endif
718
719#if LK4_ENABLED
720 module function getChoiceRNGD_D1_D1_LK4(array, s1, unique) result(choice)
721#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
722 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D1_LK4
723#endif
724 use pm_kind, only: LKG => LK4
725 integer(IK) , intent(in) :: s1
726 logical(LK) , intent(in) , optional :: unique
727 logical(LKG) , intent(in) , contiguous :: array(:)
728 logical(LKG) :: choice(s1)
729 end function
730#endif
731
732#if LK3_ENABLED
733 module function getChoiceRNGD_D1_D1_LK3(array, s1, unique) result(choice)
734#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
735 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D1_LK3
736#endif
737 use pm_kind, only: LKG => LK3
738 integer(IK) , intent(in) :: s1
739 logical(LK) , intent(in) , optional :: unique
740 logical(LKG) , intent(in) , contiguous :: array(:)
741 logical(LKG) :: choice(s1)
742 end function
743#endif
744
745#if LK2_ENABLED
746 module function getChoiceRNGD_D1_D1_LK2(array, s1, unique) result(choice)
747#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
748 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D1_LK2
749#endif
750 use pm_kind, only: LKG => LK2
751 integer(IK) , intent(in) :: s1
752 logical(LK) , intent(in) , optional :: unique
753 logical(LKG) , intent(in) , contiguous :: array(:)
754 logical(LKG) :: choice(s1)
755 end function
756#endif
757
758#if LK1_ENABLED
759 module function getChoiceRNGD_D1_D1_LK1(array, s1, unique) result(choice)
760#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
761 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D1_LK1
762#endif
763 use pm_kind, only: LKG => LK1
764 integer(IK) , intent(in) :: s1
765 logical(LK) , intent(in) , optional :: unique
766 logical(LKG) , intent(in) , contiguous :: array(:)
767 logical(LKG) :: choice(s1)
768 end function
769#endif
770
771 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
772
773#if CK5_ENABLED
774 module function getChoiceRNGD_D1_D1_CK5(array, s1, unique) result(choice)
775#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
776 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D1_CK5
777#endif
778 use pm_kind, only: CKG => CK5
779 integer(IK) , intent(in) :: s1
780 logical(LK) , intent(in) , optional :: unique
781 complex(CKG) , intent(in) , contiguous :: array(:)
782 complex(CKG) :: choice(s1)
783 end function
784#endif
785
786#if CK4_ENABLED
787 module function getChoiceRNGD_D1_D1_CK4(array, s1, unique) result(choice)
788#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
789 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D1_CK4
790#endif
791 use pm_kind, only: CKG => CK4
792 integer(IK) , intent(in) :: s1
793 logical(LK) , intent(in) , optional :: unique
794 complex(CKG) , intent(in) , contiguous :: array(:)
795 complex(CKG) :: choice(s1)
796 end function
797#endif
798
799#if CK3_ENABLED
800 module function getChoiceRNGD_D1_D1_CK3(array, s1, unique) result(choice)
801#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
802 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D1_CK3
803#endif
804 use pm_kind, only: CKG => CK3
805 integer(IK) , intent(in) :: s1
806 logical(LK) , intent(in) , optional :: unique
807 complex(CKG) , intent(in) , contiguous :: array(:)
808 complex(CKG) :: choice(s1)
809 end function
810#endif
811
812#if CK2_ENABLED
813 module function getChoiceRNGD_D1_D1_CK2(array, s1, unique) result(choice)
814#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
815 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D1_CK2
816#endif
817 use pm_kind, only: CKG => CK2
818 integer(IK) , intent(in) :: s1
819 logical(LK) , intent(in) , optional :: unique
820 complex(CKG) , intent(in) , contiguous :: array(:)
821 complex(CKG) :: choice(s1)
822 end function
823#endif
824
825#if CK1_ENABLED
826 module function getChoiceRNGD_D1_D1_CK1(array, s1, unique) result(choice)
827#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
828 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D1_CK1
829#endif
830 use pm_kind, only: CKG => CK1
831 integer(IK) , intent(in) :: s1
832 logical(LK) , intent(in) , optional :: unique
833 complex(CKG) , intent(in) , contiguous :: array(:)
834 complex(CKG) :: choice(s1)
835 end function
836#endif
837
838 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
839
840#if RK5_ENABLED
841 module function getChoiceRNGD_D1_D1_RK5(array, s1, unique) result(choice)
842#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
843 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D1_RK5
844#endif
845 use pm_kind, only: RKG => RK5
846 integer(IK) , intent(in) :: s1
847 logical(LK) , intent(in) , optional :: unique
848 real(RKG) , intent(in) , contiguous :: array(:)
849 real(RKG) :: choice(s1)
850 end function
851#endif
852
853#if RK4_ENABLED
854 module function getChoiceRNGD_D1_D1_RK4(array, s1, unique) result(choice)
855#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
856 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D1_RK4
857#endif
858 use pm_kind, only: RKG => RK4
859 integer(IK) , intent(in) :: s1
860 logical(LK) , intent(in) , optional :: unique
861 real(RKG) , intent(in) , contiguous :: array(:)
862 real(RKG) :: choice(s1)
863 end function
864#endif
865
866#if RK3_ENABLED
867 module function getChoiceRNGD_D1_D1_RK3(array, s1, unique) result(choice)
868#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
869 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D1_RK3
870#endif
871 use pm_kind, only: RKG => RK3
872 integer(IK) , intent(in) :: s1
873 logical(LK) , intent(in) , optional :: unique
874 real(RKG) , intent(in) , contiguous :: array(:)
875 real(RKG) :: choice(s1)
876 end function
877#endif
878
879#if RK2_ENABLED
880 module function getChoiceRNGD_D1_D1_RK2(array, s1, unique) result(choice)
881#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
882 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D1_RK2
883#endif
884 use pm_kind, only: RKG => RK2
885 integer(IK) , intent(in) :: s1
886 logical(LK) , intent(in) , optional :: unique
887 real(RKG) , intent(in) , contiguous :: array(:)
888 real(RKG) :: choice(s1)
889 end function
890#endif
891
892#if RK1_ENABLED
893 module function getChoiceRNGD_D1_D1_RK1(array, s1, unique) result(choice)
894#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
895 !DEC$ ATTRIBUTES DLLEXPORT :: getChoiceRNGD_D1_D1_RK1
896#endif
897 use pm_kind, only: RKG => RK1
898 integer(IK) , intent(in) :: s1
899 logical(LK) , intent(in) , optional :: unique
900 real(RKG) , intent(in) , contiguous :: array(:)
901 real(RKG) :: choice(s1)
902 end function
903#endif
904
905 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
906
907 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
908 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
909 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
910
911 end interface
912
913!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
914
987 interface setChoice
988
989 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
990 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
991 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
992
993 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
994 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
995 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
996
997 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
998
999#if SK5_ENABLED
1000 module subroutine setChoiceRNGF_D0_D0_SK5(rng, choice, array, unique)
1001#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1002 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D0_D0_SK5
1003#endif
1004 use pm_kind, only: SKG => SK5
1005 logical(LK) , intent(in) , optional :: unique
1006 character(*,SKG) , intent(in) :: array
1007 character(*,SKG) , intent(out) :: choice
1008 type(rngf_type) , intent(in) :: rng
1009 end subroutine
1010#endif
1011
1012#if SK4_ENABLED
1013 module subroutine setChoiceRNGF_D0_D0_SK4(rng, choice, array, unique)
1014#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1015 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D0_D0_SK4
1016#endif
1017 use pm_kind, only: SKG => SK4
1018 logical(LK) , intent(in) , optional :: unique
1019 character(*,SKG) , intent(in) :: array
1020 character(*,SKG) , intent(out) :: choice
1021 type(rngf_type) , intent(in) :: rng
1022 end subroutine
1023#endif
1024
1025#if SK3_ENABLED
1026 module subroutine setChoiceRNGF_D0_D0_SK3(rng, choice, array, unique)
1027#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1028 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D0_D0_SK3
1029#endif
1030 use pm_kind, only: SKG => SK3
1031 logical(LK) , intent(in) , optional :: unique
1032 character(*,SKG) , intent(in) :: array
1033 character(*,SKG) , intent(out) :: choice
1034 type(rngf_type) , intent(in) :: rng
1035 end subroutine
1036#endif
1037
1038#if SK2_ENABLED
1039 module subroutine setChoiceRNGF_D0_D0_SK2(rng, choice, array, unique)
1040#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1041 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D0_D0_SK2
1042#endif
1043 use pm_kind, only: SKG => SK2
1044 logical(LK) , intent(in) , optional :: unique
1045 character(*,SKG) , intent(in) :: array
1046 character(*,SKG) , intent(out) :: choice
1047 type(rngf_type) , intent(in) :: rng
1048 end subroutine
1049#endif
1050
1051#if SK1_ENABLED
1052 module subroutine setChoiceRNGF_D0_D0_SK1(rng, choice, array, unique)
1053#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1054 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D0_D0_SK1
1055#endif
1056 use pm_kind, only: SKG => SK1
1057 logical(LK) , intent(in) , optional :: unique
1058 character(*,SKG) , intent(in) :: array
1059 character(*,SKG) , intent(out) :: choice
1060 type(rngf_type) , intent(in) :: rng
1061 end subroutine
1062#endif
1063
1064 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1065
1066 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1067 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1068 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1069
1070 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1071
1072#if SK5_ENABLED
1073 module subroutine setChoiceRNGF_D1_D0_SK5(rng, choice, array)
1074#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1075 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D0_SK5
1076#endif
1077 use pm_kind, only: SKG => SK5
1078 character(*,SKG) , intent(in) , contiguous :: array(:)
1079 character(len(array,IK),SKG), intent(out) :: choice
1080 type(rngf_type) , intent(in) :: rng
1081 end subroutine
1082#endif
1083
1084#if SK4_ENABLED
1085 module subroutine setChoiceRNGF_D1_D0_SK4(rng, choice, array)
1086#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1087 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D0_SK4
1088#endif
1089 use pm_kind, only: SKG => SK4
1090 character(*,SKG) , intent(in) , contiguous :: array(:)
1091 character(len(array,IK),SKG), intent(out) :: choice
1092 type(rngf_type) , intent(in) :: rng
1093 end subroutine
1094#endif
1095
1096#if SK3_ENABLED
1097 module subroutine setChoiceRNGF_D1_D0_SK3(rng, choice, array)
1098#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1099 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D0_SK3
1100#endif
1101 use pm_kind, only: SKG => SK3
1102 character(*,SKG) , intent(in) , contiguous :: array(:)
1103 character(len(array,IK),SKG), intent(out) :: choice
1104 type(rngf_type) , intent(in) :: rng
1105 end subroutine
1106#endif
1107
1108#if SK2_ENABLED
1109 module subroutine setChoiceRNGF_D1_D0_SK2(rng, choice, array)
1110#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1111 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D0_SK2
1112#endif
1113 use pm_kind, only: SKG => SK2
1114 character(*,SKG) , intent(in) , contiguous :: array(:)
1115 character(len(array,IK),SKG), intent(out) :: choice
1116 type(rngf_type) , intent(in) :: rng
1117 end subroutine
1118#endif
1119
1120#if SK1_ENABLED
1121 module subroutine setChoiceRNGF_D1_D0_SK1(rng, choice, array)
1122#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1123 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D0_SK1
1124#endif
1125 use pm_kind, only: SKG => SK1
1126 character(*,SKG) , intent(in) , contiguous :: array(:)
1127 character(len(array,IK),SKG), intent(out) :: choice
1128 type(rngf_type) , intent(in) :: rng
1129 end subroutine
1130#endif
1131
1132 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1133
1134#if IK5_ENABLED
1135 module subroutine setChoiceRNGF_D1_D0_IK5(rng, choice, array)
1136#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1137 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D0_IK5
1138#endif
1139 use pm_kind, only: IKG => IK5
1140 integer(IKG) , intent(in) , contiguous :: array(:)
1141 integer(IKG) , intent(out) :: choice
1142 type(rngf_type) , intent(in) :: rng
1143 end subroutine
1144#endif
1145
1146#if IK4_ENABLED
1147 module subroutine setChoiceRNGF_D1_D0_IK4(rng, choice, array)
1148#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1149 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D0_IK4
1150#endif
1151 use pm_kind, only: IKG => IK4
1152 integer(IKG) , intent(in) , contiguous :: array(:)
1153 integer(IKG) , intent(out) :: choice
1154 type(rngf_type) , intent(in) :: rng
1155 end subroutine
1156#endif
1157
1158#if IK3_ENABLED
1159 module subroutine setChoiceRNGF_D1_D0_IK3(rng, choice, array)
1160#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1161 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D0_IK3
1162#endif
1163 use pm_kind, only: IKG => IK3
1164 integer(IKG) , intent(in) , contiguous :: array(:)
1165 integer(IKG) , intent(out) :: choice
1166 type(rngf_type) , intent(in) :: rng
1167 end subroutine
1168#endif
1169
1170#if IK2_ENABLED
1171 module subroutine setChoiceRNGF_D1_D0_IK2(rng, choice, array)
1172#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1173 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D0_IK2
1174#endif
1175 use pm_kind, only: IKG => IK2
1176 integer(IKG) , intent(in) , contiguous :: array(:)
1177 integer(IKG) , intent(out) :: choice
1178 type(rngf_type) , intent(in) :: rng
1179 end subroutine
1180#endif
1181
1182#if IK1_ENABLED
1183 module subroutine setChoiceRNGF_D1_D0_IK1(rng, choice, array)
1184#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1185 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D0_IK1
1186#endif
1187 use pm_kind, only: IKG => IK1
1188 integer(IKG) , intent(in) , contiguous :: array(:)
1189 integer(IKG) , intent(out) :: choice
1190 type(rngf_type) , intent(in) :: rng
1191 end subroutine
1192#endif
1193
1194 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1195
1196#if LK5_ENABLED
1197 module subroutine setChoiceRNGF_D1_D0_LK5(rng, choice, array)
1198#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1199 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D0_LK5
1200#endif
1201 use pm_kind, only: LKG => LK5
1202 logical(LKG) , intent(in) , contiguous :: array(:)
1203 logical(LKG) , intent(out) :: choice
1204 type(rngf_type) , intent(in) :: rng
1205 end subroutine
1206#endif
1207
1208#if LK4_ENABLED
1209 module subroutine setChoiceRNGF_D1_D0_LK4(rng, choice, array)
1210#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1211 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D0_LK4
1212#endif
1213 use pm_kind, only: LKG => LK4
1214 logical(LKG) , intent(in) , contiguous :: array(:)
1215 logical(LKG) , intent(out) :: choice
1216 type(rngf_type) , intent(in) :: rng
1217 end subroutine
1218#endif
1219
1220#if LK3_ENABLED
1221 module subroutine setChoiceRNGF_D1_D0_LK3(rng, choice, array)
1222#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1223 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D0_LK3
1224#endif
1225 use pm_kind, only: LKG => LK3
1226 logical(LKG) , intent(in) , contiguous :: array(:)
1227 logical(LKG) , intent(out) :: choice
1228 type(rngf_type) , intent(in) :: rng
1229 end subroutine
1230#endif
1231
1232#if LK2_ENABLED
1233 module subroutine setChoiceRNGF_D1_D0_LK2(rng, choice, array)
1234#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1235 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D0_LK2
1236#endif
1237 use pm_kind, only: LKG => LK2
1238 logical(LKG) , intent(in) , contiguous :: array(:)
1239 logical(LKG) , intent(out) :: choice
1240 type(rngf_type) , intent(in) :: rng
1241 end subroutine
1242#endif
1243
1244#if LK1_ENABLED
1245 module subroutine setChoiceRNGF_D1_D0_LK1(rng, choice, array)
1246#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1247 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D0_LK1
1248#endif
1249 use pm_kind, only: LKG => LK1
1250 logical(LKG) , intent(in) , contiguous :: array(:)
1251 logical(LKG) , intent(out) :: choice
1252 type(rngf_type) , intent(in) :: rng
1253 end subroutine
1254#endif
1255
1256 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1257
1258#if CK5_ENABLED
1259 module subroutine setChoiceRNGF_D1_D0_CK5(rng, choice, array)
1260#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1261 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D0_CK5
1262#endif
1263 use pm_kind, only: CKG => CK5
1264 complex(CKG) , intent(in) , contiguous :: array(:)
1265 complex(CKG) , intent(out) :: choice
1266 type(rngf_type) , intent(in) :: rng
1267 end subroutine
1268#endif
1269
1270#if CK4_ENABLED
1271 module subroutine setChoiceRNGF_D1_D0_CK4(rng, choice, array)
1272#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1273 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D0_CK4
1274#endif
1275 use pm_kind, only: CKG => CK4
1276 complex(CKG) , intent(in) , contiguous :: array(:)
1277 complex(CKG) , intent(out) :: choice
1278 type(rngf_type) , intent(in) :: rng
1279 end subroutine
1280#endif
1281
1282#if CK3_ENABLED
1283 module subroutine setChoiceRNGF_D1_D0_CK3(rng, choice, array)
1284#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1285 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D0_CK3
1286#endif
1287 use pm_kind, only: CKG => CK3
1288 complex(CKG) , intent(in) , contiguous :: array(:)
1289 complex(CKG) , intent(out) :: choice
1290 type(rngf_type) , intent(in) :: rng
1291 end subroutine
1292#endif
1293
1294#if CK2_ENABLED
1295 module subroutine setChoiceRNGF_D1_D0_CK2(rng, choice, array)
1296#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1297 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D0_CK2
1298#endif
1299 use pm_kind, only: CKG => CK2
1300 complex(CKG) , intent(in) , contiguous :: array(:)
1301 complex(CKG) , intent(out) :: choice
1302 type(rngf_type) , intent(in) :: rng
1303 end subroutine
1304#endif
1305
1306#if CK1_ENABLED
1307 module subroutine setChoiceRNGF_D1_D0_CK1(rng, choice, array)
1308#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1309 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D0_CK1
1310#endif
1311 use pm_kind, only: CKG => CK1
1312 complex(CKG) , intent(in) , contiguous :: array(:)
1313 complex(CKG) , intent(out) :: choice
1314 type(rngf_type) , intent(in) :: rng
1315 end subroutine
1316#endif
1317
1318 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1319
1320#if RK5_ENABLED
1321 module subroutine setChoiceRNGF_D1_D0_RK5(rng, choice, array)
1322#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1323 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D0_RK5
1324#endif
1325 use pm_kind, only: RKG => RK5
1326 real(RKG) , intent(in) , contiguous :: array(:)
1327 real(RKG) , intent(out) :: choice
1328 type(rngf_type) , intent(in) :: rng
1329 end subroutine
1330#endif
1331
1332#if RK4_ENABLED
1333 module subroutine setChoiceRNGF_D1_D0_RK4(rng, choice, array)
1334#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1335 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D0_RK4
1336#endif
1337 use pm_kind, only: RKG => RK4
1338 real(RKG) , intent(in) , contiguous :: array(:)
1339 real(RKG) , intent(out) :: choice
1340 type(rngf_type) , intent(in) :: rng
1341 end subroutine
1342#endif
1343
1344#if RK3_ENABLED
1345 module subroutine setChoiceRNGF_D1_D0_RK3(rng, choice, array)
1346#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1347 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D0_RK3
1348#endif
1349 use pm_kind, only: RKG => RK3
1350 real(RKG) , intent(in) , contiguous :: array(:)
1351 real(RKG) , intent(out) :: choice
1352 type(rngf_type) , intent(in) :: rng
1353 end subroutine
1354#endif
1355
1356#if RK2_ENABLED
1357 module subroutine setChoiceRNGF_D1_D0_RK2(rng, choice, array)
1358#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1359 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D0_RK2
1360#endif
1361 use pm_kind, only: RKG => RK2
1362 real(RKG) , intent(in) , contiguous :: array(:)
1363 real(RKG) , intent(out) :: choice
1364 type(rngf_type) , intent(in) :: rng
1365 end subroutine
1366#endif
1367
1368#if RK1_ENABLED
1369 module subroutine setChoiceRNGF_D1_D0_RK1(rng, choice, array)
1370#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1371 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D0_RK1
1372#endif
1373 use pm_kind, only: RKG => RK1
1374 real(RKG) , intent(in) , contiguous :: array(:)
1375 real(RKG) , intent(out) :: choice
1376 type(rngf_type) , intent(in) :: rng
1377 end subroutine
1378#endif
1379
1380 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1381
1382 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1383 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1384 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1385
1386 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1387
1388#if SK5_ENABLED
1389 module subroutine setChoiceRNGF_D1_D1_SK5(rng, choice, array, unique)
1390#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1391 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D1_SK5
1392#endif
1393 use pm_kind, only: SKG => SK5
1394 logical(LK) , intent(in) , optional :: unique
1395 character(*,SKG) , intent(in) , contiguous :: array(:)
1396 character(len(array,IK),SKG), intent(out) , contiguous :: choice(:)
1397 type(rngf_type) , intent(in) :: rng
1398 end subroutine
1399#endif
1400
1401#if SK4_ENABLED
1402 module subroutine setChoiceRNGF_D1_D1_SK4(rng, choice, array, unique)
1403#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1404 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D1_SK4
1405#endif
1406 use pm_kind, only: SKG => SK4
1407 logical(LK) , intent(in) , optional :: unique
1408 character(*,SKG) , intent(in) , contiguous :: array(:)
1409 character(len(array,IK),SKG), intent(out) , contiguous :: choice(:)
1410 type(rngf_type) , intent(in) :: rng
1411 end subroutine
1412#endif
1413
1414#if SK3_ENABLED
1415 module subroutine setChoiceRNGF_D1_D1_SK3(rng, choice, array, unique)
1416#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1417 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D1_SK3
1418#endif
1419 use pm_kind, only: SKG => SK3
1420 logical(LK) , intent(in) , optional :: unique
1421 character(*,SKG) , intent(in) , contiguous :: array(:)
1422 character(len(array,IK),SKG), intent(out) , contiguous :: choice(:)
1423 type(rngf_type) , intent(in) :: rng
1424 end subroutine
1425#endif
1426
1427#if SK2_ENABLED
1428 module subroutine setChoiceRNGF_D1_D1_SK2(rng, choice, array, unique)
1429#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1430 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D1_SK2
1431#endif
1432 use pm_kind, only: SKG => SK2
1433 logical(LK) , intent(in) , optional :: unique
1434 character(*,SKG) , intent(in) , contiguous :: array(:)
1435 character(len(array,IK),SKG), intent(out) , contiguous :: choice(:)
1436 type(rngf_type) , intent(in) :: rng
1437 end subroutine
1438#endif
1439
1440#if SK1_ENABLED
1441 module subroutine setChoiceRNGF_D1_D1_SK1(rng, choice, array, unique)
1442#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1443 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D1_SK1
1444#endif
1445 use pm_kind, only: SKG => SK1
1446 logical(LK) , intent(in) , optional :: unique
1447 character(*,SKG) , intent(in) , contiguous :: array(:)
1448 character(len(array,IK),SKG), intent(out) , contiguous :: choice(:)
1449 type(rngf_type) , intent(in) :: rng
1450 end subroutine
1451#endif
1452
1453 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1454
1455#if IK5_ENABLED
1456 module subroutine setChoiceRNGF_D1_D1_IK5(rng, choice, array, unique)
1457#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1458 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D1_IK5
1459#endif
1460 use pm_kind, only: IKG => IK5
1461 logical(LK) , intent(in) , optional :: unique
1462 integer(IKG) , intent(in) , contiguous :: array(:)
1463 integer(IKG) , intent(out) , contiguous :: choice(:)
1464 type(rngf_type) , intent(in) :: rng
1465 end subroutine
1466#endif
1467
1468#if IK4_ENABLED
1469 module subroutine setChoiceRNGF_D1_D1_IK4(rng, choice, array, unique)
1470#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1471 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D1_IK4
1472#endif
1473 use pm_kind, only: IKG => IK4
1474 logical(LK) , intent(in) , optional :: unique
1475 integer(IKG) , intent(in) , contiguous :: array(:)
1476 integer(IKG) , intent(out) , contiguous :: choice(:)
1477 type(rngf_type) , intent(in) :: rng
1478 end subroutine
1479#endif
1480
1481#if IK3_ENABLED
1482 module subroutine setChoiceRNGF_D1_D1_IK3(rng, choice, array, unique)
1483#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1484 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D1_IK3
1485#endif
1486 use pm_kind, only: IKG => IK3
1487 logical(LK) , intent(in) , optional :: unique
1488 integer(IKG) , intent(in) , contiguous :: array(:)
1489 integer(IKG) , intent(out) , contiguous :: choice(:)
1490 type(rngf_type) , intent(in) :: rng
1491 end subroutine
1492#endif
1493
1494#if IK2_ENABLED
1495 module subroutine setChoiceRNGF_D1_D1_IK2(rng, choice, array, unique)
1496#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1497 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D1_IK2
1498#endif
1499 use pm_kind, only: IKG => IK2
1500 logical(LK) , intent(in) , optional :: unique
1501 integer(IKG) , intent(in) , contiguous :: array(:)
1502 integer(IKG) , intent(out) , contiguous :: choice(:)
1503 type(rngf_type) , intent(in) :: rng
1504 end subroutine
1505#endif
1506
1507#if IK1_ENABLED
1508 module subroutine setChoiceRNGF_D1_D1_IK1(rng, choice, array, unique)
1509#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1510 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D1_IK1
1511#endif
1512 use pm_kind, only: IKG => IK1
1513 logical(LK) , intent(in) , optional :: unique
1514 integer(IKG) , intent(in) , contiguous :: array(:)
1515 integer(IKG) , intent(out) , contiguous :: choice(:)
1516 type(rngf_type) , intent(in) :: rng
1517 end subroutine
1518#endif
1519
1520 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1521
1522#if LK5_ENABLED
1523 module subroutine setChoiceRNGF_D1_D1_LK5(rng, choice, array, unique)
1524#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1525 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D1_LK5
1526#endif
1527 use pm_kind, only: LKG => LK5
1528 logical(LK) , intent(in) , optional :: unique
1529 logical(LKG) , intent(in) , contiguous :: array(:)
1530 logical(LKG) , intent(out) , contiguous :: choice(:)
1531 type(rngf_type) , intent(in) :: rng
1532 end subroutine
1533#endif
1534
1535#if LK4_ENABLED
1536 module subroutine setChoiceRNGF_D1_D1_LK4(rng, choice, array, unique)
1537#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1538 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D1_LK4
1539#endif
1540 use pm_kind, only: LKG => LK4
1541 logical(LK) , intent(in) , optional :: unique
1542 logical(LKG) , intent(in) , contiguous :: array(:)
1543 logical(LKG) , intent(out) , contiguous :: choice(:)
1544 type(rngf_type) , intent(in) :: rng
1545 end subroutine
1546#endif
1547
1548#if LK3_ENABLED
1549 module subroutine setChoiceRNGF_D1_D1_LK3(rng, choice, array, unique)
1550#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1551 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D1_LK3
1552#endif
1553 use pm_kind, only: LKG => LK3
1554 logical(LK) , intent(in) , optional :: unique
1555 logical(LKG) , intent(in) , contiguous :: array(:)
1556 logical(LKG) , intent(out) , contiguous :: choice(:)
1557 type(rngf_type) , intent(in) :: rng
1558 end subroutine
1559#endif
1560
1561#if LK2_ENABLED
1562 module subroutine setChoiceRNGF_D1_D1_LK2(rng, choice, array, unique)
1563#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1564 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D1_LK2
1565#endif
1566 use pm_kind, only: LKG => LK2
1567 logical(LK) , intent(in) , optional :: unique
1568 logical(LKG) , intent(in) , contiguous :: array(:)
1569 logical(LKG) , intent(out) , contiguous :: choice(:)
1570 type(rngf_type) , intent(in) :: rng
1571 end subroutine
1572#endif
1573
1574#if LK1_ENABLED
1575 module subroutine setChoiceRNGF_D1_D1_LK1(rng, choice, array, unique)
1576#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1577 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D1_LK1
1578#endif
1579 use pm_kind, only: LKG => LK1
1580 logical(LK) , intent(in) , optional :: unique
1581 logical(LKG) , intent(in) , contiguous :: array(:)
1582 logical(LKG) , intent(out) , contiguous :: choice(:)
1583 type(rngf_type) , intent(in) :: rng
1584 end subroutine
1585#endif
1586
1587 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1588
1589#if CK5_ENABLED
1590 module subroutine setChoiceRNGF_D1_D1_CK5(rng, choice, array, unique)
1591#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1592 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D1_CK5
1593#endif
1594 use pm_kind, only: CKG => CK5
1595 logical(LK) , intent(in) , optional :: unique
1596 complex(CKG) , intent(in) , contiguous :: array(:)
1597 complex(CKG) , intent(out) , contiguous :: choice(:)
1598 type(rngf_type) , intent(in) :: rng
1599 end subroutine
1600#endif
1601
1602#if CK4_ENABLED
1603 module subroutine setChoiceRNGF_D1_D1_CK4(rng, choice, array, unique)
1604#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1605 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D1_CK4
1606#endif
1607 use pm_kind, only: CKG => CK4
1608 logical(LK) , intent(in) , optional :: unique
1609 complex(CKG) , intent(in) , contiguous :: array(:)
1610 complex(CKG) , intent(out) , contiguous :: choice(:)
1611 type(rngf_type) , intent(in) :: rng
1612 end subroutine
1613#endif
1614
1615#if CK3_ENABLED
1616 module subroutine setChoiceRNGF_D1_D1_CK3(rng, choice, array, unique)
1617#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1618 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D1_CK3
1619#endif
1620 use pm_kind, only: CKG => CK3
1621 logical(LK) , intent(in) , optional :: unique
1622 complex(CKG) , intent(in) , contiguous :: array(:)
1623 complex(CKG) , intent(out) , contiguous :: choice(:)
1624 type(rngf_type) , intent(in) :: rng
1625 end subroutine
1626#endif
1627
1628#if CK2_ENABLED
1629 module subroutine setChoiceRNGF_D1_D1_CK2(rng, choice, array, unique)
1630#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1631 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D1_CK2
1632#endif
1633 use pm_kind, only: CKG => CK2
1634 logical(LK) , intent(in) , optional :: unique
1635 complex(CKG) , intent(in) , contiguous :: array(:)
1636 complex(CKG) , intent(out) , contiguous :: choice(:)
1637 type(rngf_type) , intent(in) :: rng
1638 end subroutine
1639#endif
1640
1641#if CK1_ENABLED
1642 module subroutine setChoiceRNGF_D1_D1_CK1(rng, choice, array, unique)
1643#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1644 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D1_CK1
1645#endif
1646 use pm_kind, only: CKG => CK1
1647 logical(LK) , intent(in) , optional :: unique
1648 complex(CKG) , intent(in) , contiguous :: array(:)
1649 complex(CKG) , intent(out) , contiguous :: choice(:)
1650 type(rngf_type) , intent(in) :: rng
1651 end subroutine
1652#endif
1653
1654 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1655
1656#if RK5_ENABLED
1657 module subroutine setChoiceRNGF_D1_D1_RK5(rng, choice, array, unique)
1658#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1659 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D1_RK5
1660#endif
1661 use pm_kind, only: RKG => RK5
1662 logical(LK) , intent(in) , optional :: unique
1663 real(RKG) , intent(in) , contiguous :: array(:)
1664 real(RKG) , intent(out) , contiguous :: choice(:)
1665 type(rngf_type) , intent(in) :: rng
1666 end subroutine
1667#endif
1668
1669#if RK4_ENABLED
1670 module subroutine setChoiceRNGF_D1_D1_RK4(rng, choice, array, unique)
1671#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1672 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D1_RK4
1673#endif
1674 use pm_kind, only: RKG => RK4
1675 logical(LK) , intent(in) , optional :: unique
1676 real(RKG) , intent(in) , contiguous :: array(:)
1677 real(RKG) , intent(out) , contiguous :: choice(:)
1678 type(rngf_type) , intent(in) :: rng
1679 end subroutine
1680#endif
1681
1682#if RK3_ENABLED
1683 module subroutine setChoiceRNGF_D1_D1_RK3(rng, choice, array, unique)
1684#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1685 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D1_RK3
1686#endif
1687 use pm_kind, only: RKG => RK3
1688 logical(LK) , intent(in) , optional :: unique
1689 real(RKG) , intent(in) , contiguous :: array(:)
1690 real(RKG) , intent(out) , contiguous :: choice(:)
1691 type(rngf_type) , intent(in) :: rng
1692 end subroutine
1693#endif
1694
1695#if RK2_ENABLED
1696 module subroutine setChoiceRNGF_D1_D1_RK2(rng, choice, array, unique)
1697#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1698 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D1_RK2
1699#endif
1700 use pm_kind, only: RKG => RK2
1701 logical(LK) , intent(in) , optional :: unique
1702 real(RKG) , intent(in) , contiguous :: array(:)
1703 real(RKG) , intent(out) , contiguous :: choice(:)
1704 type(rngf_type) , intent(in) :: rng
1705 end subroutine
1706#endif
1707
1708#if RK1_ENABLED
1709 module subroutine setChoiceRNGF_D1_D1_RK1(rng, choice, array, unique)
1710#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1711 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGF_D1_D1_RK1
1712#endif
1713 use pm_kind, only: RKG => RK1
1714 logical(LK) , intent(in) , optional :: unique
1715 real(RKG) , intent(in) , contiguous :: array(:)
1716 real(RKG) , intent(out) , contiguous :: choice(:)
1717 type(rngf_type) , intent(in) :: rng
1718 end subroutine
1719#endif
1720
1721 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1722
1723 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1724 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1725 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1726
1727 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1728 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1729 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1730
1731 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1732
1733#if SK5_ENABLED
1734 PURE module subroutine setChoiceRNGX_D0_D0_SK5(rng, choice, array, unique)
1735#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1736 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D0_D0_SK5
1737#endif
1738 use pm_kind, only: SKG => SK5
1739 logical(LK) , intent(in) , optional :: unique
1740 character(*,SKG) , intent(in) :: array
1741 character(*,SKG) , intent(out) :: choice
1742 type(xoshiro256ssw_type) , intent(inout) :: rng
1743 end subroutine
1744#endif
1745
1746#if SK4_ENABLED
1747 PURE module subroutine setChoiceRNGX_D0_D0_SK4(rng, choice, array, unique)
1748#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1749 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D0_D0_SK4
1750#endif
1751 use pm_kind, only: SKG => SK4
1752 logical(LK) , intent(in) , optional :: unique
1753 character(*,SKG) , intent(in) :: array
1754 character(*,SKG) , intent(out) :: choice
1755 type(xoshiro256ssw_type) , intent(inout) :: rng
1756 end subroutine
1757#endif
1758
1759#if SK3_ENABLED
1760 PURE module subroutine setChoiceRNGX_D0_D0_SK3(rng, choice, array, unique)
1761#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1762 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D0_D0_SK3
1763#endif
1764 use pm_kind, only: SKG => SK3
1765 logical(LK) , intent(in) , optional :: unique
1766 character(*,SKG) , intent(in) :: array
1767 character(*,SKG) , intent(out) :: choice
1768 type(xoshiro256ssw_type) , intent(inout) :: rng
1769 end subroutine
1770#endif
1771
1772#if SK2_ENABLED
1773 PURE module subroutine setChoiceRNGX_D0_D0_SK2(rng, choice, array, unique)
1774#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1775 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D0_D0_SK2
1776#endif
1777 use pm_kind, only: SKG => SK2
1778 logical(LK) , intent(in) , optional :: unique
1779 character(*,SKG) , intent(in) :: array
1780 character(*,SKG) , intent(out) :: choice
1781 type(xoshiro256ssw_type) , intent(inout) :: rng
1782 end subroutine
1783#endif
1784
1785#if SK1_ENABLED
1786 PURE module subroutine setChoiceRNGX_D0_D0_SK1(rng, choice, array, unique)
1787#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1788 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D0_D0_SK1
1789#endif
1790 use pm_kind, only: SKG => SK1
1791 logical(LK) , intent(in) , optional :: unique
1792 character(*,SKG) , intent(in) :: array
1793 character(*,SKG) , intent(out) :: choice
1794 type(xoshiro256ssw_type) , intent(inout) :: rng
1795 end subroutine
1796#endif
1797
1798 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1799
1800 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1801 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1802 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1803
1804 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1805
1806#if SK5_ENABLED
1807 PURE module subroutine setChoiceRNGX_D1_D0_SK5(rng, choice, array)
1808#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1809 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D0_SK5
1810#endif
1811 use pm_kind, only: SKG => SK5
1812 character(*,SKG) , intent(in) , contiguous :: array(:)
1813 character(len(array,IK),SKG), intent(out) :: choice
1814 type(xoshiro256ssw_type) , intent(inout) :: rng
1815 end subroutine
1816#endif
1817
1818#if SK4_ENABLED
1819 PURE module subroutine setChoiceRNGX_D1_D0_SK4(rng, choice, array)
1820#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1821 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D0_SK4
1822#endif
1823 use pm_kind, only: SKG => SK4
1824 character(*,SKG) , intent(in) , contiguous :: array(:)
1825 character(len(array,IK),SKG), intent(out) :: choice
1826 type(xoshiro256ssw_type) , intent(inout) :: rng
1827 end subroutine
1828#endif
1829
1830#if SK3_ENABLED
1831 PURE module subroutine setChoiceRNGX_D1_D0_SK3(rng, choice, array)
1832#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1833 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D0_SK3
1834#endif
1835 use pm_kind, only: SKG => SK3
1836 character(*,SKG) , intent(in) , contiguous :: array(:)
1837 character(len(array,IK),SKG), intent(out) :: choice
1838 type(xoshiro256ssw_type) , intent(inout) :: rng
1839 end subroutine
1840#endif
1841
1842#if SK2_ENABLED
1843 PURE module subroutine setChoiceRNGX_D1_D0_SK2(rng, choice, array)
1844#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1845 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D0_SK2
1846#endif
1847 use pm_kind, only: SKG => SK2
1848 character(*,SKG) , intent(in) , contiguous :: array(:)
1849 character(len(array,IK),SKG), intent(out) :: choice
1850 type(xoshiro256ssw_type) , intent(inout) :: rng
1851 end subroutine
1852#endif
1853
1854#if SK1_ENABLED
1855 PURE module subroutine setChoiceRNGX_D1_D0_SK1(rng, choice, array)
1856#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1857 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D0_SK1
1858#endif
1859 use pm_kind, only: SKG => SK1
1860 character(*,SKG) , intent(in) , contiguous :: array(:)
1861 character(len(array,IK),SKG), intent(out) :: choice
1862 type(xoshiro256ssw_type) , intent(inout) :: rng
1863 end subroutine
1864#endif
1865
1866 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1867
1868#if IK5_ENABLED
1869 PURE module subroutine setChoiceRNGX_D1_D0_IK5(rng, choice, array)
1870#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1871 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D0_IK5
1872#endif
1873 use pm_kind, only: IKG => IK5
1874 integer(IKG) , intent(in) , contiguous :: array(:)
1875 integer(IKG) , intent(out) :: choice
1876 type(xoshiro256ssw_type) , intent(inout) :: rng
1877 end subroutine
1878#endif
1879
1880#if IK4_ENABLED
1881 PURE module subroutine setChoiceRNGX_D1_D0_IK4(rng, choice, array)
1882#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1883 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D0_IK4
1884#endif
1885 use pm_kind, only: IKG => IK4
1886 integer(IKG) , intent(in) , contiguous :: array(:)
1887 integer(IKG) , intent(out) :: choice
1888 type(xoshiro256ssw_type) , intent(inout) :: rng
1889 end subroutine
1890#endif
1891
1892#if IK3_ENABLED
1893 PURE module subroutine setChoiceRNGX_D1_D0_IK3(rng, choice, array)
1894#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1895 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D0_IK3
1896#endif
1897 use pm_kind, only: IKG => IK3
1898 integer(IKG) , intent(in) , contiguous :: array(:)
1899 integer(IKG) , intent(out) :: choice
1900 type(xoshiro256ssw_type) , intent(inout) :: rng
1901 end subroutine
1902#endif
1903
1904#if IK2_ENABLED
1905 PURE module subroutine setChoiceRNGX_D1_D0_IK2(rng, choice, array)
1906#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1907 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D0_IK2
1908#endif
1909 use pm_kind, only: IKG => IK2
1910 integer(IKG) , intent(in) , contiguous :: array(:)
1911 integer(IKG) , intent(out) :: choice
1912 type(xoshiro256ssw_type) , intent(inout) :: rng
1913 end subroutine
1914#endif
1915
1916#if IK1_ENABLED
1917 PURE module subroutine setChoiceRNGX_D1_D0_IK1(rng, choice, array)
1918#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1919 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D0_IK1
1920#endif
1921 use pm_kind, only: IKG => IK1
1922 integer(IKG) , intent(in) , contiguous :: array(:)
1923 integer(IKG) , intent(out) :: choice
1924 type(xoshiro256ssw_type) , intent(inout) :: rng
1925 end subroutine
1926#endif
1927
1928 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1929
1930#if LK5_ENABLED
1931 PURE module subroutine setChoiceRNGX_D1_D0_LK5(rng, choice, array)
1932#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1933 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D0_LK5
1934#endif
1935 use pm_kind, only: LKG => LK5
1936 logical(LKG) , intent(in) , contiguous :: array(:)
1937 logical(LKG) , intent(out) :: choice
1938 type(xoshiro256ssw_type) , intent(inout) :: rng
1939 end subroutine
1940#endif
1941
1942#if LK4_ENABLED
1943 PURE module subroutine setChoiceRNGX_D1_D0_LK4(rng, choice, array)
1944#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1945 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D0_LK4
1946#endif
1947 use pm_kind, only: LKG => LK4
1948 logical(LKG) , intent(in) , contiguous :: array(:)
1949 logical(LKG) , intent(out) :: choice
1950 type(xoshiro256ssw_type) , intent(inout) :: rng
1951 end subroutine
1952#endif
1953
1954#if LK3_ENABLED
1955 PURE module subroutine setChoiceRNGX_D1_D0_LK3(rng, choice, array)
1956#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1957 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D0_LK3
1958#endif
1959 use pm_kind, only: LKG => LK3
1960 logical(LKG) , intent(in) , contiguous :: array(:)
1961 logical(LKG) , intent(out) :: choice
1962 type(xoshiro256ssw_type) , intent(inout) :: rng
1963 end subroutine
1964#endif
1965
1966#if LK2_ENABLED
1967 PURE module subroutine setChoiceRNGX_D1_D0_LK2(rng, choice, array)
1968#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1969 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D0_LK2
1970#endif
1971 use pm_kind, only: LKG => LK2
1972 logical(LKG) , intent(in) , contiguous :: array(:)
1973 logical(LKG) , intent(out) :: choice
1974 type(xoshiro256ssw_type) , intent(inout) :: rng
1975 end subroutine
1976#endif
1977
1978#if LK1_ENABLED
1979 PURE module subroutine setChoiceRNGX_D1_D0_LK1(rng, choice, array)
1980#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1981 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D0_LK1
1982#endif
1983 use pm_kind, only: LKG => LK1
1984 logical(LKG) , intent(in) , contiguous :: array(:)
1985 logical(LKG) , intent(out) :: choice
1986 type(xoshiro256ssw_type) , intent(inout) :: rng
1987 end subroutine
1988#endif
1989
1990 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1991
1992#if CK5_ENABLED
1993 PURE module subroutine setChoiceRNGX_D1_D0_CK5(rng, choice, array)
1994#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1995 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D0_CK5
1996#endif
1997 use pm_kind, only: CKG => CK5
1998 complex(CKG) , intent(in) , contiguous :: array(:)
1999 complex(CKG) , intent(out) :: choice
2000 type(xoshiro256ssw_type) , intent(inout) :: rng
2001 end subroutine
2002#endif
2003
2004#if CK4_ENABLED
2005 PURE module subroutine setChoiceRNGX_D1_D0_CK4(rng, choice, array)
2006#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2007 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D0_CK4
2008#endif
2009 use pm_kind, only: CKG => CK4
2010 complex(CKG) , intent(in) , contiguous :: array(:)
2011 complex(CKG) , intent(out) :: choice
2012 type(xoshiro256ssw_type) , intent(inout) :: rng
2013 end subroutine
2014#endif
2015
2016#if CK3_ENABLED
2017 PURE module subroutine setChoiceRNGX_D1_D0_CK3(rng, choice, array)
2018#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2019 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D0_CK3
2020#endif
2021 use pm_kind, only: CKG => CK3
2022 complex(CKG) , intent(in) , contiguous :: array(:)
2023 complex(CKG) , intent(out) :: choice
2024 type(xoshiro256ssw_type) , intent(inout) :: rng
2025 end subroutine
2026#endif
2027
2028#if CK2_ENABLED
2029 PURE module subroutine setChoiceRNGX_D1_D0_CK2(rng, choice, array)
2030#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2031 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D0_CK2
2032#endif
2033 use pm_kind, only: CKG => CK2
2034 complex(CKG) , intent(in) , contiguous :: array(:)
2035 complex(CKG) , intent(out) :: choice
2036 type(xoshiro256ssw_type) , intent(inout) :: rng
2037 end subroutine
2038#endif
2039
2040#if CK1_ENABLED
2041 PURE module subroutine setChoiceRNGX_D1_D0_CK1(rng, choice, array)
2042#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2043 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D0_CK1
2044#endif
2045 use pm_kind, only: CKG => CK1
2046 complex(CKG) , intent(in) , contiguous :: array(:)
2047 complex(CKG) , intent(out) :: choice
2048 type(xoshiro256ssw_type) , intent(inout) :: rng
2049 end subroutine
2050#endif
2051
2052 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2053
2054#if RK5_ENABLED
2055 PURE module subroutine setChoiceRNGX_D1_D0_RK5(rng, choice, array)
2056#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2057 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D0_RK5
2058#endif
2059 use pm_kind, only: RKG => RK5
2060 real(RKG) , intent(in) , contiguous :: array(:)
2061 real(RKG) , intent(out) :: choice
2062 type(xoshiro256ssw_type) , intent(inout) :: rng
2063 end subroutine
2064#endif
2065
2066#if RK4_ENABLED
2067 PURE module subroutine setChoiceRNGX_D1_D0_RK4(rng, choice, array)
2068#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2069 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D0_RK4
2070#endif
2071 use pm_kind, only: RKG => RK4
2072 real(RKG) , intent(in) , contiguous :: array(:)
2073 real(RKG) , intent(out) :: choice
2074 type(xoshiro256ssw_type) , intent(inout) :: rng
2075 end subroutine
2076#endif
2077
2078#if RK3_ENABLED
2079 PURE module subroutine setChoiceRNGX_D1_D0_RK3(rng, choice, array)
2080#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2081 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D0_RK3
2082#endif
2083 use pm_kind, only: RKG => RK3
2084 real(RKG) , intent(in) , contiguous :: array(:)
2085 real(RKG) , intent(out) :: choice
2086 type(xoshiro256ssw_type) , intent(inout) :: rng
2087 end subroutine
2088#endif
2089
2090#if RK2_ENABLED
2091 PURE module subroutine setChoiceRNGX_D1_D0_RK2(rng, choice, array)
2092#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2093 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D0_RK2
2094#endif
2095 use pm_kind, only: RKG => RK2
2096 real(RKG) , intent(in) , contiguous :: array(:)
2097 real(RKG) , intent(out) :: choice
2098 type(xoshiro256ssw_type) , intent(inout) :: rng
2099 end subroutine
2100#endif
2101
2102#if RK1_ENABLED
2103 PURE module subroutine setChoiceRNGX_D1_D0_RK1(rng, choice, array)
2104#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2105 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D0_RK1
2106#endif
2107 use pm_kind, only: RKG => RK1
2108 real(RKG) , intent(in) , contiguous :: array(:)
2109 real(RKG) , intent(out) :: choice
2110 type(xoshiro256ssw_type) , intent(inout) :: rng
2111 end subroutine
2112#endif
2113
2114 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2115
2116 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2117 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2118 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2119
2120 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2121
2122#if SK5_ENABLED
2123 PURE module subroutine setChoiceRNGX_D1_D1_SK5(rng, choice, array, unique)
2124#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2125 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D1_SK5
2126#endif
2127 use pm_kind, only: SKG => SK5
2128 logical(LK) , intent(in) , optional :: unique
2129 character(*,SKG) , intent(in) , contiguous :: array(:)
2130 character(len(array,IK),SKG), intent(out) , contiguous :: choice(:)
2131 type(xoshiro256ssw_type) , intent(inout) :: rng
2132 end subroutine
2133#endif
2134
2135#if SK4_ENABLED
2136 PURE module subroutine setChoiceRNGX_D1_D1_SK4(rng, choice, array, unique)
2137#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2138 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D1_SK4
2139#endif
2140 use pm_kind, only: SKG => SK4
2141 logical(LK) , intent(in) , optional :: unique
2142 character(*,SKG) , intent(in) , contiguous :: array(:)
2143 character(len(array,IK),SKG), intent(out) , contiguous :: choice(:)
2144 type(xoshiro256ssw_type) , intent(inout) :: rng
2145 end subroutine
2146#endif
2147
2148#if SK3_ENABLED
2149 PURE module subroutine setChoiceRNGX_D1_D1_SK3(rng, choice, array, unique)
2150#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2151 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D1_SK3
2152#endif
2153 use pm_kind, only: SKG => SK3
2154 logical(LK) , intent(in) , optional :: unique
2155 character(*,SKG) , intent(in) , contiguous :: array(:)
2156 character(len(array,IK),SKG), intent(out) , contiguous :: choice(:)
2157 type(xoshiro256ssw_type) , intent(inout) :: rng
2158 end subroutine
2159#endif
2160
2161#if SK2_ENABLED
2162 PURE module subroutine setChoiceRNGX_D1_D1_SK2(rng, choice, array, unique)
2163#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2164 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D1_SK2
2165#endif
2166 use pm_kind, only: SKG => SK2
2167 logical(LK) , intent(in) , optional :: unique
2168 character(*,SKG) , intent(in) , contiguous :: array(:)
2169 character(len(array,IK),SKG), intent(out) , contiguous :: choice(:)
2170 type(xoshiro256ssw_type) , intent(inout) :: rng
2171 end subroutine
2172#endif
2173
2174#if SK1_ENABLED
2175 PURE module subroutine setChoiceRNGX_D1_D1_SK1(rng, choice, array, unique)
2176#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2177 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D1_SK1
2178#endif
2179 use pm_kind, only: SKG => SK1
2180 logical(LK) , intent(in) , optional :: unique
2181 character(*,SKG) , intent(in) , contiguous :: array(:)
2182 character(len(array,IK),SKG), intent(out) , contiguous :: choice(:)
2183 type(xoshiro256ssw_type) , intent(inout) :: rng
2184 end subroutine
2185#endif
2186
2187 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2188
2189#if IK5_ENABLED
2190 PURE module subroutine setChoiceRNGX_D1_D1_IK5(rng, choice, array, unique)
2191#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2192 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D1_IK5
2193#endif
2194 use pm_kind, only: IKG => IK5
2195 logical(LK) , intent(in) , optional :: unique
2196 integer(IKG) , intent(in) , contiguous :: array(:)
2197 integer(IKG) , intent(out) , contiguous :: choice(:)
2198 type(xoshiro256ssw_type) , intent(inout) :: rng
2199 end subroutine
2200#endif
2201
2202#if IK4_ENABLED
2203 PURE module subroutine setChoiceRNGX_D1_D1_IK4(rng, choice, array, unique)
2204#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2205 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D1_IK4
2206#endif
2207 use pm_kind, only: IKG => IK4
2208 logical(LK) , intent(in) , optional :: unique
2209 integer(IKG) , intent(in) , contiguous :: array(:)
2210 integer(IKG) , intent(out) , contiguous :: choice(:)
2211 type(xoshiro256ssw_type) , intent(inout) :: rng
2212 end subroutine
2213#endif
2214
2215#if IK3_ENABLED
2216 PURE module subroutine setChoiceRNGX_D1_D1_IK3(rng, choice, array, unique)
2217#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2218 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D1_IK3
2219#endif
2220 use pm_kind, only: IKG => IK3
2221 logical(LK) , intent(in) , optional :: unique
2222 integer(IKG) , intent(in) , contiguous :: array(:)
2223 integer(IKG) , intent(out) , contiguous :: choice(:)
2224 type(xoshiro256ssw_type) , intent(inout) :: rng
2225 end subroutine
2226#endif
2227
2228#if IK2_ENABLED
2229 PURE module subroutine setChoiceRNGX_D1_D1_IK2(rng, choice, array, unique)
2230#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2231 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D1_IK2
2232#endif
2233 use pm_kind, only: IKG => IK2
2234 logical(LK) , intent(in) , optional :: unique
2235 integer(IKG) , intent(in) , contiguous :: array(:)
2236 integer(IKG) , intent(out) , contiguous :: choice(:)
2237 type(xoshiro256ssw_type) , intent(inout) :: rng
2238 end subroutine
2239#endif
2240
2241#if IK1_ENABLED
2242 PURE module subroutine setChoiceRNGX_D1_D1_IK1(rng, choice, array, unique)
2243#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2244 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D1_IK1
2245#endif
2246 use pm_kind, only: IKG => IK1
2247 logical(LK) , intent(in) , optional :: unique
2248 integer(IKG) , intent(in) , contiguous :: array(:)
2249 integer(IKG) , intent(out) , contiguous :: choice(:)
2250 type(xoshiro256ssw_type) , intent(inout) :: rng
2251 end subroutine
2252#endif
2253
2254 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2255
2256#if LK5_ENABLED
2257 PURE module subroutine setChoiceRNGX_D1_D1_LK5(rng, choice, array, unique)
2258#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2259 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D1_LK5
2260#endif
2261 use pm_kind, only: LKG => LK5
2262 logical(LK) , intent(in) , optional :: unique
2263 logical(LKG) , intent(in) , contiguous :: array(:)
2264 logical(LKG) , intent(out) , contiguous :: choice(:)
2265 type(xoshiro256ssw_type) , intent(inout) :: rng
2266 end subroutine
2267#endif
2268
2269#if LK4_ENABLED
2270 PURE module subroutine setChoiceRNGX_D1_D1_LK4(rng, choice, array, unique)
2271#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2272 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D1_LK4
2273#endif
2274 use pm_kind, only: LKG => LK4
2275 logical(LK) , intent(in) , optional :: unique
2276 logical(LKG) , intent(in) , contiguous :: array(:)
2277 logical(LKG) , intent(out) , contiguous :: choice(:)
2278 type(xoshiro256ssw_type) , intent(inout) :: rng
2279 end subroutine
2280#endif
2281
2282#if LK3_ENABLED
2283 PURE module subroutine setChoiceRNGX_D1_D1_LK3(rng, choice, array, unique)
2284#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2285 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D1_LK3
2286#endif
2287 use pm_kind, only: LKG => LK3
2288 logical(LK) , intent(in) , optional :: unique
2289 logical(LKG) , intent(in) , contiguous :: array(:)
2290 logical(LKG) , intent(out) , contiguous :: choice(:)
2291 type(xoshiro256ssw_type) , intent(inout) :: rng
2292 end subroutine
2293#endif
2294
2295#if LK2_ENABLED
2296 PURE module subroutine setChoiceRNGX_D1_D1_LK2(rng, choice, array, unique)
2297#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2298 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D1_LK2
2299#endif
2300 use pm_kind, only: LKG => LK2
2301 logical(LK) , intent(in) , optional :: unique
2302 logical(LKG) , intent(in) , contiguous :: array(:)
2303 logical(LKG) , intent(out) , contiguous :: choice(:)
2304 type(xoshiro256ssw_type) , intent(inout) :: rng
2305 end subroutine
2306#endif
2307
2308#if LK1_ENABLED
2309 PURE module subroutine setChoiceRNGX_D1_D1_LK1(rng, choice, array, unique)
2310#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2311 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D1_LK1
2312#endif
2313 use pm_kind, only: LKG => LK1
2314 logical(LK) , intent(in) , optional :: unique
2315 logical(LKG) , intent(in) , contiguous :: array(:)
2316 logical(LKG) , intent(out) , contiguous :: choice(:)
2317 type(xoshiro256ssw_type) , intent(inout) :: rng
2318 end subroutine
2319#endif
2320
2321 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2322
2323#if CK5_ENABLED
2324 PURE module subroutine setChoiceRNGX_D1_D1_CK5(rng, choice, array, unique)
2325#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2326 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D1_CK5
2327#endif
2328 use pm_kind, only: CKG => CK5
2329 logical(LK) , intent(in) , optional :: unique
2330 complex(CKG) , intent(in) , contiguous :: array(:)
2331 complex(CKG) , intent(out) , contiguous :: choice(:)
2332 type(xoshiro256ssw_type) , intent(inout) :: rng
2333 end subroutine
2334#endif
2335
2336#if CK4_ENABLED
2337 PURE module subroutine setChoiceRNGX_D1_D1_CK4(rng, choice, array, unique)
2338#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2339 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D1_CK4
2340#endif
2341 use pm_kind, only: CKG => CK4
2342 logical(LK) , intent(in) , optional :: unique
2343 complex(CKG) , intent(in) , contiguous :: array(:)
2344 complex(CKG) , intent(out) , contiguous :: choice(:)
2345 type(xoshiro256ssw_type) , intent(inout) :: rng
2346 end subroutine
2347#endif
2348
2349#if CK3_ENABLED
2350 PURE module subroutine setChoiceRNGX_D1_D1_CK3(rng, choice, array, unique)
2351#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2352 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D1_CK3
2353#endif
2354 use pm_kind, only: CKG => CK3
2355 logical(LK) , intent(in) , optional :: unique
2356 complex(CKG) , intent(in) , contiguous :: array(:)
2357 complex(CKG) , intent(out) , contiguous :: choice(:)
2358 type(xoshiro256ssw_type) , intent(inout) :: rng
2359 end subroutine
2360#endif
2361
2362#if CK2_ENABLED
2363 PURE module subroutine setChoiceRNGX_D1_D1_CK2(rng, choice, array, unique)
2364#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2365 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D1_CK2
2366#endif
2367 use pm_kind, only: CKG => CK2
2368 logical(LK) , intent(in) , optional :: unique
2369 complex(CKG) , intent(in) , contiguous :: array(:)
2370 complex(CKG) , intent(out) , contiguous :: choice(:)
2371 type(xoshiro256ssw_type) , intent(inout) :: rng
2372 end subroutine
2373#endif
2374
2375#if CK1_ENABLED
2376 PURE module subroutine setChoiceRNGX_D1_D1_CK1(rng, choice, array, unique)
2377#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2378 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D1_CK1
2379#endif
2380 use pm_kind, only: CKG => CK1
2381 logical(LK) , intent(in) , optional :: unique
2382 complex(CKG) , intent(in) , contiguous :: array(:)
2383 complex(CKG) , intent(out) , contiguous :: choice(:)
2384 type(xoshiro256ssw_type) , intent(inout) :: rng
2385 end subroutine
2386#endif
2387
2388 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2389
2390#if RK5_ENABLED
2391 PURE module subroutine setChoiceRNGX_D1_D1_RK5(rng, choice, array, unique)
2392#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2393 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D1_RK5
2394#endif
2395 use pm_kind, only: RKG => RK5
2396 logical(LK) , intent(in) , optional :: unique
2397 real(RKG) , intent(in) , contiguous :: array(:)
2398 real(RKG) , intent(out) , contiguous :: choice(:)
2399 type(xoshiro256ssw_type) , intent(inout) :: rng
2400 end subroutine
2401#endif
2402
2403#if RK4_ENABLED
2404 PURE module subroutine setChoiceRNGX_D1_D1_RK4(rng, choice, array, unique)
2405#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2406 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D1_RK4
2407#endif
2408 use pm_kind, only: RKG => RK4
2409 logical(LK) , intent(in) , optional :: unique
2410 real(RKG) , intent(in) , contiguous :: array(:)
2411 real(RKG) , intent(out) , contiguous :: choice(:)
2412 type(xoshiro256ssw_type) , intent(inout) :: rng
2413 end subroutine
2414#endif
2415
2416#if RK3_ENABLED
2417 PURE module subroutine setChoiceRNGX_D1_D1_RK3(rng, choice, array, unique)
2418#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2419 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D1_RK3
2420#endif
2421 use pm_kind, only: RKG => RK3
2422 logical(LK) , intent(in) , optional :: unique
2423 real(RKG) , intent(in) , contiguous :: array(:)
2424 real(RKG) , intent(out) , contiguous :: choice(:)
2425 type(xoshiro256ssw_type) , intent(inout) :: rng
2426 end subroutine
2427#endif
2428
2429#if RK2_ENABLED
2430 PURE module subroutine setChoiceRNGX_D1_D1_RK2(rng, choice, array, unique)
2431#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2432 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D1_RK2
2433#endif
2434 use pm_kind, only: RKG => RK2
2435 logical(LK) , intent(in) , optional :: unique
2436 real(RKG) , intent(in) , contiguous :: array(:)
2437 real(RKG) , intent(out) , contiguous :: choice(:)
2438 type(xoshiro256ssw_type) , intent(inout) :: rng
2439 end subroutine
2440#endif
2441
2442#if RK1_ENABLED
2443 PURE module subroutine setChoiceRNGX_D1_D1_RK1(rng, choice, array, unique)
2444#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2445 !DEC$ ATTRIBUTES DLLEXPORT :: setChoiceRNGX_D1_D1_RK1
2446#endif
2447 use pm_kind, only: RKG => RK1
2448 logical(LK) , intent(in) , optional :: unique
2449 real(RKG) , intent(in) , contiguous :: array(:)
2450 real(RKG) , intent(out) , contiguous :: choice(:)
2451 type(xoshiro256ssw_type) , intent(inout) :: rng
2452 end subroutine
2453#endif
2454
2455 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2456
2457 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2458 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2459 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2460
2461 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2462 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2463 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2464
2465 end interface
2466
2467!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2468
2469end module pm_arrayChoice ! LCOV_EXCL_LINE
Select a single (or multiple) element(s) from the input array of intrinsic type of arbitrary kind ran...
Select a single (or multiple) element(s) from the input array of intrinsic type of arbitrary kind ran...
This module contains procedures and generic interfaces for selecting uniformly-distributed or arbitra...
character(*, SK), parameter MODULE_NAME
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 LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
Definition: pm_kind.F90:541
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 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...