ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_sampleShift.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
56
57!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
58
60
61 use pm_kind, only: SK, IK, LK
63
64 implicit none
65
66 character(*, SK), parameter :: MODULE_NAME = "@pm_sampleShift"
67
68!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
69
87 type :: meanshift_type; end type
88 type(meanshift_type), parameter :: meanshift = meanshift_type()
89#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
90 !DIR$ ATTRIBUTES DLLEXPORT :: meanshift
91#endif
92
93!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
94
194
195 ! DIM
196
197 interface getShifted
198
199 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
200 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
201 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
202
203 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
204
205#if CK5_ENABLED
206 PURE module function getShiftedDIM_ONO_D1_CK5(sample, dim, amount) result(sampleShifted)
207#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
208 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_ONO_D1_CK5
209#endif
210 use pm_kind, only: CKG => CK5
211 complex(CKG) , intent(in), contiguous :: sample(:)
212 complex(CKG) , intent(in) :: amount
213 integer(IK) , intent(in) :: dim
214 complex(CKG) :: sampleShifted(size(sample, 1, IK))
215 end function
216#endif
217
218#if CK4_ENABLED
219 PURE module function getShiftedDIM_ONO_D1_CK4(sample, dim, amount) result(sampleShifted)
220#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
221 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_ONO_D1_CK4
222#endif
223 use pm_kind, only: CKG => CK4
224 complex(CKG) , intent(in), contiguous :: sample(:)
225 complex(CKG) , intent(in) :: amount
226 integer(IK) , intent(in) :: dim
227 complex(CKG) :: sampleShifted(size(sample, 1, IK))
228 end function
229#endif
230
231#if CK3_ENABLED
232 PURE module function getShiftedDIM_ONO_D1_CK3(sample, dim, amount) result(sampleShifted)
233#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
234 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_ONO_D1_CK3
235#endif
236 use pm_kind, only: CKG => CK3
237 complex(CKG) , intent(in), contiguous :: sample(:)
238 complex(CKG) , intent(in) :: amount
239 integer(IK) , intent(in) :: dim
240 complex(CKG) :: sampleShifted(size(sample, 1, IK))
241 end function
242#endif
243
244#if CK2_ENABLED
245 PURE module function getShiftedDIM_ONO_D1_CK2(sample, dim, amount) result(sampleShifted)
246#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
247 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_ONO_D1_CK2
248#endif
249 use pm_kind, only: CKG => CK2
250 complex(CKG) , intent(in), contiguous :: sample(:)
251 complex(CKG) , intent(in) :: amount
252 integer(IK) , intent(in) :: dim
253 complex(CKG) :: sampleShifted(size(sample, 1, IK))
254 end function
255#endif
256
257#if CK1_ENABLED
258 PURE module function getShiftedDIM_ONO_D1_CK1(sample, dim, amount) result(sampleShifted)
259#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
260 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_ONO_D1_CK1
261#endif
262 use pm_kind, only: CKG => CK1
263 complex(CKG) , intent(in), contiguous :: sample(:)
264 complex(CKG) , intent(in) :: amount
265 integer(IK) , intent(in) :: dim
266 complex(CKG) :: sampleShifted(size(sample, 1, IK))
267 end function
268#endif
269
270 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
271
272#if RK5_ENABLED
273 PURE module function getShiftedDIM_ONO_D1_RK5(sample, dim, amount) result(sampleShifted)
274#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
275 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_ONO_D1_RK5
276#endif
277 use pm_kind, only: RKG => RK5
278 real(RKG) , intent(in), contiguous :: sample(:)
279 real(RKG) , intent(in) :: amount
280 integer(IK) , intent(in) :: dim
281 real(RKG) :: sampleShifted(size(sample, 1, IK))
282 end function
283#endif
284
285#if RK4_ENABLED
286 PURE module function getShiftedDIM_ONO_D1_RK4(sample, dim, amount) result(sampleShifted)
287#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
288 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_ONO_D1_RK4
289#endif
290 use pm_kind, only: RKG => RK4
291 real(RKG) , intent(in), contiguous :: sample(:)
292 real(RKG) , intent(in) :: amount
293 integer(IK) , intent(in) :: dim
294 real(RKG) :: sampleShifted(size(sample, 1, IK))
295 end function
296#endif
297
298#if RK3_ENABLED
299 PURE module function getShiftedDIM_ONO_D1_RK3(sample, dim, amount) result(sampleShifted)
300#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
301 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_ONO_D1_RK3
302#endif
303 use pm_kind, only: RKG => RK3
304 real(RKG) , intent(in), contiguous :: sample(:)
305 real(RKG) , intent(in) :: amount
306 integer(IK) , intent(in) :: dim
307 real(RKG) :: sampleShifted(size(sample, 1, IK))
308 end function
309#endif
310
311#if RK2_ENABLED
312 PURE module function getShiftedDIM_ONO_D1_RK2(sample, dim, amount) result(sampleShifted)
313#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
314 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_ONO_D1_RK2
315#endif
316 use pm_kind, only: RKG => RK2
317 real(RKG) , intent(in), contiguous :: sample(:)
318 real(RKG) , intent(in) :: amount
319 integer(IK) , intent(in) :: dim
320 real(RKG) :: sampleShifted(size(sample, 1, IK))
321 end function
322#endif
323
324#if RK1_ENABLED
325 PURE module function getShiftedDIM_ONO_D1_RK1(sample, dim, amount) result(sampleShifted)
326#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
327 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_ONO_D1_RK1
328#endif
329 use pm_kind, only: RKG => RK1
330 real(RKG) , intent(in), contiguous :: sample(:)
331 real(RKG) , intent(in) :: amount
332 integer(IK) , intent(in) :: dim
333 real(RKG) :: sampleShifted(size(sample, 1, IK))
334 end function
335#endif
336
337 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
338
339 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
340 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
341 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
342
343 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
344
345#if CK5_ENABLED
346 PURE module function getShiftedDIM_ONO_D2_CK5(sample, dim, amount) result(sampleShifted)
347#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
348 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_ONO_D2_CK5
349#endif
350 use pm_kind, only: CKG => CK5
351 complex(CKG) , intent(in), contiguous :: sample(:,:)
352 complex(CKG) , intent(in), contiguous :: amount(:)
353 integer(IK) , intent(in) :: dim
354 complex(CKG) :: sampleShifted(size(sample, 1, IK), size(sample, 2, IK))
355 end function
356#endif
357
358#if CK4_ENABLED
359 PURE module function getShiftedDIM_ONO_D2_CK4(sample, dim, amount) result(sampleShifted)
360#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
361 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_ONO_D2_CK4
362#endif
363 use pm_kind, only: CKG => CK4
364 complex(CKG) , intent(in), contiguous :: sample(:,:)
365 complex(CKG) , intent(in), contiguous :: amount(:)
366 integer(IK) , intent(in) :: dim
367 complex(CKG) :: sampleShifted(size(sample, 1, IK), size(sample, 2, IK))
368 end function
369#endif
370
371#if CK3_ENABLED
372 PURE module function getShiftedDIM_ONO_D2_CK3(sample, dim, amount) result(sampleShifted)
373#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
374 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_ONO_D2_CK3
375#endif
376 use pm_kind, only: CKG => CK3
377 complex(CKG) , intent(in), contiguous :: sample(:,:)
378 complex(CKG) , intent(in), contiguous :: amount(:)
379 integer(IK) , intent(in) :: dim
380 complex(CKG) :: sampleShifted(size(sample, 1, IK), size(sample, 2, IK))
381 end function
382#endif
383
384#if CK2_ENABLED
385 PURE module function getShiftedDIM_ONO_D2_CK2(sample, dim, amount) result(sampleShifted)
386#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
387 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_ONO_D2_CK2
388#endif
389 use pm_kind, only: CKG => CK2
390 complex(CKG) , intent(in), contiguous :: sample(:,:)
391 complex(CKG) , intent(in), contiguous :: amount(:)
392 integer(IK) , intent(in) :: dim
393 complex(CKG) :: sampleShifted(size(sample, 1, IK), size(sample, 2, IK))
394 end function
395#endif
396
397#if CK1_ENABLED
398 PURE module function getShiftedDIM_ONO_D2_CK1(sample, dim, amount) result(sampleShifted)
399#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
400 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_ONO_D2_CK1
401#endif
402 use pm_kind, only: CKG => CK1
403 complex(CKG) , intent(in), contiguous :: sample(:,:)
404 complex(CKG) , intent(in), contiguous :: amount(:)
405 integer(IK) , intent(in) :: dim
406 complex(CKG) :: sampleShifted(size(sample, 1, IK), size(sample, 2, IK))
407 end function
408#endif
409
410 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
411
412#if RK5_ENABLED
413 PURE module function getShiftedDIM_ONO_D2_RK5(sample, dim, amount) result(sampleShifted)
414#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
415 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_ONO_D2_RK5
416#endif
417 use pm_kind, only: RKG => RK5
418 real(RKG) , intent(in), contiguous :: sample(:,:)
419 real(RKG) , intent(in), contiguous :: amount(:)
420 integer(IK) , intent(in) :: dim
421 real(RKG) :: sampleShifted(size(sample, 1, IK), size(sample, 2, IK))
422 end function
423#endif
424
425#if RK4_ENABLED
426 PURE module function getShiftedDIM_ONO_D2_RK4(sample, dim, amount) result(sampleShifted)
427#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
428 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_ONO_D2_RK4
429#endif
430 use pm_kind, only: RKG => RK4
431 real(RKG) , intent(in), contiguous :: sample(:,:)
432 real(RKG) , intent(in), contiguous :: amount(:)
433 integer(IK) , intent(in) :: dim
434 real(RKG) :: sampleShifted(size(sample, 1, IK), size(sample, 2, IK))
435 end function
436#endif
437
438#if RK3_ENABLED
439 PURE module function getShiftedDIM_ONO_D2_RK3(sample, dim, amount) result(sampleShifted)
440#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
441 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_ONO_D2_RK3
442#endif
443 use pm_kind, only: RKG => RK3
444 real(RKG) , intent(in), contiguous :: sample(:,:)
445 real(RKG) , intent(in), contiguous :: amount(:)
446 integer(IK) , intent(in) :: dim
447 real(RKG) :: sampleShifted(size(sample, 1, IK), size(sample, 2, IK))
448 end function
449#endif
450
451#if RK2_ENABLED
452 PURE module function getShiftedDIM_ONO_D2_RK2(sample, dim, amount) result(sampleShifted)
453#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
454 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_ONO_D2_RK2
455#endif
456 use pm_kind, only: RKG => RK2
457 real(RKG) , intent(in), contiguous :: sample(:,:)
458 real(RKG) , intent(in), contiguous :: amount(:)
459 integer(IK) , intent(in) :: dim
460 real(RKG) :: sampleShifted(size(sample, 1, IK), size(sample, 2, IK))
461 end function
462#endif
463
464#if RK1_ENABLED
465 PURE module function getShiftedDIM_ONO_D2_RK1(sample, dim, amount) result(sampleShifted)
466#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
467 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_ONO_D2_RK1
468#endif
469 use pm_kind, only: RKG => RK1
470 real(RKG) , intent(in), contiguous :: sample(:,:)
471 real(RKG) , intent(in), contiguous :: amount(:)
472 integer(IK) , intent(in) :: dim
473 real(RKG) :: sampleShifted(size(sample, 1, IK), size(sample, 2, IK))
474 end function
475#endif
476
477 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
478
479 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
480 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
481 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
482
483 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
484
485#if CK5_ENABLED
486 PURE module function getShiftedDIM_OTH_D2_CK5(sample, dim, amount, operation) result(sampleShifted)
487#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
488 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_OTH_D2_CK5
489#endif
490 use pm_kind, only: CKG => CK5
491 complex(CKG) , intent(in), contiguous :: sample(:,:)
492 complex(CKG) , intent(in), contiguous :: amount(:)
493 integer(IK) , intent(in) :: dim
494 type(transHerm_type), intent(in) :: operation
495 complex(CKG) :: sampleShifted(size(sample, 2, IK), size(sample, 1, IK))
496 end function
497#endif
498
499#if CK4_ENABLED
500 PURE module function getShiftedDIM_OTH_D2_CK4(sample, dim, amount, operation) result(sampleShifted)
501#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
502 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_OTH_D2_CK4
503#endif
504 use pm_kind, only: CKG => CK4
505 complex(CKG) , intent(in), contiguous :: sample(:,:)
506 complex(CKG) , intent(in), contiguous :: amount(:)
507 integer(IK) , intent(in) :: dim
508 type(transHerm_type), intent(in) :: operation
509 complex(CKG) :: sampleShifted(size(sample, 2, IK), size(sample, 1, IK))
510 end function
511#endif
512
513#if CK3_ENABLED
514 PURE module function getShiftedDIM_OTH_D2_CK3(sample, dim, amount, operation) result(sampleShifted)
515#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
516 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_OTH_D2_CK3
517#endif
518 use pm_kind, only: CKG => CK3
519 complex(CKG) , intent(in), contiguous :: sample(:,:)
520 complex(CKG) , intent(in), contiguous :: amount(:)
521 integer(IK) , intent(in) :: dim
522 type(transHerm_type), intent(in) :: operation
523 complex(CKG) :: sampleShifted(size(sample, 2, IK), size(sample, 1, IK))
524 end function
525#endif
526
527#if CK2_ENABLED
528 PURE module function getShiftedDIM_OTH_D2_CK2(sample, dim, amount, operation) result(sampleShifted)
529#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
530 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_OTH_D2_CK2
531#endif
532 use pm_kind, only: CKG => CK2
533 complex(CKG) , intent(in), contiguous :: sample(:,:)
534 complex(CKG) , intent(in), contiguous :: amount(:)
535 integer(IK) , intent(in) :: dim
536 type(transHerm_type), intent(in) :: operation
537 complex(CKG) :: sampleShifted(size(sample, 2, IK), size(sample, 1, IK))
538 end function
539#endif
540
541#if CK1_ENABLED
542 PURE module function getShiftedDIM_OTH_D2_CK1(sample, dim, amount, operation) result(sampleShifted)
543#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
544 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_OTH_D2_CK1
545#endif
546 use pm_kind, only: CKG => CK1
547 complex(CKG) , intent(in), contiguous :: sample(:,:)
548 complex(CKG) , intent(in), contiguous :: amount(:)
549 integer(IK) , intent(in) :: dim
550 type(transHerm_type), intent(in) :: operation
551 complex(CKG) :: sampleShifted(size(sample, 2, IK), size(sample, 1, IK))
552 end function
553#endif
554
555 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
556
557#if RK5_ENABLED
558 PURE module function getShiftedDIM_OTH_D2_RK5(sample, dim, amount, operation) result(sampleShifted)
559#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
560 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_OTH_D2_RK5
561#endif
562 use pm_kind, only: RKG => RK5
563 real(RKG) , intent(in), contiguous :: sample(:,:)
564 real(RKG) , intent(in), contiguous :: amount(:)
565 integer(IK) , intent(in) :: dim
566 type(transHerm_type), intent(in) :: operation
567 real(RKG) :: sampleShifted(size(sample, 2, IK), size(sample, 1, IK))
568 end function
569#endif
570
571#if RK4_ENABLED
572 PURE module function getShiftedDIM_OTH_D2_RK4(sample, dim, amount, operation) result(sampleShifted)
573#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
574 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_OTH_D2_RK4
575#endif
576 use pm_kind, only: RKG => RK4
577 real(RKG) , intent(in), contiguous :: sample(:,:)
578 real(RKG) , intent(in), contiguous :: amount(:)
579 integer(IK) , intent(in) :: dim
580 type(transHerm_type), intent(in) :: operation
581 real(RKG) :: sampleShifted(size(sample, 2, IK), size(sample, 1, IK))
582 end function
583#endif
584
585#if RK3_ENABLED
586 PURE module function getShiftedDIM_OTH_D2_RK3(sample, dim, amount, operation) result(sampleShifted)
587#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
588 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_OTH_D2_RK3
589#endif
590 use pm_kind, only: RKG => RK3
591 real(RKG) , intent(in), contiguous :: sample(:,:)
592 real(RKG) , intent(in), contiguous :: amount(:)
593 integer(IK) , intent(in) :: dim
594 type(transHerm_type), intent(in) :: operation
595 real(RKG) :: sampleShifted(size(sample, 2, IK), size(sample, 1, IK))
596 end function
597#endif
598
599#if RK2_ENABLED
600 PURE module function getShiftedDIM_OTH_D2_RK2(sample, dim, amount, operation) result(sampleShifted)
601#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
602 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_OTH_D2_RK2
603#endif
604 use pm_kind, only: RKG => RK2
605 real(RKG) , intent(in), contiguous :: sample(:,:)
606 real(RKG) , intent(in), contiguous :: amount(:)
607 integer(IK) , intent(in) :: dim
608 type(transHerm_type), intent(in) :: operation
609 real(RKG) :: sampleShifted(size(sample, 2, IK), size(sample, 1, IK))
610 end function
611#endif
612
613#if RK1_ENABLED
614 PURE module function getShiftedDIM_OTH_D2_RK1(sample, dim, amount, operation) result(sampleShifted)
615#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
616 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedDIM_OTH_D2_RK1
617#endif
618 use pm_kind, only: RKG => RK1
619 real(RKG) , intent(in), contiguous :: sample(:,:)
620 real(RKG) , intent(in), contiguous :: amount(:)
621 integer(IK) , intent(in) :: dim
622 type(transHerm_type), intent(in) :: operation
623 real(RKG) :: sampleShifted(size(sample, 2, IK), size(sample, 1, IK))
624 end function
625#endif
626
627 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
628
629 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
630 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
631 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
632
633 end interface getShifted
634
635 ! ALL
636
637 interface getShifted
638
639 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
640 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
641 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
642
643 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
644
645#if CK5_ENABLED
646 PURE module function getShiftedALL_ONO_D1_CK5(sample, amount) result(sampleShifted)
647#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
648 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_ONO_D1_CK5
649#endif
650 use pm_kind, only: CKG => CK5
651 complex(CKG) , intent(in), contiguous :: sample(:)
652 complex(CKG) , intent(in) :: amount
653 complex(CKG) :: sampleShifted(size(sample, 1, IK))
654 end function
655#endif
656
657#if CK4_ENABLED
658 PURE module function getShiftedALL_ONO_D1_CK4(sample, amount) result(sampleShifted)
659#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
660 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_ONO_D1_CK4
661#endif
662 use pm_kind, only: CKG => CK4
663 complex(CKG) , intent(in), contiguous :: sample(:)
664 complex(CKG) , intent(in) :: amount
665 complex(CKG) :: sampleShifted(size(sample, 1, IK))
666 end function
667#endif
668
669#if CK3_ENABLED
670 PURE module function getShiftedALL_ONO_D1_CK3(sample, amount) result(sampleShifted)
671#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
672 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_ONO_D1_CK3
673#endif
674 use pm_kind, only: CKG => CK3
675 complex(CKG) , intent(in), contiguous :: sample(:)
676 complex(CKG) , intent(in) :: amount
677 complex(CKG) :: sampleShifted(size(sample, 1, IK))
678 end function
679#endif
680
681#if CK2_ENABLED
682 PURE module function getShiftedALL_ONO_D1_CK2(sample, amount) result(sampleShifted)
683#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
684 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_ONO_D1_CK2
685#endif
686 use pm_kind, only: CKG => CK2
687 complex(CKG) , intent(in), contiguous :: sample(:)
688 complex(CKG) , intent(in) :: amount
689 complex(CKG) :: sampleShifted(size(sample, 1, IK))
690 end function
691#endif
692
693#if CK1_ENABLED
694 PURE module function getShiftedALL_ONO_D1_CK1(sample, amount) result(sampleShifted)
695#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
696 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_ONO_D1_CK1
697#endif
698 use pm_kind, only: CKG => CK1
699 complex(CKG) , intent(in), contiguous :: sample(:)
700 complex(CKG) , intent(in) :: amount
701 complex(CKG) :: sampleShifted(size(sample, 1, IK))
702 end function
703#endif
704
705 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
706
707#if RK5_ENABLED
708 PURE module function getShiftedALL_ONO_D1_RK5(sample, amount) result(sampleShifted)
709#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
710 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_ONO_D1_RK5
711#endif
712 use pm_kind, only: RKG => RK5
713 real(RKG) , intent(in), contiguous :: sample(:)
714 real(RKG) , intent(in) :: amount
715 real(RKG) :: sampleShifted(size(sample, 1, IK))
716 end function
717#endif
718
719#if RK4_ENABLED
720 PURE module function getShiftedALL_ONO_D1_RK4(sample, amount) result(sampleShifted)
721#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
722 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_ONO_D1_RK4
723#endif
724 use pm_kind, only: RKG => RK4
725 real(RKG) , intent(in), contiguous :: sample(:)
726 real(RKG) , intent(in) :: amount
727 real(RKG) :: sampleShifted(size(sample, 1, IK))
728 end function
729#endif
730
731#if RK3_ENABLED
732 PURE module function getShiftedALL_ONO_D1_RK3(sample, amount) result(sampleShifted)
733#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
734 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_ONO_D1_RK3
735#endif
736 use pm_kind, only: RKG => RK3
737 real(RKG) , intent(in), contiguous :: sample(:)
738 real(RKG) , intent(in) :: amount
739 real(RKG) :: sampleShifted(size(sample, 1, IK))
740 end function
741#endif
742
743#if RK2_ENABLED
744 PURE module function getShiftedALL_ONO_D1_RK2(sample, amount) result(sampleShifted)
745#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
746 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_ONO_D1_RK2
747#endif
748 use pm_kind, only: RKG => RK2
749 real(RKG) , intent(in), contiguous :: sample(:)
750 real(RKG) , intent(in) :: amount
751 real(RKG) :: sampleShifted(size(sample, 1, IK))
752 end function
753#endif
754
755#if RK1_ENABLED
756 PURE module function getShiftedALL_ONO_D1_RK1(sample, amount) result(sampleShifted)
757#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
758 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_ONO_D1_RK1
759#endif
760 use pm_kind, only: RKG => RK1
761 real(RKG) , intent(in), contiguous :: sample(:)
762 real(RKG) , intent(in) :: amount
763 real(RKG) :: sampleShifted(size(sample, 1, IK))
764 end function
765#endif
766
767 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
768
769 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
770 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
771 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
772
773 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
774
775#if CK5_ENABLED
776 PURE module function getShiftedALL_ONO_D2_CK5(sample, amount) result(sampleShifted)
777#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
778 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_ONO_D2_CK5
779#endif
780 use pm_kind, only: CKG => CK5
781 complex(CKG) , intent(in), contiguous :: sample(:,:)
782 complex(CKG) , intent(in) :: amount
783 complex(CKG) :: sampleShifted(size(sample, 1, IK), size(sample, 2, IK))
784 end function
785#endif
786
787#if CK4_ENABLED
788 PURE module function getShiftedALL_ONO_D2_CK4(sample, amount) result(sampleShifted)
789#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
790 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_ONO_D2_CK4
791#endif
792 use pm_kind, only: CKG => CK4
793 complex(CKG) , intent(in), contiguous :: sample(:,:)
794 complex(CKG) , intent(in) :: amount
795 complex(CKG) :: sampleShifted(size(sample, 1, IK), size(sample, 2, IK))
796 end function
797#endif
798
799#if CK3_ENABLED
800 PURE module function getShiftedALL_ONO_D2_CK3(sample, amount) result(sampleShifted)
801#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
802 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_ONO_D2_CK3
803#endif
804 use pm_kind, only: CKG => CK3
805 complex(CKG) , intent(in), contiguous :: sample(:,:)
806 complex(CKG) , intent(in) :: amount
807 complex(CKG) :: sampleShifted(size(sample, 1, IK), size(sample, 2, IK))
808 end function
809#endif
810
811#if CK2_ENABLED
812 PURE module function getShiftedALL_ONO_D2_CK2(sample, amount) result(sampleShifted)
813#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
814 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_ONO_D2_CK2
815#endif
816 use pm_kind, only: CKG => CK2
817 complex(CKG) , intent(in), contiguous :: sample(:,:)
818 complex(CKG) , intent(in) :: amount
819 complex(CKG) :: sampleShifted(size(sample, 1, IK), size(sample, 2, IK))
820 end function
821#endif
822
823#if CK1_ENABLED
824 PURE module function getShiftedALL_ONO_D2_CK1(sample, amount) result(sampleShifted)
825#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
826 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_ONO_D2_CK1
827#endif
828 use pm_kind, only: CKG => CK1
829 complex(CKG) , intent(in), contiguous :: sample(:,:)
830 complex(CKG) , intent(in) :: amount
831 complex(CKG) :: sampleShifted(size(sample, 1, IK), size(sample, 2, IK))
832 end function
833#endif
834
835 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
836
837#if RK5_ENABLED
838 PURE module function getShiftedALL_ONO_D2_RK5(sample, amount) result(sampleShifted)
839#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
840 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_ONO_D2_RK5
841#endif
842 use pm_kind, only: RKG => RK5
843 real(RKG) , intent(in), contiguous :: sample(:,:)
844 real(RKG) , intent(in) :: amount
845 real(RKG) :: sampleShifted(size(sample, 1, IK), size(sample, 2, IK))
846 end function
847#endif
848
849#if RK4_ENABLED
850 PURE module function getShiftedALL_ONO_D2_RK4(sample, amount) result(sampleShifted)
851#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
852 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_ONO_D2_RK4
853#endif
854 use pm_kind, only: RKG => RK4
855 real(RKG) , intent(in), contiguous :: sample(:,:)
856 real(RKG) , intent(in) :: amount
857 real(RKG) :: sampleShifted(size(sample, 1, IK), size(sample, 2, IK))
858 end function
859#endif
860
861#if RK3_ENABLED
862 PURE module function getShiftedALL_ONO_D2_RK3(sample, amount) result(sampleShifted)
863#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
864 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_ONO_D2_RK3
865#endif
866 use pm_kind, only: RKG => RK3
867 real(RKG) , intent(in), contiguous :: sample(:,:)
868 real(RKG) , intent(in) :: amount
869 real(RKG) :: sampleShifted(size(sample, 1, IK), size(sample, 2, IK))
870 end function
871#endif
872
873#if RK2_ENABLED
874 PURE module function getShiftedALL_ONO_D2_RK2(sample, amount) result(sampleShifted)
875#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
876 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_ONO_D2_RK2
877#endif
878 use pm_kind, only: RKG => RK2
879 real(RKG) , intent(in), contiguous :: sample(:,:)
880 real(RKG) , intent(in) :: amount
881 real(RKG) :: sampleShifted(size(sample, 1, IK), size(sample, 2, IK))
882 end function
883#endif
884
885#if RK1_ENABLED
886 PURE module function getShiftedALL_ONO_D2_RK1(sample, amount) result(sampleShifted)
887#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
888 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_ONO_D2_RK1
889#endif
890 use pm_kind, only: RKG => RK1
891 real(RKG) , intent(in), contiguous :: sample(:,:)
892 real(RKG) , intent(in) :: amount
893 real(RKG) :: sampleShifted(size(sample, 1, IK), size(sample, 2, IK))
894 end function
895#endif
896
897 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
898
899 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
900 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
901 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
902
903 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
904
905#if CK5_ENABLED
906 PURE module function getShiftedALL_OTH_D2_CK5(sample, amount, operation) result(sampleShifted)
907#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
908 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_OTH_D2_CK5
909#endif
910 use pm_kind, only: CKG => CK5
911 complex(CKG) , intent(in), contiguous :: sample(:,:)
912 complex(CKG) , intent(in) :: amount
913 type(transHerm_type), intent(in) :: operation
914 complex(CKG) :: sampleShifted(size(sample, 2, IK), size(sample, 1, IK))
915 end function
916#endif
917
918#if CK4_ENABLED
919 PURE module function getShiftedALL_OTH_D2_CK4(sample, amount, operation) result(sampleShifted)
920#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
921 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_OTH_D2_CK4
922#endif
923 use pm_kind, only: CKG => CK4
924 complex(CKG) , intent(in), contiguous :: sample(:,:)
925 complex(CKG) , intent(in) :: amount
926 type(transHerm_type), intent(in) :: operation
927 complex(CKG) :: sampleShifted(size(sample, 2, IK), size(sample, 1, IK))
928 end function
929#endif
930
931#if CK3_ENABLED
932 PURE module function getShiftedALL_OTH_D2_CK3(sample, amount, operation) result(sampleShifted)
933#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
934 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_OTH_D2_CK3
935#endif
936 use pm_kind, only: CKG => CK3
937 complex(CKG) , intent(in), contiguous :: sample(:,:)
938 complex(CKG) , intent(in) :: amount
939 type(transHerm_type), intent(in) :: operation
940 complex(CKG) :: sampleShifted(size(sample, 2, IK), size(sample, 1, IK))
941 end function
942#endif
943
944#if CK2_ENABLED
945 PURE module function getShiftedALL_OTH_D2_CK2(sample, amount, operation) result(sampleShifted)
946#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
947 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_OTH_D2_CK2
948#endif
949 use pm_kind, only: CKG => CK2
950 complex(CKG) , intent(in), contiguous :: sample(:,:)
951 complex(CKG) , intent(in) :: amount
952 type(transHerm_type), intent(in) :: operation
953 complex(CKG) :: sampleShifted(size(sample, 2, IK), size(sample, 1, IK))
954 end function
955#endif
956
957#if CK1_ENABLED
958 PURE module function getShiftedALL_OTH_D2_CK1(sample, amount, operation) result(sampleShifted)
959#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
960 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_OTH_D2_CK1
961#endif
962 use pm_kind, only: CKG => CK1
963 complex(CKG) , intent(in), contiguous :: sample(:,:)
964 complex(CKG) , intent(in) :: amount
965 type(transHerm_type), intent(in) :: operation
966 complex(CKG) :: sampleShifted(size(sample, 2, IK), size(sample, 1, IK))
967 end function
968#endif
969
970 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
971
972#if RK5_ENABLED
973 PURE module function getShiftedALL_OTH_D2_RK5(sample, amount, operation) result(sampleShifted)
974#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
975 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_OTH_D2_RK5
976#endif
977 use pm_kind, only: RKG => RK5
978 real(RKG) , intent(in), contiguous :: sample(:,:)
979 real(RKG) , intent(in) :: amount
980 type(transHerm_type), intent(in) :: operation
981 real(RKG) :: sampleShifted(size(sample, 2, IK), size(sample, 1, IK))
982 end function
983#endif
984
985#if RK4_ENABLED
986 PURE module function getShiftedALL_OTH_D2_RK4(sample, amount, operation) result(sampleShifted)
987#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
988 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_OTH_D2_RK4
989#endif
990 use pm_kind, only: RKG => RK4
991 real(RKG) , intent(in), contiguous :: sample(:,:)
992 real(RKG) , intent(in) :: amount
993 type(transHerm_type), intent(in) :: operation
994 real(RKG) :: sampleShifted(size(sample, 2, IK), size(sample, 1, IK))
995 end function
996#endif
997
998#if RK3_ENABLED
999 PURE module function getShiftedALL_OTH_D2_RK3(sample, amount, operation) result(sampleShifted)
1000#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1001 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_OTH_D2_RK3
1002#endif
1003 use pm_kind, only: RKG => RK3
1004 real(RKG) , intent(in), contiguous :: sample(:,:)
1005 real(RKG) , intent(in) :: amount
1006 type(transHerm_type), intent(in) :: operation
1007 real(RKG) :: sampleShifted(size(sample, 2, IK), size(sample, 1, IK))
1008 end function
1009#endif
1010
1011#if RK2_ENABLED
1012 PURE module function getShiftedALL_OTH_D2_RK2(sample, amount, operation) result(sampleShifted)
1013#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1014 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_OTH_D2_RK2
1015#endif
1016 use pm_kind, only: RKG => RK2
1017 real(RKG) , intent(in), contiguous :: sample(:,:)
1018 real(RKG) , intent(in) :: amount
1019 type(transHerm_type), intent(in) :: operation
1020 real(RKG) :: sampleShifted(size(sample, 2, IK), size(sample, 1, IK))
1021 end function
1022#endif
1023
1024#if RK1_ENABLED
1025 PURE module function getShiftedALL_OTH_D2_RK1(sample, amount, operation) result(sampleShifted)
1026#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1027 !DEC$ ATTRIBUTES DLLEXPORT :: getShiftedALL_OTH_D2_RK1
1028#endif
1029 use pm_kind, only: RKG => RK1
1030 real(RKG) , intent(in), contiguous :: sample(:,:)
1031 real(RKG) , intent(in) :: amount
1032 type(transHerm_type), intent(in) :: operation
1033 real(RKG) :: sampleShifted(size(sample, 2, IK), size(sample, 1, IK))
1034 end function
1035#endif
1036
1037 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1038
1039 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1040 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1041 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1042
1043 end interface getShifted
1044
1045!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1046
1130
1131 ! DIM
1132
1133 interface setShifted
1134
1135 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1136 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1137 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1138
1139 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1140
1141#if CK5_ENABLED
1142 PURE module subroutine setShiftedDIM_D1_CK5(sample, dim, amount)
1143#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1144 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedDIM_D1_CK5
1145#endif
1146 use pm_kind, only: CKG => CK4
1147 integer(IK) , intent(in) :: dim
1148 complex(CKG) , intent(in) :: amount
1149 complex(CKG) , intent(inout) , contiguous :: sample(:)
1150 end subroutine
1151#endif
1152
1153#if CK4_ENABLED
1154 PURE module subroutine setShiftedDIM_D1_CK4(sample, dim, amount)
1155#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1156 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedDIM_D1_CK4
1157#endif
1158 use pm_kind, only: CKG => CK4
1159 integer(IK) , intent(in) :: dim
1160 complex(CKG) , intent(in) :: amount
1161 complex(CKG) , intent(inout) , contiguous :: sample(:)
1162 end subroutine
1163#endif
1164
1165#if CK3_ENABLED
1166 PURE module subroutine setShiftedDIM_D1_CK3(sample, dim, amount)
1167#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1168 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedDIM_D1_CK3
1169#endif
1170 use pm_kind, only: CKG => CK3
1171 integer(IK) , intent(in) :: dim
1172 complex(CKG) , intent(in) :: amount
1173 complex(CKG) , intent(inout) , contiguous :: sample(:)
1174 end subroutine
1175#endif
1176
1177#if CK2_ENABLED
1178 PURE module subroutine setShiftedDIM_D1_CK2(sample, dim, amount)
1179#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1180 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedDIM_D1_CK2
1181#endif
1182 use pm_kind, only: CKG => CK2
1183 integer(IK) , intent(in) :: dim
1184 complex(CKG) , intent(in) :: amount
1185 complex(CKG) , intent(inout) , contiguous :: sample(:)
1186 end subroutine
1187#endif
1188
1189#if CK1_ENABLED
1190 PURE module subroutine setShiftedDIM_D1_CK1(sample, dim, amount)
1191#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1192 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedDIM_D1_CK1
1193#endif
1194 use pm_kind, only: CKG => CK1
1195 integer(IK) , intent(in) :: dim
1196 complex(CKG) , intent(in) :: amount
1197 complex(CKG) , intent(inout) , contiguous :: sample(:)
1198 end subroutine
1199#endif
1200
1201 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1202
1203#if RK5_ENABLED
1204 PURE module subroutine setShiftedDIM_D1_RK5(sample, dim, amount)
1205#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1206 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedDIM_D1_RK5
1207#endif
1208 use pm_kind, only: RKG => RK4
1209 integer(IK) , intent(in) :: dim
1210 real(RKG) , intent(in) :: amount
1211 real(RKG) , intent(inout) , contiguous :: sample(:)
1212 end subroutine
1213#endif
1214
1215#if RK4_ENABLED
1216 PURE module subroutine setShiftedDIM_D1_RK4(sample, dim, amount)
1217#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1218 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedDIM_D1_RK4
1219#endif
1220 use pm_kind, only: RKG => RK4
1221 integer(IK) , intent(in) :: dim
1222 real(RKG) , intent(in) :: amount
1223 real(RKG) , intent(inout) , contiguous :: sample(:)
1224 end subroutine
1225#endif
1226
1227#if RK3_ENABLED
1228 PURE module subroutine setShiftedDIM_D1_RK3(sample, dim, amount)
1229#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1230 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedDIM_D1_RK3
1231#endif
1232 use pm_kind, only: RKG => RK3
1233 integer(IK) , intent(in) :: dim
1234 real(RKG) , intent(in) :: amount
1235 real(RKG) , intent(inout) , contiguous :: sample(:)
1236 end subroutine
1237#endif
1238
1239#if RK2_ENABLED
1240 PURE module subroutine setShiftedDIM_D1_RK2(sample, dim, amount)
1241#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1242 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedDIM_D1_RK2
1243#endif
1244 use pm_kind, only: RKG => RK2
1245 integer(IK) , intent(in) :: dim
1246 real(RKG) , intent(in) :: amount
1247 real(RKG) , intent(inout) , contiguous :: sample(:)
1248 end subroutine
1249#endif
1250
1251#if RK1_ENABLED
1252 PURE module subroutine setShiftedDIM_D1_RK1(sample, dim, amount)
1253#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1254 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedDIM_D1_RK1
1255#endif
1256 use pm_kind, only: RKG => RK1
1257 integer(IK) , intent(in) :: dim
1258 real(RKG) , intent(in) :: amount
1259 real(RKG) , intent(inout) , contiguous :: sample(:)
1260 end subroutine
1261#endif
1262
1263 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1264
1265 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1266 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1267 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1268
1269 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1270
1271#if CK5_ENABLED
1272 PURE module subroutine setShiftedDIM_D2_CK5(sample, dim, amount)
1273#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1274 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedDIM_D2_CK5
1275#endif
1276 use pm_kind, only: CKG => CK5
1277 integer(IK) , intent(in) :: dim
1278 complex(CKG) , intent(in) , contiguous :: amount(:)
1279 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1280 end subroutine
1281#endif
1282
1283#if CK4_ENABLED
1284 PURE module subroutine setShiftedDIM_D2_CK4(sample, dim, amount)
1285#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1286 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedDIM_D2_CK4
1287#endif
1288 use pm_kind, only: CKG => CK4
1289 integer(IK) , intent(in) :: dim
1290 complex(CKG) , intent(in) , contiguous :: amount(:)
1291 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1292 end subroutine
1293#endif
1294
1295#if CK3_ENABLED
1296 PURE module subroutine setShiftedDIM_D2_CK3(sample, dim, amount)
1297#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1298 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedDIM_D2_CK3
1299#endif
1300 use pm_kind, only: CKG => CK3
1301 integer(IK) , intent(in) :: dim
1302 complex(CKG) , intent(in) , contiguous :: amount(:)
1303 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1304 end subroutine
1305#endif
1306
1307#if CK2_ENABLED
1308 PURE module subroutine setShiftedDIM_D2_CK2(sample, dim, amount)
1309#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1310 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedDIM_D2_CK2
1311#endif
1312 use pm_kind, only: CKG => CK2
1313 integer(IK) , intent(in) :: dim
1314 complex(CKG) , intent(in) , contiguous :: amount(:)
1315 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1316 end subroutine
1317#endif
1318
1319#if CK1_ENABLED
1320 PURE module subroutine setShiftedDIM_D2_CK1(sample, dim, amount)
1321#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1322 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedDIM_D2_CK1
1323#endif
1324 use pm_kind, only: CKG => CK1
1325 integer(IK) , intent(in) :: dim
1326 complex(CKG) , intent(in) , contiguous :: amount(:)
1327 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1328 end subroutine
1329#endif
1330
1331 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1332
1333#if RK5_ENABLED
1334 PURE module subroutine setShiftedDIM_D2_RK5(sample, dim, amount)
1335#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1336 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedDIM_D2_RK5
1337#endif
1338 use pm_kind, only: RKG => RK5
1339 integer(IK) , intent(in) :: dim
1340 real(RKG) , intent(in) , contiguous :: amount(:)
1341 real(RKG) , intent(inout) , contiguous :: sample(:,:)
1342 end subroutine
1343#endif
1344
1345#if RK4_ENABLED
1346 PURE module subroutine setShiftedDIM_D2_RK4(sample, dim, amount)
1347#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1348 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedDIM_D2_RK4
1349#endif
1350 use pm_kind, only: RKG => RK4
1351 integer(IK) , intent(in) :: dim
1352 real(RKG) , intent(in) , contiguous :: amount(:)
1353 real(RKG) , intent(inout) , contiguous :: sample(:,:)
1354 end subroutine
1355#endif
1356
1357#if RK3_ENABLED
1358 PURE module subroutine setShiftedDIM_D2_RK3(sample, dim, amount)
1359#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1360 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedDIM_D2_RK3
1361#endif
1362 use pm_kind, only: RKG => RK3
1363 integer(IK) , intent(in) :: dim
1364 real(RKG) , intent(in) , contiguous :: amount(:)
1365 real(RKG) , intent(inout) , contiguous :: sample(:,:)
1366 end subroutine
1367#endif
1368
1369#if RK2_ENABLED
1370 PURE module subroutine setShiftedDIM_D2_RK2(sample, dim, amount)
1371#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1372 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedDIM_D2_RK2
1373#endif
1374 use pm_kind, only: RKG => RK2
1375 integer(IK) , intent(in) :: dim
1376 real(RKG) , intent(in) , contiguous :: amount(:)
1377 real(RKG) , intent(inout) , contiguous :: sample(:,:)
1378 end subroutine
1379#endif
1380
1381#if RK1_ENABLED
1382 PURE module subroutine setShiftedDIM_D2_RK1(sample, dim, amount)
1383#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1384 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedDIM_D2_RK1
1385#endif
1386 use pm_kind, only: RKG => RK1
1387 integer(IK) , intent(in) :: dim
1388 real(RKG) , intent(in) , contiguous :: amount(:)
1389 real(RKG) , intent(inout) , contiguous :: sample(:,:)
1390 end subroutine
1391#endif
1392
1393 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1394
1395 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1396 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1397 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1398
1399 end interface setShifted
1400
1401 ! ALL
1402
1403 interface setShifted
1404
1405 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1406 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1407 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1408
1409 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1410
1411#if CK5_ENABLED
1412 PURE module subroutine setShiftedALL_D1_CK5(sample, amount)
1413#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1414 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedALL_D1_CK5
1415#endif
1416 use pm_kind, only: CKG => CK4
1417 complex(CKG) , intent(in) :: amount
1418 complex(CKG) , intent(inout) , contiguous :: sample(:)
1419 end subroutine
1420#endif
1421
1422#if CK4_ENABLED
1423 PURE module subroutine setShiftedALL_D1_CK4(sample, amount)
1424#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1425 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedALL_D1_CK4
1426#endif
1427 use pm_kind, only: CKG => CK4
1428 complex(CKG) , intent(in) :: amount
1429 complex(CKG) , intent(inout) , contiguous :: sample(:)
1430 end subroutine
1431#endif
1432
1433#if CK3_ENABLED
1434 PURE module subroutine setShiftedALL_D1_CK3(sample, amount)
1435#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1436 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedALL_D1_CK3
1437#endif
1438 use pm_kind, only: CKG => CK3
1439 complex(CKG) , intent(in) :: amount
1440 complex(CKG) , intent(inout) , contiguous :: sample(:)
1441 end subroutine
1442#endif
1443
1444#if CK2_ENABLED
1445 PURE module subroutine setShiftedALL_D1_CK2(sample, amount)
1446#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1447 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedALL_D1_CK2
1448#endif
1449 use pm_kind, only: CKG => CK2
1450 complex(CKG) , intent(in) :: amount
1451 complex(CKG) , intent(inout) , contiguous :: sample(:)
1452 end subroutine
1453#endif
1454
1455#if CK1_ENABLED
1456 PURE module subroutine setShiftedALL_D1_CK1(sample, amount)
1457#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1458 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedALL_D1_CK1
1459#endif
1460 use pm_kind, only: CKG => CK1
1461 complex(CKG) , intent(in) :: amount
1462 complex(CKG) , intent(inout) , contiguous :: sample(:)
1463 end subroutine
1464#endif
1465
1466 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1467
1468#if RK5_ENABLED
1469 PURE module subroutine setShiftedALL_D1_RK5(sample, amount)
1470#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1471 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedALL_D1_RK5
1472#endif
1473 use pm_kind, only: RKG => RK4
1474 real(RKG) , intent(in) :: amount
1475 real(RKG) , intent(inout) , contiguous :: sample(:)
1476 end subroutine
1477#endif
1478
1479#if RK4_ENABLED
1480 PURE module subroutine setShiftedALL_D1_RK4(sample, amount)
1481#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1482 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedALL_D1_RK4
1483#endif
1484 use pm_kind, only: RKG => RK4
1485 real(RKG) , intent(in) :: amount
1486 real(RKG) , intent(inout) , contiguous :: sample(:)
1487 end subroutine
1488#endif
1489
1490#if RK3_ENABLED
1491 PURE module subroutine setShiftedALL_D1_RK3(sample, amount)
1492#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1493 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedALL_D1_RK3
1494#endif
1495 use pm_kind, only: RKG => RK3
1496 real(RKG) , intent(in) :: amount
1497 real(RKG) , intent(inout) , contiguous :: sample(:)
1498 end subroutine
1499#endif
1500
1501#if RK2_ENABLED
1502 PURE module subroutine setShiftedALL_D1_RK2(sample, amount)
1503#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1504 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedALL_D1_RK2
1505#endif
1506 use pm_kind, only: RKG => RK2
1507 real(RKG) , intent(in) :: amount
1508 real(RKG) , intent(inout) , contiguous :: sample(:)
1509 end subroutine
1510#endif
1511
1512#if RK1_ENABLED
1513 PURE module subroutine setShiftedALL_D1_RK1(sample, amount)
1514#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1515 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedALL_D1_RK1
1516#endif
1517 use pm_kind, only: RKG => RK1
1518 real(RKG) , intent(in) :: amount
1519 real(RKG) , intent(inout) , contiguous :: sample(:)
1520 end subroutine
1521#endif
1522
1523 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1524
1525 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1526 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1527 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1528
1529 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1530
1531#if CK5_ENABLED
1532 PURE module subroutine setShiftedALL_D2_CK5(sample, amount)
1533#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1534 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedALL_D2_CK5
1535#endif
1536 use pm_kind, only: CKG => CK5
1537 complex(CKG) , intent(in) :: amount
1538 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1539 end subroutine
1540#endif
1541
1542#if CK4_ENABLED
1543 PURE module subroutine setShiftedALL_D2_CK4(sample, amount)
1544#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1545 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedALL_D2_CK4
1546#endif
1547 use pm_kind, only: CKG => CK4
1548 complex(CKG) , intent(in) :: amount
1549 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1550 end subroutine
1551#endif
1552
1553#if CK3_ENABLED
1554 PURE module subroutine setShiftedALL_D2_CK3(sample, amount)
1555#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1556 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedALL_D2_CK3
1557#endif
1558 use pm_kind, only: CKG => CK3
1559 complex(CKG) , intent(in) :: amount
1560 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1561 end subroutine
1562#endif
1563
1564#if CK2_ENABLED
1565 PURE module subroutine setShiftedALL_D2_CK2(sample, amount)
1566#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1567 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedALL_D2_CK2
1568#endif
1569 use pm_kind, only: CKG => CK2
1570 complex(CKG) , intent(in) :: amount
1571 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1572 end subroutine
1573#endif
1574
1575#if CK1_ENABLED
1576 PURE module subroutine setShiftedALL_D2_CK1(sample, amount)
1577#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1578 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedALL_D2_CK1
1579#endif
1580 use pm_kind, only: CKG => CK1
1581 complex(CKG) , intent(in) :: amount
1582 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1583 end subroutine
1584#endif
1585
1586 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1587
1588#if RK5_ENABLED
1589 PURE module subroutine setShiftedALL_D2_RK5(sample, amount)
1590#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1591 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedALL_D2_RK5
1592#endif
1593 use pm_kind, only: RKG => RK5
1594 real(RKG) , intent(in) :: amount
1595 real(RKG) , intent(inout) , contiguous :: sample(:,:)
1596 end subroutine
1597#endif
1598
1599#if RK4_ENABLED
1600 PURE module subroutine setShiftedALL_D2_RK4(sample, amount)
1601#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1602 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedALL_D2_RK4
1603#endif
1604 use pm_kind, only: RKG => RK4
1605 real(RKG) , intent(in) :: amount
1606 real(RKG) , intent(inout) , contiguous :: sample(:,:)
1607 end subroutine
1608#endif
1609
1610#if RK3_ENABLED
1611 PURE module subroutine setShiftedALL_D2_RK3(sample, amount)
1612#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1613 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedALL_D2_RK3
1614#endif
1615 use pm_kind, only: RKG => RK3
1616 real(RKG) , intent(in) :: amount
1617 real(RKG) , intent(inout) , contiguous :: sample(:,:)
1618 end subroutine
1619#endif
1620
1621#if RK2_ENABLED
1622 PURE module subroutine setShiftedALL_D2_RK2(sample, amount)
1623#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1624 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedALL_D2_RK2
1625#endif
1626 use pm_kind, only: RKG => RK2
1627 real(RKG) , intent(in) :: amount
1628 real(RKG) , intent(inout) , contiguous :: sample(:,:)
1629 end subroutine
1630#endif
1631
1632#if RK1_ENABLED
1633 PURE module subroutine setShiftedALL_D2_RK1(sample, amount)
1634#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1635 !DEC$ ATTRIBUTES DLLEXPORT :: setShiftedALL_D2_RK1
1636#endif
1637 use pm_kind, only: RKG => RK1
1638 real(RKG) , intent(in) :: amount
1639 real(RKG) , intent(inout) , contiguous :: sample(:,:)
1640 end subroutine
1641#endif
1642
1643 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1644
1645 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1646 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1647 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1648
1649 end interface setShifted
1650
1651!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1652
1653end module pm_sampleShift ! LCOV_EXCL_LINE
Generate a sample of shape (nsam), or (ndim, nsam) or (nsam, ndim) that is shifted by the specified i...
Return a sample of shape (nsam), or (ndim, nsam) or (nsam, ndim) that is shifted by the specified inp...
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 shifting univariate or multivariate samples by arbitr...
type(meanshift_type), parameter meanshift
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 shifting by an amount equal to...