ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_sampleScale.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
55
56!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
57
59
60 use pm_kind, only: SK, IK, LK
62
63 implicit none
64
65 character(*, SK), parameter :: MODULE_NAME = "@pm_sampleScale"
66
67!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
68
86 type :: stdscale_type; end type
87 type(stdscale_type), parameter :: stdscale = stdscale_type()
88#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
89 !DIR$ ATTRIBUTES DLLEXPORT :: stdscale
90#endif
91
92!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
93
195
196 ! RK ARK
197
198 interface getScaled
199
200 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
201
202#if RK5_ENABLED
203 PURE module function getScaled_ARK_ONO_D1_RK5(sample, amount) result(sampleScaled)
204#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
205 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_ONO_D1_RK5
206#endif
207 use pm_kind, only: RKG => RK5
208 real(RKG) , intent(in), contiguous :: sample(:)
209 real(RKG) , intent(in) :: amount
210 real(RKG) :: sampleScaled(size(sample, 1, IK))
211 end function
212#endif
213
214#if RK4_ENABLED
215 PURE module function getScaled_ARK_ONO_D1_RK4(sample, amount) result(sampleScaled)
216#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
217 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_ONO_D1_RK4
218#endif
219 use pm_kind, only: RKG => RK4
220 real(RKG) , intent(in), contiguous :: sample(:)
221 real(RKG) , intent(in) :: amount
222 real(RKG) :: sampleScaled(size(sample, 1, IK))
223 end function
224#endif
225
226#if RK3_ENABLED
227 PURE module function getScaled_ARK_ONO_D1_RK3(sample, amount) result(sampleScaled)
228#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
229 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_ONO_D1_RK3
230#endif
231 use pm_kind, only: RKG => RK3
232 real(RKG) , intent(in), contiguous :: sample(:)
233 real(RKG) , intent(in) :: amount
234 real(RKG) :: sampleScaled(size(sample, 1, IK))
235 end function
236#endif
237
238#if RK2_ENABLED
239 PURE module function getScaled_ARK_ONO_D1_RK2(sample, amount) result(sampleScaled)
240#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
241 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_ONO_D1_RK2
242#endif
243 use pm_kind, only: RKG => RK2
244 real(RKG) , intent(in), contiguous :: sample(:)
245 real(RKG) , intent(in) :: amount
246 real(RKG) :: sampleScaled(size(sample, 1, IK))
247 end function
248#endif
249
250#if RK1_ENABLED
251 PURE module function getScaled_ARK_ONO_D1_RK1(sample, amount) result(sampleScaled)
252#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
253 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_ONO_D1_RK1
254#endif
255 use pm_kind, only: RKG => RK1
256 real(RKG) , intent(in), contiguous :: sample(:)
257 real(RKG) , intent(in) :: amount
258 real(RKG) :: sampleScaled(size(sample, 1, IK))
259 end function
260#endif
261
262 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
263
264#if RK5_ENABLED
265 PURE module function getScaled_ARK_ONO_D2_RK5(sample, dim, amount) result(sampleScaled)
266#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
267 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_ONO_D2_RK5
268#endif
269 use pm_kind, only: RKG => RK5
270 real(RKG) , intent(in), contiguous :: sample(:,:)
271 real(RKG) , intent(in), contiguous :: amount(:)
272 integer(IK) , intent(in) :: dim
273 real(RKG) :: sampleScaled(size(sample, 1, IK), size(sample, 2, IK))
274 end function
275#endif
276
277#if RK4_ENABLED
278 PURE module function getScaled_ARK_ONO_D2_RK4(sample, dim, amount) result(sampleScaled)
279#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
280 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_ONO_D2_RK4
281#endif
282 use pm_kind, only: RKG => RK4
283 real(RKG) , intent(in), contiguous :: sample(:,:)
284 real(RKG) , intent(in), contiguous :: amount(:)
285 integer(IK) , intent(in) :: dim
286 real(RKG) :: sampleScaled(size(sample, 1, IK), size(sample, 2, IK))
287 end function
288#endif
289
290#if RK3_ENABLED
291 PURE module function getScaled_ARK_ONO_D2_RK3(sample, dim, amount) result(sampleScaled)
292#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
293 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_ONO_D2_RK3
294#endif
295 use pm_kind, only: RKG => RK3
296 real(RKG) , intent(in), contiguous :: sample(:,:)
297 real(RKG) , intent(in), contiguous :: amount(:)
298 integer(IK) , intent(in) :: dim
299 real(RKG) :: sampleScaled(size(sample, 1, IK), size(sample, 2, IK))
300 end function
301#endif
302
303#if RK2_ENABLED
304 PURE module function getScaled_ARK_ONO_D2_RK2(sample, dim, amount) result(sampleScaled)
305#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
306 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_ONO_D2_RK2
307#endif
308 use pm_kind, only: RKG => RK2
309 real(RKG) , intent(in), contiguous :: sample(:,:)
310 real(RKG) , intent(in), contiguous :: amount(:)
311 integer(IK) , intent(in) :: dim
312 real(RKG) :: sampleScaled(size(sample, 1, IK), size(sample, 2, IK))
313 end function
314#endif
315
316#if RK1_ENABLED
317 PURE module function getScaled_ARK_ONO_D2_RK1(sample, dim, amount) result(sampleScaled)
318#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
319 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_ONO_D2_RK1
320#endif
321 use pm_kind, only: RKG => RK1
322 real(RKG) , intent(in), contiguous :: sample(:,:)
323 real(RKG) , intent(in), contiguous :: amount(:)
324 integer(IK) , intent(in) :: dim
325 real(RKG) :: sampleScaled(size(sample, 1, IK), size(sample, 2, IK))
326 end function
327#endif
328
329 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
330
331#if RK5_ENABLED
332 PURE module function getScaled_ARK_OTH_D2_RK5(sample, dim, amount, operation) result(sampleScaled)
333#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
334 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_OTH_D2_RK5
335#endif
336 use pm_kind, only: RKG => RK5
337 real(RKG) , intent(in), contiguous :: sample(:,:)
338 real(RKG) , intent(in), contiguous :: amount(:)
339 integer(IK) , intent(in) :: dim
340 type(transHerm_type), intent(in) :: operation
341 real(RKG) :: sampleScaled(size(sample, 2, IK), size(sample, 1, IK))
342 end function
343#endif
344
345#if RK4_ENABLED
346 PURE module function getScaled_ARK_OTH_D2_RK4(sample, dim, amount, operation) result(sampleScaled)
347#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
348 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_OTH_D2_RK4
349#endif
350 use pm_kind, only: RKG => RK4
351 real(RKG) , intent(in), contiguous :: sample(:,:)
352 real(RKG) , intent(in), contiguous :: amount(:)
353 integer(IK) , intent(in) :: dim
354 type(transHerm_type), intent(in) :: operation
355 real(RKG) :: sampleScaled(size(sample, 2, IK), size(sample, 1, IK))
356 end function
357#endif
358
359#if RK3_ENABLED
360 PURE module function getScaled_ARK_OTH_D2_RK3(sample, dim, amount, operation) result(sampleScaled)
361#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
362 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_OTH_D2_RK3
363#endif
364 use pm_kind, only: RKG => RK3
365 real(RKG) , intent(in), contiguous :: sample(:,:)
366 real(RKG) , intent(in), contiguous :: amount(:)
367 integer(IK) , intent(in) :: dim
368 type(transHerm_type), intent(in) :: operation
369 real(RKG) :: sampleScaled(size(sample, 2, IK), size(sample, 1, IK))
370 end function
371#endif
372
373#if RK2_ENABLED
374 PURE module function getScaled_ARK_OTH_D2_RK2(sample, dim, amount, operation) result(sampleScaled)
375#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
376 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_OTH_D2_RK2
377#endif
378 use pm_kind, only: RKG => RK2
379 real(RKG) , intent(in), contiguous :: sample(:,:)
380 real(RKG) , intent(in), contiguous :: amount(:)
381 integer(IK) , intent(in) :: dim
382 type(transHerm_type), intent(in) :: operation
383 real(RKG) :: sampleScaled(size(sample, 2, IK), size(sample, 1, IK))
384 end function
385#endif
386
387#if RK1_ENABLED
388 PURE module function getScaled_ARK_OTH_D2_RK1(sample, dim, amount, operation) result(sampleScaled)
389#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
390 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_OTH_D2_RK1
391#endif
392 use pm_kind, only: RKG => RK1
393 real(RKG) , intent(in), contiguous :: sample(:,:)
394 real(RKG) , intent(in), contiguous :: amount(:)
395 integer(IK) , intent(in) :: dim
396 type(transHerm_type), intent(in) :: operation
397 real(RKG) :: sampleScaled(size(sample, 2, IK), size(sample, 1, IK))
398 end function
399#endif
400
401 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
402
403 end interface getScaled
404
405 ! CK ARK
406
407 interface getScaled
408
409 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
410
411#if CK5_ENABLED
412 PURE module function getScaled_ACK_ONO_D1_CK5(sample, amount) result(sampleScaled)
413#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
414 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ACK_ONO_D1_CK5
415#endif
416 use pm_kind, only: CKG => CK5
417 complex(CKG) , intent(in), contiguous :: sample(:)
418 complex(CKG) , intent(in) :: amount
419 complex(CKG) :: sampleScaled(size(sample, 1, IK))
420 end function
421#endif
422
423#if CK4_ENABLED
424 PURE module function getScaled_ACK_ONO_D1_CK4(sample, amount) result(sampleScaled)
425#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
426 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ACK_ONO_D1_CK4
427#endif
428 use pm_kind, only: CKG => CK4
429 complex(CKG) , intent(in), contiguous :: sample(:)
430 complex(CKG) , intent(in) :: amount
431 complex(CKG) :: sampleScaled(size(sample, 1, IK))
432 end function
433#endif
434
435#if CK3_ENABLED
436 PURE module function getScaled_ACK_ONO_D1_CK3(sample, amount) result(sampleScaled)
437#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
438 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ACK_ONO_D1_CK3
439#endif
440 use pm_kind, only: CKG => CK3
441 complex(CKG) , intent(in), contiguous :: sample(:)
442 complex(CKG) , intent(in) :: amount
443 complex(CKG) :: sampleScaled(size(sample, 1, IK))
444 end function
445#endif
446
447#if CK2_ENABLED
448 PURE module function getScaled_ACK_ONO_D1_CK2(sample, amount) result(sampleScaled)
449#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
450 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ACK_ONO_D1_CK2
451#endif
452 use pm_kind, only: CKG => CK2
453 complex(CKG) , intent(in), contiguous :: sample(:)
454 complex(CKG) , intent(in) :: amount
455 complex(CKG) :: sampleScaled(size(sample, 1, IK))
456 end function
457#endif
458
459#if CK1_ENABLED
460 PURE module function getScaled_ACK_ONO_D1_CK1(sample, amount) result(sampleScaled)
461#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
462 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ACK_ONO_D1_CK1
463#endif
464 use pm_kind, only: CKG => CK1
465 complex(CKG) , intent(in), contiguous :: sample(:)
466 complex(CKG) , intent(in) :: amount
467 complex(CKG) :: sampleScaled(size(sample, 1, IK))
468 end function
469#endif
470
471 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
472
473#if CK5_ENABLED
474 PURE module function getScaled_ACK_ONO_D2_CK5(sample, dim, amount) result(sampleScaled)
475#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
476 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ACK_ONO_D2_CK5
477#endif
478 use pm_kind, only: CKG => CK5
479 complex(CKG) , intent(in), contiguous :: sample(:,:)
480 complex(CKG) , intent(in), contiguous :: amount(:)
481 integer(IK) , intent(in) :: dim
482 complex(CKG) :: sampleScaled(size(sample, 1, IK), size(sample, 2, IK))
483 end function
484#endif
485
486#if CK4_ENABLED
487 PURE module function getScaled_ACK_ONO_D2_CK4(sample, dim, amount) result(sampleScaled)
488#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
489 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ACK_ONO_D2_CK4
490#endif
491 use pm_kind, only: CKG => CK4
492 complex(CKG) , intent(in), contiguous :: sample(:,:)
493 complex(CKG) , intent(in), contiguous :: amount(:)
494 integer(IK) , intent(in) :: dim
495 complex(CKG) :: sampleScaled(size(sample, 1, IK), size(sample, 2, IK))
496 end function
497#endif
498
499#if CK3_ENABLED
500 PURE module function getScaled_ACK_ONO_D2_CK3(sample, dim, amount) result(sampleScaled)
501#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
502 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ACK_ONO_D2_CK3
503#endif
504 use pm_kind, only: CKG => CK3
505 complex(CKG) , intent(in), contiguous :: sample(:,:)
506 complex(CKG) , intent(in), contiguous :: amount(:)
507 integer(IK) , intent(in) :: dim
508 complex(CKG) :: sampleScaled(size(sample, 1, IK), size(sample, 2, IK))
509 end function
510#endif
511
512#if CK2_ENABLED
513 PURE module function getScaled_ACK_ONO_D2_CK2(sample, dim, amount) result(sampleScaled)
514#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
515 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ACK_ONO_D2_CK2
516#endif
517 use pm_kind, only: CKG => CK2
518 complex(CKG) , intent(in), contiguous :: sample(:,:)
519 complex(CKG) , intent(in), contiguous :: amount(:)
520 integer(IK) , intent(in) :: dim
521 complex(CKG) :: sampleScaled(size(sample, 1, IK), size(sample, 2, IK))
522 end function
523#endif
524
525#if CK1_ENABLED
526 PURE module function getScaled_ACK_ONO_D2_CK1(sample, dim, amount) result(sampleScaled)
527#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
528 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ACK_ONO_D2_CK1
529#endif
530 use pm_kind, only: CKG => CK1
531 complex(CKG) , intent(in), contiguous :: sample(:,:)
532 complex(CKG) , intent(in), contiguous :: amount(:)
533 integer(IK) , intent(in) :: dim
534 complex(CKG) :: sampleScaled(size(sample, 1, IK), size(sample, 2, IK))
535 end function
536#endif
537
538 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
539
540#if CK5_ENABLED
541 PURE module function getScaled_ACK_OTH_D2_CK5(sample, dim, amount, operation) result(sampleScaled)
542#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
543 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ACK_OTH_D2_CK5
544#endif
545 use pm_kind, only: CKG => CK5
546 complex(CKG) , intent(in), contiguous :: sample(:,:)
547 complex(CKG) , intent(in), contiguous :: amount(:)
548 integer(IK) , intent(in) :: dim
549 type(transHerm_type), intent(in) :: operation
550 complex(CKG) :: sampleScaled(size(sample, 2, IK), size(sample, 1, IK))
551 end function
552#endif
553
554#if CK4_ENABLED
555 PURE module function getScaled_ACK_OTH_D2_CK4(sample, dim, amount, operation) result(sampleScaled)
556#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
557 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ACK_OTH_D2_CK4
558#endif
559 use pm_kind, only: CKG => CK4
560 complex(CKG) , intent(in), contiguous :: sample(:,:)
561 complex(CKG) , intent(in), contiguous :: amount(:)
562 integer(IK) , intent(in) :: dim
563 type(transHerm_type), intent(in) :: operation
564 complex(CKG) :: sampleScaled(size(sample, 2, IK), size(sample, 1, IK))
565 end function
566#endif
567
568#if CK3_ENABLED
569 PURE module function getScaled_ACK_OTH_D2_CK3(sample, dim, amount, operation) result(sampleScaled)
570#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
571 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ACK_OTH_D2_CK3
572#endif
573 use pm_kind, only: CKG => CK3
574 complex(CKG) , intent(in), contiguous :: sample(:,:)
575 complex(CKG) , intent(in), contiguous :: amount(:)
576 integer(IK) , intent(in) :: dim
577 type(transHerm_type), intent(in) :: operation
578 complex(CKG) :: sampleScaled(size(sample, 2, IK), size(sample, 1, IK))
579 end function
580#endif
581
582#if CK2_ENABLED
583 PURE module function getScaled_ACK_OTH_D2_CK2(sample, dim, amount, operation) result(sampleScaled)
584#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
585 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ACK_OTH_D2_CK2
586#endif
587 use pm_kind, only: CKG => CK2
588 complex(CKG) , intent(in), contiguous :: sample(:,:)
589 complex(CKG) , intent(in), contiguous :: amount(:)
590 integer(IK) , intent(in) :: dim
591 type(transHerm_type), intent(in) :: operation
592 complex(CKG) :: sampleScaled(size(sample, 2, IK), size(sample, 1, IK))
593 end function
594#endif
595
596#if CK1_ENABLED
597 PURE module function getScaled_ACK_OTH_D2_CK1(sample, dim, amount, operation) result(sampleScaled)
598#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
599 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ACK_OTH_D2_CK1
600#endif
601 use pm_kind, only: CKG => CK1
602 complex(CKG) , intent(in), contiguous :: sample(:,:)
603 complex(CKG) , intent(in), contiguous :: amount(:)
604 integer(IK) , intent(in) :: dim
605 type(transHerm_type), intent(in) :: operation
606 complex(CKG) :: sampleScaled(size(sample, 2, IK), size(sample, 1, IK))
607 end function
608#endif
609
610 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
611
612 end interface getScaled
613
614 ! CK ACK
615
616 interface getScaled
617
618 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
619
620#if CK5_ENABLED
621 PURE module function getScaled_ARK_ONO_D1_CK5(sample, amount) result(sampleScaled)
622#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
623 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_ONO_D1_CK5
624#endif
625 use pm_kind, only: CKG => CK5
626 complex(CKG) , intent(in), contiguous :: sample(:)
627 real(CKG) , intent(in) :: amount
628 complex(CKG) :: sampleScaled(size(sample, 1, IK))
629 end function
630#endif
631
632#if CK4_ENABLED
633 PURE module function getScaled_ARK_ONO_D1_CK4(sample, amount) result(sampleScaled)
634#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
635 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_ONO_D1_CK4
636#endif
637 use pm_kind, only: CKG => CK4
638 complex(CKG) , intent(in), contiguous :: sample(:)
639 real(CKG) , intent(in) :: amount
640 complex(CKG) :: sampleScaled(size(sample, 1, IK))
641 end function
642#endif
643
644#if CK3_ENABLED
645 PURE module function getScaled_ARK_ONO_D1_CK3(sample, amount) result(sampleScaled)
646#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
647 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_ONO_D1_CK3
648#endif
649 use pm_kind, only: CKG => CK3
650 complex(CKG) , intent(in), contiguous :: sample(:)
651 real(CKG) , intent(in) :: amount
652 complex(CKG) :: sampleScaled(size(sample, 1, IK))
653 end function
654#endif
655
656#if CK2_ENABLED
657 PURE module function getScaled_ARK_ONO_D1_CK2(sample, amount) result(sampleScaled)
658#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
659 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_ONO_D1_CK2
660#endif
661 use pm_kind, only: CKG => CK2
662 complex(CKG) , intent(in), contiguous :: sample(:)
663 real(CKG) , intent(in) :: amount
664 complex(CKG) :: sampleScaled(size(sample, 1, IK))
665 end function
666#endif
667
668#if CK1_ENABLED
669 PURE module function getScaled_ARK_ONO_D1_CK1(sample, amount) result(sampleScaled)
670#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
671 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_ONO_D1_CK1
672#endif
673 use pm_kind, only: CKG => CK1
674 complex(CKG) , intent(in), contiguous :: sample(:)
675 real(CKG) , intent(in) :: amount
676 complex(CKG) :: sampleScaled(size(sample, 1, IK))
677 end function
678#endif
679
680 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
681
682#if CK5_ENABLED
683 PURE module function getScaled_ARK_ONO_D2_CK5(sample, dim, amount) result(sampleScaled)
684#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
685 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_ONO_D2_CK5
686#endif
687 use pm_kind, only: CKG => CK5
688 complex(CKG) , intent(in), contiguous :: sample(:,:)
689 real(CKG) , intent(in), contiguous :: amount(:)
690 integer(IK) , intent(in) :: dim
691 complex(CKG) :: sampleScaled(size(sample, 1, IK), size(sample, 2, IK))
692 end function
693#endif
694
695#if CK4_ENABLED
696 PURE module function getScaled_ARK_ONO_D2_CK4(sample, dim, amount) result(sampleScaled)
697#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
698 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_ONO_D2_CK4
699#endif
700 use pm_kind, only: CKG => CK4
701 complex(CKG) , intent(in), contiguous :: sample(:,:)
702 real(CKG) , intent(in), contiguous :: amount(:)
703 integer(IK) , intent(in) :: dim
704 complex(CKG) :: sampleScaled(size(sample, 1, IK), size(sample, 2, IK))
705 end function
706#endif
707
708#if CK3_ENABLED
709 PURE module function getScaled_ARK_ONO_D2_CK3(sample, dim, amount) result(sampleScaled)
710#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
711 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_ONO_D2_CK3
712#endif
713 use pm_kind, only: CKG => CK3
714 complex(CKG) , intent(in), contiguous :: sample(:,:)
715 real(CKG) , intent(in), contiguous :: amount(:)
716 integer(IK) , intent(in) :: dim
717 complex(CKG) :: sampleScaled(size(sample, 1, IK), size(sample, 2, IK))
718 end function
719#endif
720
721#if CK2_ENABLED
722 PURE module function getScaled_ARK_ONO_D2_CK2(sample, dim, amount) result(sampleScaled)
723#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
724 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_ONO_D2_CK2
725#endif
726 use pm_kind, only: CKG => CK2
727 complex(CKG) , intent(in), contiguous :: sample(:,:)
728 real(CKG) , intent(in), contiguous :: amount(:)
729 integer(IK) , intent(in) :: dim
730 complex(CKG) :: sampleScaled(size(sample, 1, IK), size(sample, 2, IK))
731 end function
732#endif
733
734#if CK1_ENABLED
735 PURE module function getScaled_ARK_ONO_D2_CK1(sample, dim, amount) result(sampleScaled)
736#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
737 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_ONO_D2_CK1
738#endif
739 use pm_kind, only: CKG => CK1
740 complex(CKG) , intent(in), contiguous :: sample(:,:)
741 real(CKG) , intent(in), contiguous :: amount(:)
742 integer(IK) , intent(in) :: dim
743 complex(CKG) :: sampleScaled(size(sample, 1, IK), size(sample, 2, IK))
744 end function
745#endif
746
747 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
748
749#if CK5_ENABLED
750 PURE module function getScaled_ARK_OTH_D2_CK5(sample, dim, amount, operation) result(sampleScaled)
751#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
752 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_OTH_D2_CK5
753#endif
754 use pm_kind, only: CKG => CK5
755 complex(CKG) , intent(in), contiguous :: sample(:,:)
756 real(CKG) , intent(in), contiguous :: amount(:)
757 integer(IK) , intent(in) :: dim
758 type(transHerm_type), intent(in) :: operation
759 complex(CKG) :: sampleScaled(size(sample, 2, IK), size(sample, 1, IK))
760 end function
761#endif
762
763#if CK4_ENABLED
764 PURE module function getScaled_ARK_OTH_D2_CK4(sample, dim, amount, operation) result(sampleScaled)
765#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
766 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_OTH_D2_CK4
767#endif
768 use pm_kind, only: CKG => CK4
769 complex(CKG) , intent(in), contiguous :: sample(:,:)
770 real(CKG) , intent(in), contiguous :: amount(:)
771 integer(IK) , intent(in) :: dim
772 type(transHerm_type), intent(in) :: operation
773 complex(CKG) :: sampleScaled(size(sample, 2, IK), size(sample, 1, IK))
774 end function
775#endif
776
777#if CK3_ENABLED
778 PURE module function getScaled_ARK_OTH_D2_CK3(sample, dim, amount, operation) result(sampleScaled)
779#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
780 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_OTH_D2_CK3
781#endif
782 use pm_kind, only: CKG => CK3
783 complex(CKG) , intent(in), contiguous :: sample(:,:)
784 real(CKG) , intent(in), contiguous :: amount(:)
785 integer(IK) , intent(in) :: dim
786 type(transHerm_type), intent(in) :: operation
787 complex(CKG) :: sampleScaled(size(sample, 2, IK), size(sample, 1, IK))
788 end function
789#endif
790
791#if CK2_ENABLED
792 PURE module function getScaled_ARK_OTH_D2_CK2(sample, dim, amount, operation) result(sampleScaled)
793#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
794 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_OTH_D2_CK2
795#endif
796 use pm_kind, only: CKG => CK2
797 complex(CKG) , intent(in), contiguous :: sample(:,:)
798 real(CKG) , intent(in), contiguous :: amount(:)
799 integer(IK) , intent(in) :: dim
800 type(transHerm_type), intent(in) :: operation
801 complex(CKG) :: sampleScaled(size(sample, 2, IK), size(sample, 1, IK))
802 end function
803#endif
804
805#if CK1_ENABLED
806 PURE module function getScaled_ARK_OTH_D2_CK1(sample, dim, amount, operation) result(sampleScaled)
807#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
808 !DEC$ ATTRIBUTES DLLEXPORT :: getScaled_ARK_OTH_D2_CK1
809#endif
810 use pm_kind, only: CKG => CK1
811 complex(CKG) , intent(in), contiguous :: sample(:,:)
812 real(CKG) , intent(in), contiguous :: amount(:)
813 integer(IK) , intent(in) :: dim
814 type(transHerm_type), intent(in) :: operation
815 complex(CKG) :: sampleScaled(size(sample, 2, IK), size(sample, 1, IK))
816 end function
817#endif
818
819 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
820
821 end interface getScaled
822
823!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
824
912
913 ! RK ARK
914
915 interface setScaled
916
917 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
918
919#if RK5_ENABLED
920 PURE module subroutine setScaled_ARK_D1_RK5(sample, amount)
921#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
922 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ARK_D1_RK5
923#endif
924 use pm_kind, only: RKG => RK4
925 real(RKG) , intent(inout) , contiguous :: sample(:)
926 real(RKG) , intent(in) :: amount
927 end subroutine
928#endif
929
930#if RK4_ENABLED
931 PURE module subroutine setScaled_ARK_D1_RK4(sample, amount)
932#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
933 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ARK_D1_RK4
934#endif
935 use pm_kind, only: RKG => RK4
936 real(RKG) , intent(inout) , contiguous :: sample(:)
937 real(RKG) , intent(in) :: amount
938 end subroutine
939#endif
940
941#if RK3_ENABLED
942 PURE module subroutine setScaled_ARK_D1_RK3(sample, amount)
943#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
944 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ARK_D1_RK3
945#endif
946 use pm_kind, only: RKG => RK3
947 real(RKG) , intent(inout) , contiguous :: sample(:)
948 real(RKG) , intent(in) :: amount
949 end subroutine
950#endif
951
952#if RK2_ENABLED
953 PURE module subroutine setScaled_ARK_D1_RK2(sample, amount)
954#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
955 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ARK_D1_RK2
956#endif
957 use pm_kind, only: RKG => RK2
958 real(RKG) , intent(inout) , contiguous :: sample(:)
959 real(RKG) , intent(in) :: amount
960 end subroutine
961#endif
962
963#if RK1_ENABLED
964 PURE module subroutine setScaled_ARK_D1_RK1(sample, amount)
965#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
966 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ARK_D1_RK1
967#endif
968 use pm_kind, only: RKG => RK1
969 real(RKG) , intent(inout) , contiguous :: sample(:)
970 real(RKG) , intent(in) :: amount
971 end subroutine
972#endif
973
974 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
975
976#if RK5_ENABLED
977 PURE module subroutine setScaled_ARK_D2_RK5(sample, dim, amount)
978#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
979 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ARK_D2_RK5
980#endif
981 use pm_kind, only: RKG => RK5
982 integer(IK) , intent(in) :: dim
983 real(RKG) , intent(in) , contiguous :: amount(:)
984 real(RKG) , intent(inout) , contiguous :: sample(:,:)
985 end subroutine
986#endif
987
988#if RK4_ENABLED
989 PURE module subroutine setScaled_ARK_D2_RK4(sample, dim, amount)
990#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
991 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ARK_D2_RK4
992#endif
993 use pm_kind, only: RKG => RK4
994 integer(IK) , intent(in) :: dim
995 real(RKG) , intent(in) , contiguous :: amount(:)
996 real(RKG) , intent(inout) , contiguous :: sample(:,:)
997 end subroutine
998#endif
999
1000#if RK3_ENABLED
1001 PURE module subroutine setScaled_ARK_D2_RK3(sample, dim, amount)
1002#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1003 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ARK_D2_RK3
1004#endif
1005 use pm_kind, only: RKG => RK3
1006 integer(IK) , intent(in) :: dim
1007 real(RKG) , intent(in) , contiguous :: amount(:)
1008 real(RKG) , intent(inout) , contiguous :: sample(:,:)
1009 end subroutine
1010#endif
1011
1012#if RK2_ENABLED
1013 PURE module subroutine setScaled_ARK_D2_RK2(sample, dim, amount)
1014#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1015 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ARK_D2_RK2
1016#endif
1017 use pm_kind, only: RKG => RK2
1018 integer(IK) , intent(in) :: dim
1019 real(RKG) , intent(in) , contiguous :: amount(:)
1020 real(RKG) , intent(inout) , contiguous :: sample(:,:)
1021 end subroutine
1022#endif
1023
1024#if RK1_ENABLED
1025 PURE module subroutine setScaled_ARK_D2_RK1(sample, dim, amount)
1026#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1027 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ARK_D2_RK1
1028#endif
1029 use pm_kind, only: RKG => RK1
1030 integer(IK) , intent(in) :: dim
1031 real(RKG) , intent(in) , contiguous :: amount(:)
1032 real(RKG) , intent(inout) , contiguous :: sample(:,:)
1033 end subroutine
1034#endif
1035
1036 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1037
1038 end interface setScaled
1039
1040 ! CK ARK
1041
1042 interface setScaled
1043
1044 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1045
1046#if CK5_ENABLED
1047 PURE module subroutine setScaled_ARK_D1_CK5(sample, amount)
1048#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1049 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ARK_D1_CK5
1050#endif
1051 use pm_kind, only: CKG => CK4
1052 complex(CKG) , intent(inout) , contiguous :: sample(:)
1053 real(CKG) , intent(in) :: amount
1054 end subroutine
1055#endif
1056
1057#if CK4_ENABLED
1058 PURE module subroutine setScaled_ARK_D1_CK4(sample, amount)
1059#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1060 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ARK_D1_CK4
1061#endif
1062 use pm_kind, only: CKG => CK4
1063 complex(CKG) , intent(inout) , contiguous :: sample(:)
1064 real(CKG) , intent(in) :: amount
1065 end subroutine
1066#endif
1067
1068#if CK3_ENABLED
1069 PURE module subroutine setScaled_ARK_D1_CK3(sample, amount)
1070#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1071 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ARK_D1_CK3
1072#endif
1073 use pm_kind, only: CKG => CK3
1074 complex(CKG) , intent(inout) , contiguous :: sample(:)
1075 real(CKG) , intent(in) :: amount
1076 end subroutine
1077#endif
1078
1079#if CK2_ENABLED
1080 PURE module subroutine setScaled_ARK_D1_CK2(sample, amount)
1081#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1082 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ARK_D1_CK2
1083#endif
1084 use pm_kind, only: CKG => CK2
1085 complex(CKG) , intent(inout) , contiguous :: sample(:)
1086 real(CKG) , intent(in) :: amount
1087 end subroutine
1088#endif
1089
1090#if CK1_ENABLED
1091 PURE module subroutine setScaled_ARK_D1_CK1(sample, amount)
1092#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1093 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ARK_D1_CK1
1094#endif
1095 use pm_kind, only: CKG => CK1
1096 complex(CKG) , intent(inout) , contiguous :: sample(:)
1097 real(CKG) , intent(in) :: amount
1098 end subroutine
1099#endif
1100
1101 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1102
1103#if CK5_ENABLED
1104 PURE module subroutine setScaled_ARK_D2_CK5(sample, dim, amount)
1105#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1106 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ARK_D2_CK5
1107#endif
1108 use pm_kind, only: CKG => CK5
1109 integer(IK) , intent(in) :: dim
1110 real(CKG) , intent(in) , contiguous :: amount(:)
1111 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1112 end subroutine
1113#endif
1114
1115#if CK4_ENABLED
1116 PURE module subroutine setScaled_ARK_D2_CK4(sample, dim, amount)
1117#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1118 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ARK_D2_CK4
1119#endif
1120 use pm_kind, only: CKG => CK4
1121 integer(IK) , intent(in) :: dim
1122 real(CKG) , intent(in) , contiguous :: amount(:)
1123 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1124 end subroutine
1125#endif
1126
1127#if CK3_ENABLED
1128 PURE module subroutine setScaled_ARK_D2_CK3(sample, dim, amount)
1129#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1130 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ARK_D2_CK3
1131#endif
1132 use pm_kind, only: CKG => CK3
1133 integer(IK) , intent(in) :: dim
1134 real(CKG) , intent(in) , contiguous :: amount(:)
1135 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1136 end subroutine
1137#endif
1138
1139#if CK2_ENABLED
1140 PURE module subroutine setScaled_ARK_D2_CK2(sample, dim, amount)
1141#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1142 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ARK_D2_CK2
1143#endif
1144 use pm_kind, only: CKG => CK2
1145 integer(IK) , intent(in) :: dim
1146 real(CKG) , intent(in) , contiguous :: amount(:)
1147 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1148 end subroutine
1149#endif
1150
1151#if CK1_ENABLED
1152 PURE module subroutine setScaled_ARK_D2_CK1(sample, dim, amount)
1153#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1154 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ARK_D2_CK1
1155#endif
1156 use pm_kind, only: CKG => CK1
1157 integer(IK) , intent(in) :: dim
1158 real(CKG) , intent(in) , contiguous :: amount(:)
1159 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1160 end subroutine
1161#endif
1162
1163 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1164
1165 end interface setScaled
1166
1167 ! CK ACK
1168
1169 interface setScaled
1170
1171 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1172
1173#if CK5_ENABLED
1174 PURE module subroutine setScaled_ACK_D1_CK5(sample, amount)
1175#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1176 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ACK_D1_CK5
1177#endif
1178 use pm_kind, only: CKG => CK4
1179 complex(CKG) , intent(inout) , contiguous :: sample(:)
1180 complex(CKG) , intent(in) :: amount
1181 end subroutine
1182#endif
1183
1184#if CK4_ENABLED
1185 PURE module subroutine setScaled_ACK_D1_CK4(sample, amount)
1186#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1187 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ACK_D1_CK4
1188#endif
1189 use pm_kind, only: CKG => CK4
1190 complex(CKG) , intent(inout) , contiguous :: sample(:)
1191 complex(CKG) , intent(in) :: amount
1192 end subroutine
1193#endif
1194
1195#if CK3_ENABLED
1196 PURE module subroutine setScaled_ACK_D1_CK3(sample, amount)
1197#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1198 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ACK_D1_CK3
1199#endif
1200 use pm_kind, only: CKG => CK3
1201 complex(CKG) , intent(inout) , contiguous :: sample(:)
1202 complex(CKG) , intent(in) :: amount
1203 end subroutine
1204#endif
1205
1206#if CK2_ENABLED
1207 PURE module subroutine setScaled_ACK_D1_CK2(sample, amount)
1208#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1209 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ACK_D1_CK2
1210#endif
1211 use pm_kind, only: CKG => CK2
1212 complex(CKG) , intent(inout) , contiguous :: sample(:)
1213 complex(CKG) , intent(in) :: amount
1214 end subroutine
1215#endif
1216
1217#if CK1_ENABLED
1218 PURE module subroutine setScaled_ACK_D1_CK1(sample, amount)
1219#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1220 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ACK_D1_CK1
1221#endif
1222 use pm_kind, only: CKG => CK1
1223 complex(CKG) , intent(inout) , contiguous :: sample(:)
1224 complex(CKG) , intent(in) :: amount
1225 end subroutine
1226#endif
1227
1228 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1229
1230#if CK5_ENABLED
1231 PURE module subroutine setScaled_ACK_D2_CK5(sample, dim, amount)
1232#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1233 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ACK_D2_CK5
1234#endif
1235 use pm_kind, only: CKG => CK5
1236 integer(IK) , intent(in) :: dim
1237 complex(CKG) , intent(in) , contiguous :: amount(:)
1238 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1239 end subroutine
1240#endif
1241
1242#if CK4_ENABLED
1243 PURE module subroutine setScaled_ACK_D2_CK4(sample, dim, amount)
1244#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1245 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ACK_D2_CK4
1246#endif
1247 use pm_kind, only: CKG => CK4
1248 integer(IK) , intent(in) :: dim
1249 complex(CKG) , intent(in) , contiguous :: amount(:)
1250 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1251 end subroutine
1252#endif
1253
1254#if CK3_ENABLED
1255 PURE module subroutine setScaled_ACK_D2_CK3(sample, dim, amount)
1256#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1257 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ACK_D2_CK3
1258#endif
1259 use pm_kind, only: CKG => CK3
1260 integer(IK) , intent(in) :: dim
1261 complex(CKG) , intent(in) , contiguous :: amount(:)
1262 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1263 end subroutine
1264#endif
1265
1266#if CK2_ENABLED
1267 PURE module subroutine setScaled_ACK_D2_CK2(sample, dim, amount)
1268#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1269 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ACK_D2_CK2
1270#endif
1271 use pm_kind, only: CKG => CK2
1272 integer(IK) , intent(in) :: dim
1273 complex(CKG) , intent(in) , contiguous :: amount(:)
1274 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1275 end subroutine
1276#endif
1277
1278#if CK1_ENABLED
1279 PURE module subroutine setScaled_ACK_D2_CK1(sample, dim, amount)
1280#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1281 !DEC$ ATTRIBUTES DLLEXPORT :: setScaled_ACK_D2_CK1
1282#endif
1283 use pm_kind, only: CKG => CK1
1284 integer(IK) , intent(in) :: dim
1285 complex(CKG) , intent(in) , contiguous :: amount(:)
1286 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1287 end subroutine
1288#endif
1289
1290 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1291
1292 end interface setScaled
1293
1294!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1295
1296end module pm_sampleScale ! LCOV_EXCL_LINE
Generate a sample of shape (nsam), or (ndim, nsam) or (nsam, ndim) that is scaled by the specified in...
Return a sample of shape (nsam), or (ndim, nsam) or (nsam, ndim) that is scaled by the specified inpu...
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter RK5
Definition: pm_kind.F90:478
integer, parameter RK4
Definition: pm_kind.F90:489
integer, parameter RK2
Definition: pm_kind.F90:511
integer, parameter CK1
Definition: pm_kind.F90:464
integer, parameter RK3
Definition: pm_kind.F90:500
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
Definition: pm_kind.F90:541
integer, parameter CK5
Definition: pm_kind.F90:420
integer, parameter CK4
Definition: pm_kind.F90:431
integer, parameter CK2
Definition: pm_kind.F90:453
integer, parameter CK3
Definition: pm_kind.F90:442
integer, parameter IK
The default integer kind in the ParaMonte library: int32 in Fortran, c_int32_t in C-Fortran Interoper...
Definition: pm_kind.F90:540
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
Definition: pm_kind.F90:539
integer, parameter RK1
Definition: pm_kind.F90:522
This module contains abstract and concrete derived types and procedures related to various common mat...
character(*, SK), parameter MODULE_NAME
type(transHerm_type), parameter transHerm
This is a scalar parameter object of type transHerm_type that is exclusively used to request Hermitia...
This module contains classes and procedures for scaling (i.e., multiplying) univariate or multivariat...
type(stdscale_type), parameter stdscale
This is a concrete derived type whose instances are exclusively used to request Hermitian (conjugate)...
This is the derived type whose instances are meant to signify a sample scaling by an amount equal to ...