ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_arrayPad.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
27
28!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
29
31
32 use pm_kind, only: SK, IK, LK
33
34 implicit none
35
36 character(*,SK), parameter :: MODULE_NAME = "@pm_arrayPad"
37
38!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
39
40 type :: padb_type; end type ! double padding.
41 type :: padl_type; end type
42 type :: padr_type; end type
43 type(padb_type), parameter :: padb = padb_type()
44#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
45 !DIR$ ATTRIBUTES DLLEXPORT :: padb
46#endif
47 type(padl_type), parameter :: padl = padl_type()
48#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
49 !DIR$ ATTRIBUTES DLLEXPORT :: padl
50#endif
51 type(padr_type), parameter :: padr = padr_type()
52#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
53 !DIR$ ATTRIBUTES DLLEXPORT :: padr
54#endif
55
56!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
57
161 interface getPadded
162
163 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
164 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
165 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
166
167 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
168
169#if SK5_ENABLED
170 PURE module function getPaddedAsisSB_D0_SK5(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
171#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
172 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D0_SK5
173#endif
174 use pm_kind, only: SKG => SK5
175 character(*,SKG) , intent(in) :: array
176 integer(IK) , intent(in) :: lpsize, rpsize
177 character(1,SKG) , intent(in) :: lpfill, rpfill
178 character(len(array,IK)+lpsize+rpsize,SKG) :: arrayPadded
179 end function
180#endif
181
182#if SK4_ENABLED
183 PURE module function getPaddedAsisSB_D0_SK4(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
184#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
185 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D0_SK4
186#endif
187 use pm_kind, only: SKG => SK4
188 character(*,SKG) , intent(in) :: array
189 integer(IK) , intent(in) :: lpsize, rpsize
190 character(1,SKG) , intent(in) :: lpfill, rpfill
191 character(len(array,IK)+lpsize+rpsize,SKG) :: arrayPadded
192 end function
193#endif
194
195#if SK3_ENABLED
196 PURE module function getPaddedAsisSB_D0_SK3(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
197#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
198 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D0_SK3
199#endif
200 use pm_kind, only: SKG => SK3
201 character(*,SKG) , intent(in) :: array
202 integer(IK) , intent(in) :: lpsize, rpsize
203 character(1,SKG) , intent(in) :: lpfill, rpfill
204 character(len(array,IK)+lpsize+rpsize,SKG) :: arrayPadded
205 end function
206#endif
207
208#if SK2_ENABLED
209 PURE module function getPaddedAsisSB_D0_SK2(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
210#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
211 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D0_SK2
212#endif
213 use pm_kind, only: SKG => SK2
214 character(*,SKG) , intent(in) :: array
215 integer(IK) , intent(in) :: lpsize, rpsize
216 character(1,SKG) , intent(in) :: lpfill, rpfill
217 character(len(array,IK)+lpsize+rpsize,SKG) :: arrayPadded
218 end function
219#endif
220
221#if SK1_ENABLED
222 PURE module function getPaddedAsisSB_D0_SK1(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
223#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
224 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D0_SK1
225#endif
226 use pm_kind, only: SKG => SK1
227 character(*,SKG) , intent(in) :: array
228 integer(IK) , intent(in) :: lpsize, rpsize
229 character(1,SKG) , intent(in) :: lpfill, rpfill
230 character(len(array,IK)+lpsize+rpsize,SKG) :: arrayPadded
231 end function
232#endif
233
234 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
235
236#if SK5_ENABLED
237 PURE module function getPaddedAsisSB_D1_SK5(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
238#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
239 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D1_SK5
240#endif
241 use pm_kind, only: SKG => SK5
242 character(*,SKG) , intent(in) , contiguous :: array(:)
243 integer(IK) , intent(in) :: lpsize, rpsize
244 character(len(array,IK),SKG), intent(in) :: lpfill, rpfill
245 character(len(array),SKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize)
246 end function
247#endif
248
249#if SK4_ENABLED
250 PURE module function getPaddedAsisSB_D1_SK4(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
251#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
252 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D1_SK4
253#endif
254 use pm_kind, only: SKG => SK4
255 character(*,SKG) , intent(in) , contiguous :: array(:)
256 integer(IK) , intent(in) :: lpsize, rpsize
257 character(len(array,IK),SKG), intent(in) :: lpfill, rpfill
258 character(len(array),SKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize)
259 end function
260#endif
261
262#if SK3_ENABLED
263 PURE module function getPaddedAsisSB_D1_SK3(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
264#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
265 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D1_SK3
266#endif
267 use pm_kind, only: SKG => SK3
268 character(*,SKG) , intent(in) , contiguous :: array(:)
269 integer(IK) , intent(in) :: lpsize, rpsize
270 character(len(array,IK),SKG), intent(in) :: lpfill, rpfill
271 character(len(array),SKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize)
272 end function
273#endif
274
275#if SK2_ENABLED
276 PURE module function getPaddedAsisSB_D1_SK2(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
277#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
278 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D1_SK2
279#endif
280 use pm_kind, only: SKG => SK2
281 character(*,SKG) , intent(in) , contiguous :: array(:)
282 integer(IK) , intent(in) :: lpsize, rpsize
283 character(len(array,IK),SKG), intent(in) :: lpfill, rpfill
284 character(len(array),SKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize)
285 end function
286#endif
287
288#if SK1_ENABLED
289 PURE module function getPaddedAsisSB_D1_SK1(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
290#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
291 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D1_SK1
292#endif
293 use pm_kind, only: SKG => SK1
294 character(*,SKG) , intent(in) , contiguous :: array(:)
295 integer(IK) , intent(in) :: lpsize, rpsize
296 character(len(array,IK),SKG), intent(in) :: lpfill, rpfill
297 character(len(array),SKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize)
298 end function
299#endif
300
301 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
302
303#if IK5_ENABLED
304 PURE module function getPaddedAsisSB_D1_IK5(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
305#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
306 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D1_IK5
307#endif
308 use pm_kind, only: IKG => IK5
309 integer(IKG) , intent(in) , contiguous :: array(:)
310 integer(IK) , intent(in) :: lpsize, rpsize
311 integer(IKG) , intent(in) :: lpfill, rpfill
312 integer(IKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize)
313 end function
314#endif
315
316#if IK4_ENABLED
317 PURE module function getPaddedAsisSB_D1_IK4(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
318#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
319 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D1_IK4
320#endif
321 use pm_kind, only: IKG => IK4
322 integer(IKG) , intent(in) , contiguous :: array(:)
323 integer(IK) , intent(in) :: lpsize, rpsize
324 integer(IKG) , intent(in) :: lpfill, rpfill
325 integer(IKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize)
326 end function
327#endif
328
329#if IK3_ENABLED
330 PURE module function getPaddedAsisSB_D1_IK3(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
331#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
332 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D1_IK3
333#endif
334 use pm_kind, only: IKG => IK3
335 integer(IKG) , intent(in) , contiguous :: array(:)
336 integer(IK) , intent(in) :: lpsize, rpsize
337 integer(IKG) , intent(in) :: lpfill, rpfill
338 integer(IKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize)
339 end function
340#endif
341
342#if IK2_ENABLED
343 PURE module function getPaddedAsisSB_D1_IK2(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
344#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
345 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D1_IK2
346#endif
347 use pm_kind, only: IKG => IK2
348 integer(IKG) , intent(in) , contiguous :: array(:)
349 integer(IK) , intent(in) :: lpsize, rpsize
350 integer(IKG) , intent(in) :: lpfill, rpfill
351 integer(IKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize)
352 end function
353#endif
354
355#if IK1_ENABLED
356 PURE module function getPaddedAsisSB_D1_IK1(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
357#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
358 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D1_IK1
359#endif
360 use pm_kind, only: IKG => IK1
361 integer(IKG) , intent(in) , contiguous :: array(:)
362 integer(IK) , intent(in) :: lpsize, rpsize
363 integer(IKG) , intent(in) :: lpfill, rpfill
364 integer(IKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize)
365 end function
366#endif
367
368 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
369
370#if LK5_ENABLED
371 PURE module function getPaddedAsisSB_D1_LK5(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
372#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
373 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D1_LK5
374#endif
375 use pm_kind, only: LKG => LK5
376 logical(LKG) , intent(in) , contiguous :: array(:)
377 integer(IK) , intent(in) :: lpsize, rpsize
378 logical(LKG) , intent(in) :: lpfill, rpfill
379 logical(LKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize)
380 end function
381#endif
382
383#if LK4_ENABLED
384 PURE module function getPaddedAsisSB_D1_LK4(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
385#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
386 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D1_LK4
387#endif
388 use pm_kind, only: LKG => LK4
389 logical(LKG) , intent(in) , contiguous :: array(:)
390 integer(IK) , intent(in) :: lpsize, rpsize
391 logical(LKG) , intent(in) :: lpfill, rpfill
392 logical(LKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize)
393 end function
394#endif
395
396#if LK3_ENABLED
397 PURE module function getPaddedAsisSB_D1_LK3(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
398#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
399 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D1_LK3
400#endif
401 use pm_kind, only: LKG => LK3
402 logical(LKG) , intent(in) , contiguous :: array(:)
403 integer(IK) , intent(in) :: lpsize, rpsize
404 logical(LKG) , intent(in) :: lpfill, rpfill
405 logical(LKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize)
406 end function
407#endif
408
409#if LK2_ENABLED
410 PURE module function getPaddedAsisSB_D1_LK2(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
411#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
412 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D1_LK2
413#endif
414 use pm_kind, only: LKG => LK2
415 logical(LKG) , intent(in) , contiguous :: array(:)
416 integer(IK) , intent(in) :: lpsize, rpsize
417 logical(LKG) , intent(in) :: lpfill, rpfill
418 logical(LKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize)
419 end function
420#endif
421
422#if LK1_ENABLED
423 PURE module function getPaddedAsisSB_D1_LK1(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
424#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
425 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D1_LK1
426#endif
427 use pm_kind, only: LKG => LK1
428 logical(LKG) , intent(in) , contiguous :: array(:)
429 integer(IK) , intent(in) :: lpsize, rpsize
430 logical(LKG) , intent(in) :: lpfill, rpfill
431 logical(LKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize)
432 end function
433#endif
434
435 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
436
437#if CK5_ENABLED
438 PURE module function getPaddedAsisSB_D1_CK5(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
439#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
440 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D1_CK5
441#endif
442 use pm_kind, only: CKG => CK5
443 complex(CKG) , intent(in) , contiguous :: array(:)
444 integer(IK) , intent(in) :: lpsize, rpsize
445 complex(CKG) , intent(in) :: lpfill, rpfill
446 complex(CKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize)
447 end function
448#endif
449
450#if CK4_ENABLED
451 PURE module function getPaddedAsisSB_D1_CK4(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
452#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
453 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D1_CK4
454#endif
455 use pm_kind, only: CKG => CK4
456 complex(CKG) , intent(in) , contiguous :: array(:)
457 integer(IK) , intent(in) :: lpsize, rpsize
458 complex(CKG) , intent(in) :: lpfill, rpfill
459 complex(CKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize)
460 end function
461#endif
462
463#if CK3_ENABLED
464 PURE module function getPaddedAsisSB_D1_CK3(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
465#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
466 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D1_CK3
467#endif
468 use pm_kind, only: CKG => CK3
469 complex(CKG) , intent(in) , contiguous :: array(:)
470 integer(IK) , intent(in) :: lpsize, rpsize
471 complex(CKG) , intent(in) :: lpfill, rpfill
472 complex(CKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize)
473 end function
474#endif
475
476#if CK2_ENABLED
477 PURE module function getPaddedAsisSB_D1_CK2(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
478#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
479 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D1_CK2
480#endif
481 use pm_kind, only: CKG => CK2
482 complex(CKG) , intent(in) , contiguous :: array(:)
483 integer(IK) , intent(in) :: lpsize, rpsize
484 complex(CKG) , intent(in) :: lpfill, rpfill
485 complex(CKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize)
486 end function
487#endif
488
489#if CK1_ENABLED
490 PURE module function getPaddedAsisSB_D1_CK1(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
491#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
492 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D1_CK1
493#endif
494 use pm_kind, only: CKG => CK1
495 complex(CKG) , intent(in) , contiguous :: array(:)
496 integer(IK) , intent(in) :: lpsize, rpsize
497 complex(CKG) , intent(in) :: lpfill, rpfill
498 complex(CKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize)
499 end function
500#endif
501
502 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
503
504#if RK5_ENABLED
505 PURE module function getPaddedAsisSB_D1_RK5(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
506#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
507 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D1_RK5
508#endif
509 use pm_kind, only: RKG => RK5
510 real(RKG) , intent(in) , contiguous :: array(:)
511 integer(IK) , intent(in) :: lpsize, rpsize
512 real(RKG) , intent(in) :: lpfill, rpfill
513 real(RKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize)
514 end function
515#endif
516
517#if RK4_ENABLED
518 PURE module function getPaddedAsisSB_D1_RK4(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
519#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
520 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D1_RK4
521#endif
522 use pm_kind, only: RKG => RK4
523 real(RKG) , intent(in) , contiguous :: array(:)
524 integer(IK) , intent(in) :: lpsize, rpsize
525 real(RKG) , intent(in) :: lpfill, rpfill
526 real(RKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize)
527 end function
528#endif
529
530#if RK3_ENABLED
531 PURE module function getPaddedAsisSB_D1_RK3(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
532#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
533 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D1_RK3
534#endif
535 use pm_kind, only: RKG => RK3
536 real(RKG) , intent(in) , contiguous :: array(:)
537 integer(IK) , intent(in) :: lpsize, rpsize
538 real(RKG) , intent(in) :: lpfill, rpfill
539 real(RKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize)
540 end function
541#endif
542
543#if RK2_ENABLED
544 PURE module function getPaddedAsisSB_D1_RK2(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
545#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
546 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D1_RK2
547#endif
548 use pm_kind, only: RKG => RK2
549 real(RKG) , intent(in) , contiguous :: array(:)
550 integer(IK) , intent(in) :: lpsize, rpsize
551 real(RKG) , intent(in) :: lpfill, rpfill
552 real(RKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize)
553 end function
554#endif
555
556#if RK1_ENABLED
557 PURE module function getPaddedAsisSB_D1_RK1(array, lpsize, rpsize, lpfill, rpfill) result(arrayPadded)
558#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
559 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSB_D1_RK1
560#endif
561 use pm_kind, only: RKG => RK1
562 real(RKG) , intent(in) , contiguous :: array(:)
563 integer(IK) , intent(in) :: lpsize, rpsize
564 real(RKG) , intent(in) :: lpfill, rpfill
565 real(RKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize)
566 end function
567#endif
568
569 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
570
571 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
572 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
573 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
574
575 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
576
577#if SK5_ENABLED
578 PURE module function getPaddedMargSB_D0_SK5(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
579#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
580 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D0_SK5
581#endif
582 use pm_kind, only: SKG => SK5
583 character(*,SKG) , intent(in) :: array
584 character(1,SKG) , intent(in) :: lpfill, rpfill
585 character(1,SKG) , intent(in) , optional :: lmfill, rmfill
586 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
587 character(len(array,IK)+lpsize+rpsize+lmsize+rmsize,SKG) :: arrayPadded
588 end function
589#endif
590
591#if SK4_ENABLED
592 PURE module function getPaddedMargSB_D0_SK4(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
593#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
594 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D0_SK4
595#endif
596 use pm_kind, only: SKG => SK4
597 character(*,SKG) , intent(in) :: array
598 character(1,SKG) , intent(in) :: lpfill, rpfill
599 character(1,SKG) , intent(in) , optional :: lmfill, rmfill
600 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
601 character(len(array,IK)+lpsize+rpsize+lmsize+rmsize,SKG) :: arrayPadded
602 end function
603#endif
604
605#if SK3_ENABLED
606 PURE module function getPaddedMargSB_D0_SK3(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
607#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
608 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D0_SK3
609#endif
610 use pm_kind, only: SKG => SK3
611 character(*,SKG) , intent(in) :: array
612 character(1,SKG) , intent(in) :: lpfill, rpfill
613 character(1,SKG) , intent(in) , optional :: lmfill, rmfill
614 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
615 character(len(array,IK)+lpsize+rpsize+lmsize+rmsize,SKG) :: arrayPadded
616 end function
617#endif
618
619#if SK2_ENABLED
620 PURE module function getPaddedMargSB_D0_SK2(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
621#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
622 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D0_SK2
623#endif
624 use pm_kind, only: SKG => SK2
625 character(*,SKG) , intent(in) :: array
626 character(1,SKG) , intent(in) :: lpfill, rpfill
627 character(1,SKG) , intent(in) , optional :: lmfill, rmfill
628 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
629 character(len(array,IK)+lpsize+rpsize+lmsize+rmsize,SKG) :: arrayPadded
630 end function
631#endif
632
633#if SK1_ENABLED
634 PURE module function getPaddedMargSB_D0_SK1(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
635#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
636 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D0_SK1
637#endif
638 use pm_kind, only: SKG => SK1
639 character(*,SKG) , intent(in) :: array
640 character(1,SKG) , intent(in) :: lpfill, rpfill
641 character(1,SKG) , intent(in) , optional :: lmfill, rmfill
642 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
643 character(len(array,IK)+lpsize+rpsize+lmsize+rmsize,SKG) :: arrayPadded
644 end function
645#endif
646
647 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
648
649#if SK5_ENABLED
650 PURE module function getPaddedMargSB_D1_SK5(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
651#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
652 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D1_SK5
653#endif
654 use pm_kind, only: SKG => SK5
655 character(*,SKG) , intent(in) , contiguous :: array(:)
656 character(len(array,IK),SKG), intent(in) :: lpfill, rpfill
657 character(len(array,IK),SKG), intent(in) , optional :: lmfill, rmfill
658 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
659 character(len(array),SKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize+lmsize+rmsize)
660 end function
661#endif
662
663#if SK4_ENABLED
664 PURE module function getPaddedMargSB_D1_SK4(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
665#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
666 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D1_SK4
667#endif
668 use pm_kind, only: SKG => SK4
669 character(*,SKG) , intent(in) , contiguous :: array(:)
670 character(len(array,IK),SKG), intent(in) :: lpfill, rpfill
671 character(len(array,IK),SKG), intent(in) , optional :: lmfill, rmfill
672 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
673 character(len(array),SKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize+lmsize+rmsize)
674 end function
675#endif
676
677#if SK3_ENABLED
678 PURE module function getPaddedMargSB_D1_SK3(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
679#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
680 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D1_SK3
681#endif
682 use pm_kind, only: SKG => SK3
683 character(*,SKG) , intent(in) , contiguous :: array(:)
684 character(len(array,IK),SKG), intent(in) :: lpfill, rpfill
685 character(len(array,IK),SKG), intent(in) , optional :: lmfill, rmfill
686 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
687 character(len(array),SKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize+lmsize+rmsize)
688 end function
689#endif
690
691#if SK2_ENABLED
692 PURE module function getPaddedMargSB_D1_SK2(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
693#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
694 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D1_SK2
695#endif
696 use pm_kind, only: SKG => SK2
697 character(*,SKG) , intent(in) , contiguous :: array(:)
698 character(len(array,IK),SKG), intent(in) :: lpfill, rpfill
699 character(len(array,IK),SKG), intent(in) , optional :: lmfill, rmfill
700 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
701 character(len(array),SKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize+lmsize+rmsize)
702 end function
703#endif
704
705#if SK1_ENABLED
706 PURE module function getPaddedMargSB_D1_SK1(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
707#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
708 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D1_SK1
709#endif
710 use pm_kind, only: SKG => SK1
711 character(*,SKG) , intent(in) , contiguous :: array(:)
712 character(len(array,IK),SKG), intent(in) :: lpfill, rpfill
713 character(len(array,IK),SKG), intent(in) , optional :: lmfill, rmfill
714 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
715 character(len(array),SKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize+lmsize+rmsize)
716 end function
717#endif
718
719 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
720
721#if IK5_ENABLED
722 PURE module function getPaddedMargSB_D1_IK5(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
723#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
724 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D1_IK5
725#endif
726 use pm_kind, only: IKG => IK5
727 integer(IKG) , intent(in) , contiguous :: array(:)
728 integer(IKG) , intent(in) :: lpfill, rpfill
729 integer(IKG) , intent(in) , optional :: lmfill, rmfill
730 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
731 integer(IKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize+lmsize+rmsize)
732 end function
733#endif
734
735#if IK4_ENABLED
736 PURE module function getPaddedMargSB_D1_IK4(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
737#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
738 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D1_IK4
739#endif
740 use pm_kind, only: IKG => IK4
741 integer(IKG) , intent(in) , contiguous :: array(:)
742 integer(IKG) , intent(in) :: lpfill, rpfill
743 integer(IKG) , intent(in) , optional :: lmfill, rmfill
744 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
745 integer(IKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize+lmsize+rmsize)
746 end function
747#endif
748
749#if IK3_ENABLED
750 PURE module function getPaddedMargSB_D1_IK3(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
751#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
752 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D1_IK3
753#endif
754 use pm_kind, only: IKG => IK3
755 integer(IKG) , intent(in) , contiguous :: array(:)
756 integer(IKG) , intent(in) :: lpfill, rpfill
757 integer(IKG) , intent(in) , optional :: lmfill, rmfill
758 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
759 integer(IKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize+lmsize+rmsize)
760 end function
761#endif
762
763#if IK2_ENABLED
764 PURE module function getPaddedMargSB_D1_IK2(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
765#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
766 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D1_IK2
767#endif
768 use pm_kind, only: IKG => IK2
769 integer(IKG) , intent(in) , contiguous :: array(:)
770 integer(IKG) , intent(in) :: lpfill, rpfill
771 integer(IKG) , intent(in) , optional :: lmfill, rmfill
772 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
773 integer(IKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize+lmsize+rmsize)
774 end function
775#endif
776
777#if IK1_ENABLED
778 PURE module function getPaddedMargSB_D1_IK1(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
779#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
780 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D1_IK1
781#endif
782 use pm_kind, only: IKG => IK1
783 integer(IKG) , intent(in) , contiguous :: array(:)
784 integer(IKG) , intent(in) :: lpfill, rpfill
785 integer(IKG) , intent(in) , optional :: lmfill, rmfill
786 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
787 integer(IKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize+lmsize+rmsize)
788 end function
789#endif
790
791 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
792
793#if LK5_ENABLED
794 PURE module function getPaddedMargSB_D1_LK5(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
795#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
796 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D1_LK5
797#endif
798 use pm_kind, only: LKG => LK5
799 logical(LKG) , intent(in) , contiguous :: array(:)
800 logical(LKG) , intent(in) :: lpfill, rpfill
801 logical(LKG) , intent(in) , optional :: lmfill, rmfill
802 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
803 logical(LKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize+lmsize+rmsize)
804 end function
805#endif
806
807#if LK4_ENABLED
808 PURE module function getPaddedMargSB_D1_LK4(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
809#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
810 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D1_LK4
811#endif
812 use pm_kind, only: LKG => LK4
813 logical(LKG) , intent(in) , contiguous :: array(:)
814 logical(LKG) , intent(in) :: lpfill, rpfill
815 logical(LKG) , intent(in) , optional :: lmfill, rmfill
816 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
817 logical(LKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize+lmsize+rmsize)
818 end function
819#endif
820
821#if LK3_ENABLED
822 PURE module function getPaddedMargSB_D1_LK3(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
823#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
824 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D1_LK3
825#endif
826 use pm_kind, only: LKG => LK3
827 logical(LKG) , intent(in) , contiguous :: array(:)
828 logical(LKG) , intent(in) :: lpfill, rpfill
829 logical(LKG) , intent(in) , optional :: lmfill, rmfill
830 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
831 logical(LKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize+lmsize+rmsize)
832 end function
833#endif
834
835#if LK2_ENABLED
836 PURE module function getPaddedMargSB_D1_LK2(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
837#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
838 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D1_LK2
839#endif
840 use pm_kind, only: LKG => LK2
841 logical(LKG) , intent(in) , contiguous :: array(:)
842 logical(LKG) , intent(in) :: lpfill, rpfill
843 logical(LKG) , intent(in) , optional :: lmfill, rmfill
844 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
845 logical(LKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize+lmsize+rmsize)
846 end function
847#endif
848
849#if LK1_ENABLED
850 PURE module function getPaddedMargSB_D1_LK1(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
851#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
852 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D1_LK1
853#endif
854 use pm_kind, only: LKG => LK1
855 logical(LKG) , intent(in) , contiguous :: array(:)
856 logical(LKG) , intent(in) :: lpfill, rpfill
857 logical(LKG) , intent(in) , optional :: lmfill, rmfill
858 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
859 logical(LKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize+lmsize+rmsize)
860 end function
861#endif
862
863 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
864
865#if CK5_ENABLED
866 PURE module function getPaddedMargSB_D1_CK5(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
867#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
868 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D1_CK5
869#endif
870 use pm_kind, only: CKG => CK5
871 complex(CKG) , intent(in) , contiguous :: array(:)
872 complex(CKG) , intent(in) :: lpfill, rpfill
873 complex(CKG) , intent(in) , optional :: lmfill, rmfill
874 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
875 complex(CKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize+lmsize+rmsize)
876 end function
877#endif
878
879#if CK4_ENABLED
880 PURE module function getPaddedMargSB_D1_CK4(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
881#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
882 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D1_CK4
883#endif
884 use pm_kind, only: CKG => CK4
885 complex(CKG) , intent(in) , contiguous :: array(:)
886 complex(CKG) , intent(in) :: lpfill, rpfill
887 complex(CKG) , intent(in) , optional :: lmfill, rmfill
888 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
889 complex(CKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize+lmsize+rmsize)
890 end function
891#endif
892
893#if CK3_ENABLED
894 PURE module function getPaddedMargSB_D1_CK3(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
895#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
896 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D1_CK3
897#endif
898 use pm_kind, only: CKG => CK3
899 complex(CKG) , intent(in) , contiguous :: array(:)
900 complex(CKG) , intent(in) :: lpfill, rpfill
901 complex(CKG) , intent(in) , optional :: lmfill, rmfill
902 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
903 complex(CKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize+lmsize+rmsize)
904 end function
905#endif
906
907#if CK2_ENABLED
908 PURE module function getPaddedMargSB_D1_CK2(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
909#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
910 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D1_CK2
911#endif
912 use pm_kind, only: CKG => CK2
913 complex(CKG) , intent(in) , contiguous :: array(:)
914 complex(CKG) , intent(in) :: lpfill, rpfill
915 complex(CKG) , intent(in) , optional :: lmfill, rmfill
916 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
917 complex(CKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize+lmsize+rmsize)
918 end function
919#endif
920
921#if CK1_ENABLED
922 PURE module function getPaddedMargSB_D1_CK1(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
923#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
924 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D1_CK1
925#endif
926 use pm_kind, only: CKG => CK1
927 complex(CKG) , intent(in) , contiguous :: array(:)
928 complex(CKG) , intent(in) :: lpfill, rpfill
929 complex(CKG) , intent(in) , optional :: lmfill, rmfill
930 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
931 complex(CKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize+lmsize+rmsize)
932 end function
933#endif
934
935 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
936
937#if RK5_ENABLED
938 PURE module function getPaddedMargSB_D1_RK5(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
939#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
940 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D1_RK5
941#endif
942 use pm_kind, only: RKG => RK5
943 real(RKG) , intent(in) , contiguous :: array(:)
944 real(RKG) , intent(in) :: lpfill, rpfill
945 real(RKG) , intent(in) , optional :: lmfill, rmfill
946 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
947 real(RKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize+lmsize+rmsize)
948 end function
949#endif
950
951#if RK4_ENABLED
952 PURE module function getPaddedMargSB_D1_RK4(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
953#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
954 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D1_RK4
955#endif
956 use pm_kind, only: RKG => RK4
957 real(RKG) , intent(in) , contiguous :: array(:)
958 real(RKG) , intent(in) :: lpfill, rpfill
959 real(RKG) , intent(in) , optional :: lmfill, rmfill
960 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
961 real(RKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize+lmsize+rmsize)
962 end function
963#endif
964
965#if RK3_ENABLED
966 PURE module function getPaddedMargSB_D1_RK3(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
967#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
968 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D1_RK3
969#endif
970 use pm_kind, only: RKG => RK3
971 real(RKG) , intent(in) , contiguous :: array(:)
972 real(RKG) , intent(in) :: lpfill, rpfill
973 real(RKG) , intent(in) , optional :: lmfill, rmfill
974 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
975 real(RKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize+lmsize+rmsize)
976 end function
977#endif
978
979#if RK2_ENABLED
980 PURE module function getPaddedMargSB_D1_RK2(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
981#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
982 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D1_RK2
983#endif
984 use pm_kind, only: RKG => RK2
985 real(RKG) , intent(in) , contiguous :: array(:)
986 real(RKG) , intent(in) :: lpfill, rpfill
987 real(RKG) , intent(in) , optional :: lmfill, rmfill
988 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
989 real(RKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize+lmsize+rmsize)
990 end function
991#endif
992
993#if RK1_ENABLED
994 PURE module function getPaddedMargSB_D1_RK1(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill) result(arrayPadded)
995#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
996 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSB_D1_RK1
997#endif
998 use pm_kind, only: RKG => RK1
999 real(RKG) , intent(in) , contiguous :: array(:)
1000 real(RKG) , intent(in) :: lpfill, rpfill
1001 real(RKG) , intent(in) , optional :: lmfill, rmfill
1002 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1003 real(RKG) :: arrayPadded(size(array,kind=IK)+lpsize+rpsize+lmsize+rmsize)
1004 end function
1005#endif
1006
1007 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1008
1009 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1010 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1011 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1012
1013 end interface
1014
1015!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1016
1117 interface setPadded
1118
1119 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1120 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1121 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1122
1123 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1124
1125#if SK5_ENABLED
1126 PURE module subroutine setPaddedAsisSB_D0_SK5(array, lpsize, rpsize, lpfill, rpfill, failed)
1127#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1128 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D0_SK5
1129#endif
1130 use pm_kind, only: SKG => SK5
1131 character(:,SKG) , intent(inout) , allocatable :: array
1132 integer(IK) , intent(in) :: lpsize, rpsize
1133 character(1,SKG) , intent(in) :: lpfill, rpfill
1134 logical(LK) , intent(out) , optional :: failed
1135 end subroutine
1136#endif
1137
1138#if SK4_ENABLED
1139 PURE module subroutine setPaddedAsisSB_D0_SK4(array, lpsize, rpsize, lpfill, rpfill, failed)
1140#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1141 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D0_SK4
1142#endif
1143 use pm_kind, only: SKG => SK4
1144 character(:,SKG) , intent(inout) , allocatable :: array
1145 integer(IK) , intent(in) :: lpsize, rpsize
1146 character(1,SKG) , intent(in) :: lpfill, rpfill
1147 logical(LK) , intent(out) , optional :: failed
1148 end subroutine
1149#endif
1150
1151#if SK3_ENABLED
1152 PURE module subroutine setPaddedAsisSB_D0_SK3(array, lpsize, rpsize, lpfill, rpfill, failed)
1153#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1154 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D0_SK3
1155#endif
1156 use pm_kind, only: SKG => SK3
1157 character(:,SKG) , intent(inout) , allocatable :: array
1158 integer(IK) , intent(in) :: lpsize, rpsize
1159 character(1,SKG) , intent(in) :: lpfill, rpfill
1160 logical(LK) , intent(out) , optional :: failed
1161 end subroutine
1162#endif
1163
1164#if SK2_ENABLED
1165 PURE module subroutine setPaddedAsisSB_D0_SK2(array, lpsize, rpsize, lpfill, rpfill, failed)
1166#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1167 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D0_SK2
1168#endif
1169 use pm_kind, only: SKG => SK2
1170 character(:,SKG) , intent(inout) , allocatable :: array
1171 integer(IK) , intent(in) :: lpsize, rpsize
1172 character(1,SKG) , intent(in) :: lpfill, rpfill
1173 logical(LK) , intent(out) , optional :: failed
1174 end subroutine
1175#endif
1176
1177#if SK1_ENABLED
1178 PURE module subroutine setPaddedAsisSB_D0_SK1(array, lpsize, rpsize, lpfill, rpfill, failed)
1179#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1180 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D0_SK1
1181#endif
1182 use pm_kind, only: SKG => SK1
1183 character(:,SKG) , intent(inout) , allocatable :: array
1184 integer(IK) , intent(in) :: lpsize, rpsize
1185 character(1,SKG) , intent(in) :: lpfill, rpfill
1186 logical(LK) , intent(out) , optional :: failed
1187 end subroutine
1188#endif
1189
1190 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1191
1192#if SK5_ENABLED
1193 PURE module subroutine setPaddedAsisSB_D1_SK5(array, lpsize, rpsize, lpfill, rpfill, failed)
1194#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1195 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D1_SK5
1196#endif
1197 use pm_kind, only: SKG => SK5
1198 character(*,SKG) , intent(inout) , allocatable :: array(:)
1199 integer(IK) , intent(in) :: lpsize, rpsize
1200 character(len(array,IK),SKG), intent(in) :: lpfill, rpfill
1201 logical(LK) , intent(out) , optional :: failed
1202 end subroutine
1203#endif
1204
1205#if SK4_ENABLED
1206 PURE module subroutine setPaddedAsisSB_D1_SK4(array, lpsize, rpsize, lpfill, rpfill, failed)
1207#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1208 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D1_SK4
1209#endif
1210 use pm_kind, only: SKG => SK4
1211 character(*,SKG) , intent(inout) , allocatable :: array(:)
1212 integer(IK) , intent(in) :: lpsize, rpsize
1213 character(len(array,IK),SKG), intent(in) :: lpfill, rpfill
1214 logical(LK) , intent(out) , optional :: failed
1215 end subroutine
1216#endif
1217
1218#if SK3_ENABLED
1219 PURE module subroutine setPaddedAsisSB_D1_SK3(array, lpsize, rpsize, lpfill, rpfill, failed)
1220#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1221 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D1_SK3
1222#endif
1223 use pm_kind, only: SKG => SK3
1224 character(*,SKG) , intent(inout) , allocatable :: array(:)
1225 integer(IK) , intent(in) :: lpsize, rpsize
1226 character(len(array,IK),SKG), intent(in) :: lpfill, rpfill
1227 logical(LK) , intent(out) , optional :: failed
1228 end subroutine
1229#endif
1230
1231#if SK2_ENABLED
1232 PURE module subroutine setPaddedAsisSB_D1_SK2(array, lpsize, rpsize, lpfill, rpfill, failed)
1233#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1234 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D1_SK2
1235#endif
1236 use pm_kind, only: SKG => SK2
1237 character(*,SKG) , intent(inout) , allocatable :: array(:)
1238 integer(IK) , intent(in) :: lpsize, rpsize
1239 character(len(array,IK),SKG), intent(in) :: lpfill, rpfill
1240 logical(LK) , intent(out) , optional :: failed
1241 end subroutine
1242#endif
1243
1244#if SK1_ENABLED
1245 PURE module subroutine setPaddedAsisSB_D1_SK1(array, lpsize, rpsize, lpfill, rpfill, failed)
1246#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1247 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D1_SK1
1248#endif
1249 use pm_kind, only: SKG => SK1
1250 character(*,SKG) , intent(inout) , allocatable :: array(:)
1251 integer(IK) , intent(in) :: lpsize, rpsize
1252 character(len(array,IK),SKG), intent(in) :: lpfill, rpfill
1253 logical(LK) , intent(out) , optional :: failed
1254 end subroutine
1255#endif
1256
1257 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1258
1259#if IK5_ENABLED
1260 PURE module subroutine setPaddedAsisSB_D1_IK5(array, lpsize, rpsize, lpfill, rpfill, failed)
1261#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1262 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D1_IK5
1263#endif
1264 use pm_kind, only: IKG => IK5
1265 integer(IKG) , intent(inout) , allocatable :: array(:)
1266 integer(IK) , intent(in) :: lpsize, rpsize
1267 integer(IKG) , intent(in) :: lpfill, rpfill
1268 logical(LK) , intent(out) , optional :: failed
1269 end subroutine
1270#endif
1271
1272#if IK4_ENABLED
1273 PURE module subroutine setPaddedAsisSB_D1_IK4(array, lpsize, rpsize, lpfill, rpfill, failed)
1274#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1275 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D1_IK4
1276#endif
1277 use pm_kind, only: IKG => IK4
1278 integer(IKG) , intent(inout) , allocatable :: array(:)
1279 integer(IK) , intent(in) :: lpsize, rpsize
1280 integer(IKG) , intent(in) :: lpfill, rpfill
1281 logical(LK) , intent(out) , optional :: failed
1282 end subroutine
1283#endif
1284
1285#if IK3_ENABLED
1286 PURE module subroutine setPaddedAsisSB_D1_IK3(array, lpsize, rpsize, lpfill, rpfill, failed)
1287#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1288 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D1_IK3
1289#endif
1290 use pm_kind, only: IKG => IK3
1291 integer(IKG) , intent(inout) , allocatable :: array(:)
1292 integer(IK) , intent(in) :: lpsize, rpsize
1293 integer(IKG) , intent(in) :: lpfill, rpfill
1294 logical(LK) , intent(out) , optional :: failed
1295 end subroutine
1296#endif
1297
1298#if IK2_ENABLED
1299 PURE module subroutine setPaddedAsisSB_D1_IK2(array, lpsize, rpsize, lpfill, rpfill, failed)
1300#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1301 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D1_IK2
1302#endif
1303 use pm_kind, only: IKG => IK2
1304 integer(IKG) , intent(inout) , allocatable :: array(:)
1305 integer(IK) , intent(in) :: lpsize, rpsize
1306 integer(IKG) , intent(in) :: lpfill, rpfill
1307 logical(LK) , intent(out) , optional :: failed
1308 end subroutine
1309#endif
1310
1311#if IK1_ENABLED
1312 PURE module subroutine setPaddedAsisSB_D1_IK1(array, lpsize, rpsize, lpfill, rpfill, failed)
1313#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1314 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D1_IK1
1315#endif
1316 use pm_kind, only: IKG => IK1
1317 integer(IKG) , intent(inout) , allocatable :: array(:)
1318 integer(IK) , intent(in) :: lpsize, rpsize
1319 integer(IKG) , intent(in) :: lpfill, rpfill
1320 logical(LK) , intent(out) , optional :: failed
1321 end subroutine
1322#endif
1323
1324 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1325
1326#if LK5_ENABLED
1327 PURE module subroutine setPaddedAsisSB_D1_LK5(array, lpsize, rpsize, lpfill, rpfill, failed)
1328#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1329 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D1_LK5
1330#endif
1331 use pm_kind, only: LKG => LK5
1332 logical(LKG) , intent(inout) , allocatable :: array(:)
1333 integer(IK) , intent(in) :: lpsize, rpsize
1334 logical(LKG) , intent(in) :: lpfill, rpfill
1335 logical(LK) , intent(out) , optional :: failed
1336 end subroutine
1337#endif
1338
1339#if LK4_ENABLED
1340 PURE module subroutine setPaddedAsisSB_D1_LK4(array, lpsize, rpsize, lpfill, rpfill, failed)
1341#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1342 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D1_LK4
1343#endif
1344 use pm_kind, only: LKG => LK4
1345 logical(LKG) , intent(inout) , allocatable :: array(:)
1346 integer(IK) , intent(in) :: lpsize, rpsize
1347 logical(LKG) , intent(in) :: lpfill, rpfill
1348 logical(LK) , intent(out) , optional :: failed
1349 end subroutine
1350#endif
1351
1352#if LK3_ENABLED
1353 PURE module subroutine setPaddedAsisSB_D1_LK3(array, lpsize, rpsize, lpfill, rpfill, failed)
1354#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1355 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D1_LK3
1356#endif
1357 use pm_kind, only: LKG => LK3
1358 logical(LKG) , intent(inout) , allocatable :: array(:)
1359 integer(IK) , intent(in) :: lpsize, rpsize
1360 logical(LKG) , intent(in) :: lpfill, rpfill
1361 logical(LK) , intent(out) , optional :: failed
1362 end subroutine
1363#endif
1364
1365#if LK2_ENABLED
1366 PURE module subroutine setPaddedAsisSB_D1_LK2(array, lpsize, rpsize, lpfill, rpfill, failed)
1367#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1368 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D1_LK2
1369#endif
1370 use pm_kind, only: LKG => LK2
1371 logical(LKG) , intent(inout) , allocatable :: array(:)
1372 integer(IK) , intent(in) :: lpsize, rpsize
1373 logical(LKG) , intent(in) :: lpfill, rpfill
1374 logical(LK) , intent(out) , optional :: failed
1375 end subroutine
1376#endif
1377
1378#if LK1_ENABLED
1379 PURE module subroutine setPaddedAsisSB_D1_LK1(array, lpsize, rpsize, lpfill, rpfill, failed)
1380#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1381 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D1_LK1
1382#endif
1383 use pm_kind, only: LKG => LK1
1384 logical(LKG) , intent(inout) , allocatable :: array(:)
1385 integer(IK) , intent(in) :: lpsize, rpsize
1386 logical(LKG) , intent(in) :: lpfill, rpfill
1387 logical(LK) , intent(out) , optional :: failed
1388 end subroutine
1389#endif
1390
1391 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1392
1393#if CK5_ENABLED
1394 PURE module subroutine setPaddedAsisSB_D1_CK5(array, lpsize, rpsize, lpfill, rpfill, failed)
1395#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1396 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D1_CK5
1397#endif
1398 use pm_kind, only: CKG => CK5
1399 complex(CKG) , intent(inout) , allocatable :: array(:)
1400 integer(IK) , intent(in) :: lpsize, rpsize
1401 complex(CKG) , intent(in) :: lpfill, rpfill
1402 logical(LK) , intent(out) , optional :: failed
1403 end subroutine
1404#endif
1405
1406#if CK4_ENABLED
1407 PURE module subroutine setPaddedAsisSB_D1_CK4(array, lpsize, rpsize, lpfill, rpfill, failed)
1408#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1409 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D1_CK4
1410#endif
1411 use pm_kind, only: CKG => CK4
1412 complex(CKG) , intent(inout) , allocatable :: array(:)
1413 integer(IK) , intent(in) :: lpsize, rpsize
1414 complex(CKG) , intent(in) :: lpfill, rpfill
1415 logical(LK) , intent(out) , optional :: failed
1416 end subroutine
1417#endif
1418
1419#if CK3_ENABLED
1420 PURE module subroutine setPaddedAsisSB_D1_CK3(array, lpsize, rpsize, lpfill, rpfill, failed)
1421#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1422 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D1_CK3
1423#endif
1424 use pm_kind, only: CKG => CK3
1425 complex(CKG) , intent(inout) , allocatable :: array(:)
1426 integer(IK) , intent(in) :: lpsize, rpsize
1427 complex(CKG) , intent(in) :: lpfill, rpfill
1428 logical(LK) , intent(out) , optional :: failed
1429 end subroutine
1430#endif
1431
1432#if CK2_ENABLED
1433 PURE module subroutine setPaddedAsisSB_D1_CK2(array, lpsize, rpsize, lpfill, rpfill, failed)
1434#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1435 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D1_CK2
1436#endif
1437 use pm_kind, only: CKG => CK2
1438 complex(CKG) , intent(inout) , allocatable :: array(:)
1439 integer(IK) , intent(in) :: lpsize, rpsize
1440 complex(CKG) , intent(in) :: lpfill, rpfill
1441 logical(LK) , intent(out) , optional :: failed
1442 end subroutine
1443#endif
1444
1445#if CK1_ENABLED
1446 PURE module subroutine setPaddedAsisSB_D1_CK1(array, lpsize, rpsize, lpfill, rpfill, failed)
1447#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1448 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D1_CK1
1449#endif
1450 use pm_kind, only: CKG => CK1
1451 complex(CKG) , intent(inout) , allocatable :: array(:)
1452 integer(IK) , intent(in) :: lpsize, rpsize
1453 complex(CKG) , intent(in) :: lpfill, rpfill
1454 logical(LK) , intent(out) , optional :: failed
1455 end subroutine
1456#endif
1457
1458 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1459
1460#if RK5_ENABLED
1461 PURE module subroutine setPaddedAsisSB_D1_RK5(array, lpsize, rpsize, lpfill, rpfill, failed)
1462#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1463 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D1_RK5
1464#endif
1465 use pm_kind, only: RKG => RK5
1466 real(RKG) , intent(inout) , allocatable :: array(:)
1467 integer(IK) , intent(in) :: lpsize, rpsize
1468 real(RKG) , intent(in) :: lpfill, rpfill
1469 logical(LK) , intent(out) , optional :: failed
1470 end subroutine
1471#endif
1472
1473#if RK4_ENABLED
1474 PURE module subroutine setPaddedAsisSB_D1_RK4(array, lpsize, rpsize, lpfill, rpfill, failed)
1475#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1476 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D1_RK4
1477#endif
1478 use pm_kind, only: RKG => RK4
1479 real(RKG) , intent(inout) , allocatable :: array(:)
1480 integer(IK) , intent(in) :: lpsize, rpsize
1481 real(RKG) , intent(in) :: lpfill, rpfill
1482 logical(LK) , intent(out) , optional :: failed
1483 end subroutine
1484#endif
1485
1486#if RK3_ENABLED
1487 PURE module subroutine setPaddedAsisSB_D1_RK3(array, lpsize, rpsize, lpfill, rpfill, failed)
1488#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1489 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D1_RK3
1490#endif
1491 use pm_kind, only: RKG => RK3
1492 real(RKG) , intent(inout) , allocatable :: array(:)
1493 integer(IK) , intent(in) :: lpsize, rpsize
1494 real(RKG) , intent(in) :: lpfill, rpfill
1495 logical(LK) , intent(out) , optional :: failed
1496 end subroutine
1497#endif
1498
1499#if RK2_ENABLED
1500 PURE module subroutine setPaddedAsisSB_D1_RK2(array, lpsize, rpsize, lpfill, rpfill, failed)
1501#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1502 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D1_RK2
1503#endif
1504 use pm_kind, only: RKG => RK2
1505 real(RKG) , intent(inout) , allocatable :: array(:)
1506 integer(IK) , intent(in) :: lpsize, rpsize
1507 real(RKG) , intent(in) :: lpfill, rpfill
1508 logical(LK) , intent(out) , optional :: failed
1509 end subroutine
1510#endif
1511
1512#if RK1_ENABLED
1513 PURE module subroutine setPaddedAsisSB_D1_RK1(array, lpsize, rpsize, lpfill, rpfill, failed)
1514#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1515 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSB_D1_RK1
1516#endif
1517 use pm_kind, only: RKG => RK1
1518 real(RKG) , intent(inout) , allocatable :: array(:)
1519 integer(IK) , intent(in) :: lpsize, rpsize
1520 real(RKG) , intent(in) :: lpfill, rpfill
1521 logical(LK) , intent(out) , optional :: failed
1522 end subroutine
1523#endif
1524
1525 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1526
1527 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1528 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1529 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1530
1531 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1532
1533#if SK5_ENABLED
1534 PURE module subroutine setPaddedMargSB_D0_SK5(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1535#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1536 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D0_SK5
1537#endif
1538 use pm_kind, only: SKG => SK5
1539 character(:,SKG) , intent(inout) , allocatable :: array
1540 character(1,SKG) , intent(in) :: lpfill, rpfill
1541 character(1,SKG) , intent(in) , optional :: lmfill, rmfill
1542 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1543 logical(LK) , intent(out) , optional :: failed
1544 end subroutine
1545#endif
1546
1547#if SK4_ENABLED
1548 PURE module subroutine setPaddedMargSB_D0_SK4(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1549#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1550 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D0_SK4
1551#endif
1552 use pm_kind, only: SKG => SK4
1553 character(:,SKG) , intent(inout) , allocatable :: array
1554 character(1,SKG) , intent(in) :: lpfill, rpfill
1555 character(1,SKG) , intent(in) , optional :: lmfill, rmfill
1556 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1557 logical(LK) , intent(out) , optional :: failed
1558 end subroutine
1559#endif
1560
1561#if SK3_ENABLED
1562 PURE module subroutine setPaddedMargSB_D0_SK3(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1563#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1564 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D0_SK3
1565#endif
1566 use pm_kind, only: SKG => SK3
1567 character(:,SKG) , intent(inout) , allocatable :: array
1568 character(1,SKG) , intent(in) :: lpfill, rpfill
1569 character(1,SKG) , intent(in) , optional :: lmfill, rmfill
1570 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1571 logical(LK) , intent(out) , optional :: failed
1572 end subroutine
1573#endif
1574
1575#if SK2_ENABLED
1576 PURE module subroutine setPaddedMargSB_D0_SK2(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1577#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1578 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D0_SK2
1579#endif
1580 use pm_kind, only: SKG => SK2
1581 character(:,SKG) , intent(inout) , allocatable :: array
1582 character(1,SKG) , intent(in) :: lpfill, rpfill
1583 character(1,SKG) , intent(in) , optional :: lmfill, rmfill
1584 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1585 logical(LK) , intent(out) , optional :: failed
1586 end subroutine
1587#endif
1588
1589#if SK1_ENABLED
1590 PURE module subroutine setPaddedMargSB_D0_SK1(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1591#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1592 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D0_SK1
1593#endif
1594 use pm_kind, only: SKG => SK1
1595 character(:,SKG) , intent(inout) , allocatable :: array
1596 character(1,SKG) , intent(in) :: lpfill, rpfill
1597 character(1,SKG) , intent(in) , optional :: lmfill, rmfill
1598 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1599 logical(LK) , intent(out) , optional :: failed
1600 end subroutine
1601#endif
1602
1603 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1604
1605#if SK5_ENABLED
1606 PURE module subroutine setPaddedMargSB_D1_SK5(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1607#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1608 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D1_SK5
1609#endif
1610 use pm_kind, only: SKG => SK5
1611 character(*,SKG) , intent(inout) , allocatable :: array(:)
1612 character(len(array,IK),SKG), intent(in) :: lpfill, rpfill
1613 character(len(array,IK),SKG), intent(in) , optional :: lmfill, rmfill
1614 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1615 logical(LK) , intent(out) , optional :: failed
1616 end subroutine
1617#endif
1618
1619#if SK4_ENABLED
1620 PURE module subroutine setPaddedMargSB_D1_SK4(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1621#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1622 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D1_SK4
1623#endif
1624 use pm_kind, only: SKG => SK4
1625 character(*,SKG) , intent(inout) , allocatable :: array(:)
1626 character(len(array,IK),SKG), intent(in) :: lpfill, rpfill
1627 character(len(array,IK),SKG), intent(in) , optional :: lmfill, rmfill
1628 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1629 logical(LK) , intent(out) , optional :: failed
1630 end subroutine
1631#endif
1632
1633#if SK3_ENABLED
1634 PURE module subroutine setPaddedMargSB_D1_SK3(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1635#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1636 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D1_SK3
1637#endif
1638 use pm_kind, only: SKG => SK3
1639 character(*,SKG) , intent(inout) , allocatable :: array(:)
1640 character(len(array,IK),SKG), intent(in) :: lpfill, rpfill
1641 character(len(array,IK),SKG), intent(in) , optional :: lmfill, rmfill
1642 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1643 logical(LK) , intent(out) , optional :: failed
1644 end subroutine
1645#endif
1646
1647#if SK2_ENABLED
1648 PURE module subroutine setPaddedMargSB_D1_SK2(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1649#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1650 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D1_SK2
1651#endif
1652 use pm_kind, only: SKG => SK2
1653 character(*,SKG) , intent(inout) , allocatable :: array(:)
1654 character(len(array,IK),SKG), intent(in) :: lpfill, rpfill
1655 character(len(array,IK),SKG), intent(in) , optional :: lmfill, rmfill
1656 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1657 logical(LK) , intent(out) , optional :: failed
1658 end subroutine
1659#endif
1660
1661#if SK1_ENABLED
1662 PURE module subroutine setPaddedMargSB_D1_SK1(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1663#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1664 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D1_SK1
1665#endif
1666 use pm_kind, only: SKG => SK1
1667 character(*,SKG) , intent(inout) , allocatable :: array(:)
1668 character(len(array,IK),SKG), intent(in) :: lpfill, rpfill
1669 character(len(array,IK),SKG), intent(in) , optional :: lmfill, rmfill
1670 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1671 logical(LK) , intent(out) , optional :: failed
1672 end subroutine
1673#endif
1674
1675 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1676
1677#if IK5_ENABLED
1678 PURE module subroutine setPaddedMargSB_D1_IK5(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1679#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1680 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D1_IK5
1681#endif
1682 use pm_kind, only: IKG => IK5
1683 integer(IKG) , intent(inout) , allocatable :: array(:)
1684 integer(IKG) , intent(in) :: lpfill, rpfill
1685 integer(IKG) , intent(in) , optional :: lmfill, rmfill
1686 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1687 logical(LK) , intent(out) , optional :: failed
1688 end subroutine
1689#endif
1690
1691#if IK4_ENABLED
1692 PURE module subroutine setPaddedMargSB_D1_IK4(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1693#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1694 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D1_IK4
1695#endif
1696 use pm_kind, only: IKG => IK4
1697 integer(IKG) , intent(inout) , allocatable :: array(:)
1698 integer(IKG) , intent(in) :: lpfill, rpfill
1699 integer(IKG) , intent(in) , optional :: lmfill, rmfill
1700 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1701 logical(LK) , intent(out) , optional :: failed
1702 end subroutine
1703#endif
1704
1705#if IK3_ENABLED
1706 PURE module subroutine setPaddedMargSB_D1_IK3(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1707#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1708 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D1_IK3
1709#endif
1710 use pm_kind, only: IKG => IK3
1711 integer(IKG) , intent(inout) , allocatable :: array(:)
1712 integer(IKG) , intent(in) :: lpfill, rpfill
1713 integer(IKG) , intent(in) , optional :: lmfill, rmfill
1714 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1715 logical(LK) , intent(out) , optional :: failed
1716 end subroutine
1717#endif
1718
1719#if IK2_ENABLED
1720 PURE module subroutine setPaddedMargSB_D1_IK2(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1721#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1722 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D1_IK2
1723#endif
1724 use pm_kind, only: IKG => IK2
1725 integer(IKG) , intent(inout) , allocatable :: array(:)
1726 integer(IKG) , intent(in) :: lpfill, rpfill
1727 integer(IKG) , intent(in) , optional :: lmfill, rmfill
1728 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1729 logical(LK) , intent(out) , optional :: failed
1730 end subroutine
1731#endif
1732
1733#if IK1_ENABLED
1734 PURE module subroutine setPaddedMargSB_D1_IK1(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1735#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1736 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D1_IK1
1737#endif
1738 use pm_kind, only: IKG => IK1
1739 integer(IKG) , intent(inout) , allocatable :: array(:)
1740 integer(IKG) , intent(in) :: lpfill, rpfill
1741 integer(IKG) , intent(in) , optional :: lmfill, rmfill
1742 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1743 logical(LK) , intent(out) , optional :: failed
1744 end subroutine
1745#endif
1746
1747 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1748
1749#if LK5_ENABLED
1750 PURE module subroutine setPaddedMargSB_D1_LK5(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1751#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1752 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D1_LK5
1753#endif
1754 use pm_kind, only: LKG => LK5
1755 logical(LKG) , intent(inout) , allocatable :: array(:)
1756 logical(LKG) , intent(in) :: lpfill, rpfill
1757 logical(LKG) , intent(in) , optional :: lmfill, rmfill
1758 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1759 logical(LK) , intent(out) , optional :: failed
1760 end subroutine
1761#endif
1762
1763#if LK4_ENABLED
1764 PURE module subroutine setPaddedMargSB_D1_LK4(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1765#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1766 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D1_LK4
1767#endif
1768 use pm_kind, only: LKG => LK4
1769 logical(LKG) , intent(inout) , allocatable :: array(:)
1770 logical(LKG) , intent(in) :: lpfill, rpfill
1771 logical(LKG) , intent(in) , optional :: lmfill, rmfill
1772 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1773 logical(LK) , intent(out) , optional :: failed
1774 end subroutine
1775#endif
1776
1777#if LK3_ENABLED
1778 PURE module subroutine setPaddedMargSB_D1_LK3(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1779#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1780 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D1_LK3
1781#endif
1782 use pm_kind, only: LKG => LK3
1783 logical(LKG) , intent(inout) , allocatable :: array(:)
1784 logical(LKG) , intent(in) :: lpfill, rpfill
1785 logical(LKG) , intent(in) , optional :: lmfill, rmfill
1786 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1787 logical(LK) , intent(out) , optional :: failed
1788 end subroutine
1789#endif
1790
1791#if LK2_ENABLED
1792 PURE module subroutine setPaddedMargSB_D1_LK2(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1793#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1794 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D1_LK2
1795#endif
1796 use pm_kind, only: LKG => LK2
1797 logical(LKG) , intent(inout) , allocatable :: array(:)
1798 logical(LKG) , intent(in) :: lpfill, rpfill
1799 logical(LKG) , intent(in) , optional :: lmfill, rmfill
1800 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1801 logical(LK) , intent(out) , optional :: failed
1802 end subroutine
1803#endif
1804
1805#if LK1_ENABLED
1806 PURE module subroutine setPaddedMargSB_D1_LK1(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1807#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1808 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D1_LK1
1809#endif
1810 use pm_kind, only: LKG => LK1
1811 logical(LKG) , intent(inout) , allocatable :: array(:)
1812 logical(LKG) , intent(in) :: lpfill, rpfill
1813 logical(LKG) , intent(in) , optional :: lmfill, rmfill
1814 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1815 logical(LK) , intent(out) , optional :: failed
1816 end subroutine
1817#endif
1818
1819 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1820
1821#if CK5_ENABLED
1822 PURE module subroutine setPaddedMargSB_D1_CK5(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1823#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1824 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D1_CK5
1825#endif
1826 use pm_kind, only: CKG => CK5
1827 complex(CKG) , intent(inout) , allocatable :: array(:)
1828 complex(CKG) , intent(in) :: lpfill, rpfill
1829 complex(CKG) , intent(in) , optional :: lmfill, rmfill
1830 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1831 logical(LK) , intent(out) , optional :: failed
1832 end subroutine
1833#endif
1834
1835#if CK4_ENABLED
1836 PURE module subroutine setPaddedMargSB_D1_CK4(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1837#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1838 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D1_CK4
1839#endif
1840 use pm_kind, only: CKG => CK4
1841 complex(CKG) , intent(inout) , allocatable :: array(:)
1842 complex(CKG) , intent(in) :: lpfill, rpfill
1843 complex(CKG) , intent(in) , optional :: lmfill, rmfill
1844 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1845 logical(LK) , intent(out) , optional :: failed
1846 end subroutine
1847#endif
1848
1849#if CK3_ENABLED
1850 PURE module subroutine setPaddedMargSB_D1_CK3(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1851#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1852 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D1_CK3
1853#endif
1854 use pm_kind, only: CKG => CK3
1855 complex(CKG) , intent(inout) , allocatable :: array(:)
1856 complex(CKG) , intent(in) :: lpfill, rpfill
1857 complex(CKG) , intent(in) , optional :: lmfill, rmfill
1858 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1859 logical(LK) , intent(out) , optional :: failed
1860 end subroutine
1861#endif
1862
1863#if CK2_ENABLED
1864 PURE module subroutine setPaddedMargSB_D1_CK2(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1865#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1866 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D1_CK2
1867#endif
1868 use pm_kind, only: CKG => CK2
1869 complex(CKG) , intent(inout) , allocatable :: array(:)
1870 complex(CKG) , intent(in) :: lpfill, rpfill
1871 complex(CKG) , intent(in) , optional :: lmfill, rmfill
1872 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1873 logical(LK) , intent(out) , optional :: failed
1874 end subroutine
1875#endif
1876
1877#if CK1_ENABLED
1878 PURE module subroutine setPaddedMargSB_D1_CK1(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1879#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1880 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D1_CK1
1881#endif
1882 use pm_kind, only: CKG => CK1
1883 complex(CKG) , intent(inout) , allocatable :: array(:)
1884 complex(CKG) , intent(in) :: lpfill, rpfill
1885 complex(CKG) , intent(in) , optional :: lmfill, rmfill
1886 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1887 logical(LK) , intent(out) , optional :: failed
1888 end subroutine
1889#endif
1890
1891 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1892
1893#if RK5_ENABLED
1894 PURE module subroutine setPaddedMargSB_D1_RK5(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1895#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1896 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D1_RK5
1897#endif
1898 use pm_kind, only: RKG => RK5
1899 real(RKG) , intent(inout) , allocatable :: array(:)
1900 real(RKG) , intent(in) :: lpfill, rpfill
1901 real(RKG) , intent(in) , optional :: lmfill, rmfill
1902 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1903 logical(LK) , intent(out) , optional :: failed
1904 end subroutine
1905#endif
1906
1907#if RK4_ENABLED
1908 PURE module subroutine setPaddedMargSB_D1_RK4(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1909#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1910 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D1_RK4
1911#endif
1912 use pm_kind, only: RKG => RK4
1913 real(RKG) , intent(inout) , allocatable :: array(:)
1914 real(RKG) , intent(in) :: lpfill, rpfill
1915 real(RKG) , intent(in) , optional :: lmfill, rmfill
1916 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1917 logical(LK) , intent(out) , optional :: failed
1918 end subroutine
1919#endif
1920
1921#if RK3_ENABLED
1922 PURE module subroutine setPaddedMargSB_D1_RK3(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1923#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1924 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D1_RK3
1925#endif
1926 use pm_kind, only: RKG => RK3
1927 real(RKG) , intent(inout) , allocatable :: array(:)
1928 real(RKG) , intent(in) :: lpfill, rpfill
1929 real(RKG) , intent(in) , optional :: lmfill, rmfill
1930 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1931 logical(LK) , intent(out) , optional :: failed
1932 end subroutine
1933#endif
1934
1935#if RK2_ENABLED
1936 PURE module subroutine setPaddedMargSB_D1_RK2(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1937#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1938 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D1_RK2
1939#endif
1940 use pm_kind, only: RKG => RK2
1941 real(RKG) , intent(inout) , allocatable :: array(:)
1942 real(RKG) , intent(in) :: lpfill, rpfill
1943 real(RKG) , intent(in) , optional :: lmfill, rmfill
1944 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1945 logical(LK) , intent(out) , optional :: failed
1946 end subroutine
1947#endif
1948
1949#if RK1_ENABLED
1950 PURE module subroutine setPaddedMargSB_D1_RK1(array, lpsize, rpsize, lpfill, rpfill, lmsize, rmsize, lmfill, rmfill, failed)
1951#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1952 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSB_D1_RK1
1953#endif
1954 use pm_kind, only: RKG => RK1
1955 real(RKG) , intent(inout) , allocatable :: array(:)
1956 real(RKG) , intent(in) :: lpfill, rpfill
1957 real(RKG) , intent(in) , optional :: lmfill, rmfill
1958 integer(IK) , intent(in) :: lpsize, rpsize, lmsize, rmsize
1959 logical(LK) , intent(out) , optional :: failed
1960 end subroutine
1961#endif
1962
1963 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1964
1965 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1966 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1967 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1968
1969 end interface
1970
1971!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1972
2063 interface getPaddedl
2064
2065 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2066 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2067 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2068
2069 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2070
2071#if SK5_ENABLED
2072 PURE module function getPaddedAsisSL_D0_SK5(array, lpsize, lpfill) result(arrayPadded)
2073#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2074 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D0_SK5
2075#endif
2076 use pm_kind, only: SKG => SK5
2077 character(*,SKG) , intent(in) :: array
2078 integer(IK) , intent(in) :: lpsize
2079 character(1,SKG) , intent(in) :: lpfill
2080 character(len(array,IK)+lpsize,SKG) :: arrayPadded
2081 end function
2082#endif
2083
2084#if SK4_ENABLED
2085 PURE module function getPaddedAsisSL_D0_SK4(array, lpsize, lpfill) result(arrayPadded)
2086#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2087 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D0_SK4
2088#endif
2089 use pm_kind, only: SKG => SK4
2090 character(*,SKG) , intent(in) :: array
2091 integer(IK) , intent(in) :: lpsize
2092 character(1,SKG) , intent(in) :: lpfill
2093 character(len(array,IK)+lpsize,SKG) :: arrayPadded
2094 end function
2095#endif
2096
2097#if SK3_ENABLED
2098 PURE module function getPaddedAsisSL_D0_SK3(array, lpsize, lpfill) result(arrayPadded)
2099#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2100 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D0_SK3
2101#endif
2102 use pm_kind, only: SKG => SK3
2103 character(*,SKG) , intent(in) :: array
2104 integer(IK) , intent(in) :: lpsize
2105 character(1,SKG) , intent(in) :: lpfill
2106 character(len(array,IK)+lpsize,SKG) :: arrayPadded
2107 end function
2108#endif
2109
2110#if SK2_ENABLED
2111 PURE module function getPaddedAsisSL_D0_SK2(array, lpsize, lpfill) result(arrayPadded)
2112#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2113 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D0_SK2
2114#endif
2115 use pm_kind, only: SKG => SK2
2116 character(*,SKG) , intent(in) :: array
2117 integer(IK) , intent(in) :: lpsize
2118 character(1,SKG) , intent(in) :: lpfill
2119 character(len(array,IK)+lpsize,SKG) :: arrayPadded
2120 end function
2121#endif
2122
2123#if SK1_ENABLED
2124 PURE module function getPaddedAsisSL_D0_SK1(array, lpsize, lpfill) result(arrayPadded)
2125#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2126 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D0_SK1
2127#endif
2128 use pm_kind, only: SKG => SK1
2129 character(*,SKG) , intent(in) :: array
2130 integer(IK) , intent(in) :: lpsize
2131 character(1,SKG) , intent(in) :: lpfill
2132 character(len(array,IK)+lpsize,SKG) :: arrayPadded
2133 end function
2134#endif
2135
2136 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2137
2138#if SK5_ENABLED
2139 PURE module function getPaddedAsisSL_D1_SK5(array, lpsize, lpfill) result(arrayPadded)
2140#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2141 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D1_SK5
2142#endif
2143 use pm_kind, only: SKG => SK5
2144 character(*,SKG) , intent(in) , contiguous :: array(:)
2145 integer(IK) , intent(in) :: lpsize
2146 character(len(array,IK),SKG), intent(in) :: lpfill
2147 character(len(array,IK),SKG) :: arrayPadded(size(array,kind=IK)+lpsize)
2148 end function
2149#endif
2150
2151#if SK4_ENABLED
2152 PURE module function getPaddedAsisSL_D1_SK4(array, lpsize, lpfill) result(arrayPadded)
2153#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2154 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D1_SK4
2155#endif
2156 use pm_kind, only: SKG => SK4
2157 character(*,SKG) , intent(in) , contiguous :: array(:)
2158 integer(IK) , intent(in) :: lpsize
2159 character(len(array,IK),SKG), intent(in) :: lpfill
2160 character(len(array,IK),SKG) :: arrayPadded(size(array,kind=IK)+lpsize)
2161 end function
2162#endif
2163
2164#if SK3_ENABLED
2165 PURE module function getPaddedAsisSL_D1_SK3(array, lpsize, lpfill) result(arrayPadded)
2166#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2167 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D1_SK3
2168#endif
2169 use pm_kind, only: SKG => SK3
2170 character(*,SKG) , intent(in) , contiguous :: array(:)
2171 integer(IK) , intent(in) :: lpsize
2172 character(len(array,IK),SKG), intent(in) :: lpfill
2173 character(len(array,IK),SKG) :: arrayPadded(size(array,kind=IK)+lpsize)
2174 end function
2175#endif
2176
2177#if SK2_ENABLED
2178 PURE module function getPaddedAsisSL_D1_SK2(array, lpsize, lpfill) result(arrayPadded)
2179#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2180 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D1_SK2
2181#endif
2182 use pm_kind, only: SKG => SK2
2183 character(*,SKG) , intent(in) , contiguous :: array(:)
2184 integer(IK) , intent(in) :: lpsize
2185 character(len(array,IK),SKG), intent(in) :: lpfill
2186 character(len(array,IK),SKG) :: arrayPadded(size(array,kind=IK)+lpsize)
2187 end function
2188#endif
2189
2190#if SK1_ENABLED
2191 PURE module function getPaddedAsisSL_D1_SK1(array, lpsize, lpfill) result(arrayPadded)
2192#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2193 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D1_SK1
2194#endif
2195 use pm_kind, only: SKG => SK1
2196 character(*,SKG) , intent(in) , contiguous :: array(:)
2197 integer(IK) , intent(in) :: lpsize
2198 character(len(array,IK),SKG), intent(in) :: lpfill
2199 character(len(array,IK),SKG) :: arrayPadded(size(array,kind=IK)+lpsize)
2200 end function
2201#endif
2202
2203 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2204
2205#if IK5_ENABLED
2206 PURE module function getPaddedAsisSL_D1_IK5(array, lpsize, lpfill) result(arrayPadded)
2207#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2208 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D1_IK5
2209#endif
2210 use pm_kind, only: IKG => IK5
2211 integer(IKG) , intent(in) , contiguous :: array(:)
2212 integer(IK) , intent(in) :: lpsize
2213 integer(IKG) , intent(in) :: lpfill
2214 integer(IKG) :: arrayPadded(size(array,kind=IK)+lpsize)
2215 end function
2216#endif
2217
2218#if IK4_ENABLED
2219 PURE module function getPaddedAsisSL_D1_IK4(array, lpsize, lpfill) result(arrayPadded)
2220#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2221 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D1_IK4
2222#endif
2223 use pm_kind, only: IKG => IK4
2224 integer(IKG) , intent(in) , contiguous :: array(:)
2225 integer(IK) , intent(in) :: lpsize
2226 integer(IKG) , intent(in) :: lpfill
2227 integer(IKG) :: arrayPadded(size(array,kind=IK)+lpsize)
2228 end function
2229#endif
2230
2231#if IK3_ENABLED
2232 PURE module function getPaddedAsisSL_D1_IK3(array, lpsize, lpfill) result(arrayPadded)
2233#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2234 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D1_IK3
2235#endif
2236 use pm_kind, only: IKG => IK3
2237 integer(IKG) , intent(in) , contiguous :: array(:)
2238 integer(IK) , intent(in) :: lpsize
2239 integer(IKG) , intent(in) :: lpfill
2240 integer(IKG) :: arrayPadded(size(array,kind=IK)+lpsize)
2241 end function
2242#endif
2243
2244#if IK2_ENABLED
2245 PURE module function getPaddedAsisSL_D1_IK2(array, lpsize, lpfill) result(arrayPadded)
2246#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2247 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D1_IK2
2248#endif
2249 use pm_kind, only: IKG => IK2
2250 integer(IKG) , intent(in) , contiguous :: array(:)
2251 integer(IK) , intent(in) :: lpsize
2252 integer(IKG) , intent(in) :: lpfill
2253 integer(IKG) :: arrayPadded(size(array,kind=IK)+lpsize)
2254 end function
2255#endif
2256
2257#if IK1_ENABLED
2258 PURE module function getPaddedAsisSL_D1_IK1(array, lpsize, lpfill) result(arrayPadded)
2259#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2260 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D1_IK1
2261#endif
2262 use pm_kind, only: IKG => IK1
2263 integer(IKG) , intent(in) , contiguous :: array(:)
2264 integer(IK) , intent(in) :: lpsize
2265 integer(IKG) , intent(in) :: lpfill
2266 integer(IKG) :: arrayPadded(size(array,kind=IK)+lpsize)
2267 end function
2268#endif
2269
2270 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2271
2272#if LK5_ENABLED
2273 PURE module function getPaddedAsisSL_D1_LK5(array, lpsize, lpfill) result(arrayPadded)
2274#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2275 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D1_LK5
2276#endif
2277 use pm_kind, only: LKG => LK5
2278 logical(LKG) , intent(in) , contiguous :: array(:)
2279 integer(IK) , intent(in) :: lpsize
2280 logical(LKG) , intent(in) :: lpfill
2281 logical(LKG) :: arrayPadded(size(array,kind=IK)+lpsize)
2282 end function
2283#endif
2284
2285#if LK4_ENABLED
2286 PURE module function getPaddedAsisSL_D1_LK4(array, lpsize, lpfill) result(arrayPadded)
2287#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2288 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D1_LK4
2289#endif
2290 use pm_kind, only: LKG => LK4
2291 logical(LKG) , intent(in) , contiguous :: array(:)
2292 integer(IK) , intent(in) :: lpsize
2293 logical(LKG) , intent(in) :: lpfill
2294 logical(LKG) :: arrayPadded(size(array,kind=IK)+lpsize)
2295 end function
2296#endif
2297
2298#if LK3_ENABLED
2299 PURE module function getPaddedAsisSL_D1_LK3(array, lpsize, lpfill) result(arrayPadded)
2300#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2301 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D1_LK3
2302#endif
2303 use pm_kind, only: LKG => LK3
2304 logical(LKG) , intent(in) , contiguous :: array(:)
2305 integer(IK) , intent(in) :: lpsize
2306 logical(LKG) , intent(in) :: lpfill
2307 logical(LKG) :: arrayPadded(size(array,kind=IK)+lpsize)
2308 end function
2309#endif
2310
2311#if LK2_ENABLED
2312 PURE module function getPaddedAsisSL_D1_LK2(array, lpsize, lpfill) result(arrayPadded)
2313#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2314 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D1_LK2
2315#endif
2316 use pm_kind, only: LKG => LK2
2317 logical(LKG) , intent(in) , contiguous :: array(:)
2318 integer(IK) , intent(in) :: lpsize
2319 logical(LKG) , intent(in) :: lpfill
2320 logical(LKG) :: arrayPadded(size(array,kind=IK)+lpsize)
2321 end function
2322#endif
2323
2324#if LK1_ENABLED
2325 PURE module function getPaddedAsisSL_D1_LK1(array, lpsize, lpfill) result(arrayPadded)
2326#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2327 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D1_LK1
2328#endif
2329 use pm_kind, only: LKG => LK1
2330 logical(LKG) , intent(in) , contiguous :: array(:)
2331 integer(IK) , intent(in) :: lpsize
2332 logical(LKG) , intent(in) :: lpfill
2333 logical(LKG) :: arrayPadded(size(array,kind=IK)+lpsize)
2334 end function
2335#endif
2336
2337 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2338
2339#if CK5_ENABLED
2340 PURE module function getPaddedAsisSL_D1_CK5(array, lpsize, lpfill) result(arrayPadded)
2341#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2342 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D1_CK5
2343#endif
2344 use pm_kind, only: CKG => CK5
2345 complex(CKG) , intent(in) , contiguous :: array(:)
2346 integer(IK) , intent(in) :: lpsize
2347 complex(CKG) , intent(in) :: lpfill
2348 complex(CKG) :: arrayPadded(size(array,kind=IK)+lpsize)
2349 end function
2350#endif
2351
2352#if CK4_ENABLED
2353 PURE module function getPaddedAsisSL_D1_CK4(array, lpsize, lpfill) result(arrayPadded)
2354#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2355 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D1_CK4
2356#endif
2357 use pm_kind, only: CKG => CK4
2358 complex(CKG) , intent(in) , contiguous :: array(:)
2359 integer(IK) , intent(in) :: lpsize
2360 complex(CKG) , intent(in) :: lpfill
2361 complex(CKG) :: arrayPadded(size(array,kind=IK)+lpsize)
2362 end function
2363#endif
2364
2365#if CK3_ENABLED
2366 PURE module function getPaddedAsisSL_D1_CK3(array, lpsize, lpfill) result(arrayPadded)
2367#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2368 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D1_CK3
2369#endif
2370 use pm_kind, only: CKG => CK3
2371 complex(CKG) , intent(in) , contiguous :: array(:)
2372 integer(IK) , intent(in) :: lpsize
2373 complex(CKG) , intent(in) :: lpfill
2374 complex(CKG) :: arrayPadded(size(array,kind=IK)+lpsize)
2375 end function
2376#endif
2377
2378#if CK2_ENABLED
2379 PURE module function getPaddedAsisSL_D1_CK2(array, lpsize, lpfill) result(arrayPadded)
2380#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2381 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D1_CK2
2382#endif
2383 use pm_kind, only: CKG => CK2
2384 complex(CKG) , intent(in) , contiguous :: array(:)
2385 integer(IK) , intent(in) :: lpsize
2386 complex(CKG) , intent(in) :: lpfill
2387 complex(CKG) :: arrayPadded(size(array,kind=IK)+lpsize)
2388 end function
2389#endif
2390
2391#if CK1_ENABLED
2392 PURE module function getPaddedAsisSL_D1_CK1(array, lpsize, lpfill) result(arrayPadded)
2393#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2394 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D1_CK1
2395#endif
2396 use pm_kind, only: CKG => CK1
2397 complex(CKG) , intent(in) , contiguous :: array(:)
2398 integer(IK) , intent(in) :: lpsize
2399 complex(CKG) , intent(in) :: lpfill
2400 complex(CKG) :: arrayPadded(size(array,kind=IK)+lpsize)
2401 end function
2402#endif
2403
2404 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2405
2406#if RK5_ENABLED
2407 PURE module function getPaddedAsisSL_D1_RK5(array, lpsize, lpfill) result(arrayPadded)
2408#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2409 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D1_RK5
2410#endif
2411 use pm_kind, only: RKG => RK5
2412 real(RKG) , intent(in) , contiguous :: array(:)
2413 integer(IK) , intent(in) :: lpsize
2414 real(RKG) , intent(in) :: lpfill
2415 real(RKG) :: arrayPadded(size(array,kind=IK)+lpsize)
2416 end function
2417#endif
2418
2419#if RK4_ENABLED
2420 PURE module function getPaddedAsisSL_D1_RK4(array, lpsize, lpfill) result(arrayPadded)
2421#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2422 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D1_RK4
2423#endif
2424 use pm_kind, only: RKG => RK4
2425 real(RKG) , intent(in) , contiguous :: array(:)
2426 integer(IK) , intent(in) :: lpsize
2427 real(RKG) , intent(in) :: lpfill
2428 real(RKG) :: arrayPadded(size(array,kind=IK)+lpsize)
2429 end function
2430#endif
2431
2432#if RK3_ENABLED
2433 PURE module function getPaddedAsisSL_D1_RK3(array, lpsize, lpfill) result(arrayPadded)
2434#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2435 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D1_RK3
2436#endif
2437 use pm_kind, only: RKG => RK3
2438 real(RKG) , intent(in) , contiguous :: array(:)
2439 integer(IK) , intent(in) :: lpsize
2440 real(RKG) , intent(in) :: lpfill
2441 real(RKG) :: arrayPadded(size(array,kind=IK)+lpsize)
2442 end function
2443#endif
2444
2445#if RK2_ENABLED
2446 PURE module function getPaddedAsisSL_D1_RK2(array, lpsize, lpfill) result(arrayPadded)
2447#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2448 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D1_RK2
2449#endif
2450 use pm_kind, only: RKG => RK2
2451 real(RKG) , intent(in) , contiguous :: array(:)
2452 integer(IK) , intent(in) :: lpsize
2453 real(RKG) , intent(in) :: lpfill
2454 real(RKG) :: arrayPadded(size(array,kind=IK)+lpsize)
2455 end function
2456#endif
2457
2458#if RK1_ENABLED
2459 PURE module function getPaddedAsisSL_D1_RK1(array, lpsize, lpfill) result(arrayPadded)
2460#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2461 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSL_D1_RK1
2462#endif
2463 use pm_kind, only: RKG => RK1
2464 real(RKG) , intent(in) , contiguous :: array(:)
2465 integer(IK) , intent(in) :: lpsize
2466 real(RKG) , intent(in) :: lpfill
2467 real(RKG) :: arrayPadded(size(array,kind=IK)+lpsize)
2468 end function
2469#endif
2470
2471 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2472
2473 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2474 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2475 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2476
2477 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2478
2479#if SK5_ENABLED
2480 PURE module function getPaddedMargSL_D0_SK5(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2481#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2482 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D0_SK5
2483#endif
2484 use pm_kind, only: SKG => SK5
2485 character(*,SKG) , intent(in) :: array
2486 character(1,SKG) , intent(in) :: lpfill
2487 character(1,SKG) , intent(in) , optional :: lmfill
2488 integer(IK) , intent(in) :: lpsize, lmsize
2489 character(len(array,IK)+lpsize+lmsize,SKG) :: arrayPadded
2490 end function
2491#endif
2492
2493#if SK4_ENABLED
2494 PURE module function getPaddedMargSL_D0_SK4(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2495#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2496 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D0_SK4
2497#endif
2498 use pm_kind, only: SKG => SK4
2499 character(*,SKG) , intent(in) :: array
2500 character(1,SKG) , intent(in) :: lpfill
2501 character(1,SKG) , intent(in) , optional :: lmfill
2502 integer(IK) , intent(in) :: lpsize, lmsize
2503 character(len(array,IK)+lpsize+lmsize,SKG) :: arrayPadded
2504 end function
2505#endif
2506
2507#if SK3_ENABLED
2508 PURE module function getPaddedMargSL_D0_SK3(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2509#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2510 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D0_SK3
2511#endif
2512 use pm_kind, only: SKG => SK3
2513 character(*,SKG) , intent(in) :: array
2514 character(1,SKG) , intent(in) :: lpfill
2515 character(1,SKG) , intent(in) , optional :: lmfill
2516 integer(IK) , intent(in) :: lpsize, lmsize
2517 character(len(array,IK)+lpsize+lmsize,SKG) :: arrayPadded
2518 end function
2519#endif
2520
2521#if SK2_ENABLED
2522 PURE module function getPaddedMargSL_D0_SK2(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2523#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2524 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D0_SK2
2525#endif
2526 use pm_kind, only: SKG => SK2
2527 character(*,SKG) , intent(in) :: array
2528 character(1,SKG) , intent(in) :: lpfill
2529 character(1,SKG) , intent(in) , optional :: lmfill
2530 integer(IK) , intent(in) :: lpsize, lmsize
2531 character(len(array,IK)+lpsize+lmsize,SKG) :: arrayPadded
2532 end function
2533#endif
2534
2535#if SK1_ENABLED
2536 PURE module function getPaddedMargSL_D0_SK1(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2537#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2538 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D0_SK1
2539#endif
2540 use pm_kind, only: SKG => SK1
2541 character(*,SKG) , intent(in) :: array
2542 character(1,SKG) , intent(in) :: lpfill
2543 character(1,SKG) , intent(in) , optional :: lmfill
2544 integer(IK) , intent(in) :: lpsize, lmsize
2545 character(len(array,IK)+lpsize+lmsize,SKG) :: arrayPadded
2546 end function
2547#endif
2548
2549 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2550
2551#if SK5_ENABLED
2552 PURE module function getPaddedMargSL_D1_SK5(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2553#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2554 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D1_SK5
2555#endif
2556 use pm_kind, only: SKG => SK5
2557 character(*,SKG) , intent(in) , contiguous :: array(:)
2558 character(len(array,IK),SKG), intent(in) :: lpfill
2559 character(len(array,IK),SKG), intent(in) , optional :: lmfill
2560 integer(IK) , intent(in) :: lpsize, lmsize
2561 character(len(array,IK),SKG) :: arrayPadded(size(array,kind=IK)+lpsize+lmsize)
2562 end function
2563#endif
2564
2565#if SK4_ENABLED
2566 PURE module function getPaddedMargSL_D1_SK4(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2567#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2568 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D1_SK4
2569#endif
2570 use pm_kind, only: SKG => SK4
2571 character(*,SKG) , intent(in) , contiguous :: array(:)
2572 character(len(array,IK),SKG), intent(in) :: lpfill
2573 character(len(array,IK),SKG), intent(in) , optional :: lmfill
2574 integer(IK) , intent(in) :: lpsize, lmsize
2575 character(len(array,IK),SKG) :: arrayPadded(size(array,kind=IK)+lpsize+lmsize)
2576 end function
2577#endif
2578
2579#if SK3_ENABLED
2580 PURE module function getPaddedMargSL_D1_SK3(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2581#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2582 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D1_SK3
2583#endif
2584 use pm_kind, only: SKG => SK3
2585 character(*,SKG) , intent(in) , contiguous :: array(:)
2586 character(len(array,IK),SKG), intent(in) :: lpfill
2587 character(len(array,IK),SKG), intent(in) , optional :: lmfill
2588 integer(IK) , intent(in) :: lpsize, lmsize
2589 character(len(array,IK),SKG) :: arrayPadded(size(array,kind=IK)+lpsize+lmsize)
2590 end function
2591#endif
2592
2593#if SK2_ENABLED
2594 PURE module function getPaddedMargSL_D1_SK2(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2595#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2596 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D1_SK2
2597#endif
2598 use pm_kind, only: SKG => SK2
2599 character(*,SKG) , intent(in) , contiguous :: array(:)
2600 character(len(array,IK),SKG), intent(in) :: lpfill
2601 character(len(array,IK),SKG), intent(in) , optional :: lmfill
2602 integer(IK) , intent(in) :: lpsize, lmsize
2603 character(len(array,IK),SKG) :: arrayPadded(size(array,kind=IK)+lpsize+lmsize)
2604 end function
2605#endif
2606
2607#if SK1_ENABLED
2608 PURE module function getPaddedMargSL_D1_SK1(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2609#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2610 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D1_SK1
2611#endif
2612 use pm_kind, only: SKG => SK1
2613 character(*,SKG) , intent(in) , contiguous :: array(:)
2614 character(len(array,IK),SKG), intent(in) :: lpfill
2615 character(len(array,IK),SKG), intent(in) , optional :: lmfill
2616 integer(IK) , intent(in) :: lpsize, lmsize
2617 character(len(array,IK),SKG) :: arrayPadded(size(array,kind=IK)+lpsize+lmsize)
2618 end function
2619#endif
2620
2621 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2622
2623#if IK5_ENABLED
2624 PURE module function getPaddedMargSL_D1_IK5(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2625#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2626 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D1_IK5
2627#endif
2628 use pm_kind, only: IKG => IK5
2629 integer(IKG) , intent(in) , contiguous :: array(:)
2630 integer(IKG) , intent(in) :: lpfill
2631 integer(IKG) , intent(in) , optional :: lmfill
2632 integer(IK) , intent(in) :: lpsize, lmsize
2633 integer(IKG) :: arrayPadded(size(array,kind=IK)+lpsize+lmsize)
2634 end function
2635#endif
2636
2637#if IK4_ENABLED
2638 PURE module function getPaddedMargSL_D1_IK4(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2639#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2640 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D1_IK4
2641#endif
2642 use pm_kind, only: IKG => IK4
2643 integer(IKG) , intent(in) , contiguous :: array(:)
2644 integer(IKG) , intent(in) :: lpfill
2645 integer(IKG) , intent(in) , optional :: lmfill
2646 integer(IK) , intent(in) :: lpsize, lmsize
2647 integer(IKG) :: arrayPadded(size(array,kind=IK)+lpsize+lmsize)
2648 end function
2649#endif
2650
2651#if IK3_ENABLED
2652 PURE module function getPaddedMargSL_D1_IK3(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2653#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2654 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D1_IK3
2655#endif
2656 use pm_kind, only: IKG => IK3
2657 integer(IKG) , intent(in) , contiguous :: array(:)
2658 integer(IKG) , intent(in) :: lpfill
2659 integer(IKG) , intent(in) , optional :: lmfill
2660 integer(IK) , intent(in) :: lpsize, lmsize
2661 integer(IKG) :: arrayPadded(size(array,kind=IK)+lpsize+lmsize)
2662 end function
2663#endif
2664
2665#if IK2_ENABLED
2666 PURE module function getPaddedMargSL_D1_IK2(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2667#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2668 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D1_IK2
2669#endif
2670 use pm_kind, only: IKG => IK2
2671 integer(IKG) , intent(in) , contiguous :: array(:)
2672 integer(IKG) , intent(in) :: lpfill
2673 integer(IKG) , intent(in) , optional :: lmfill
2674 integer(IK) , intent(in) :: lpsize, lmsize
2675 integer(IKG) :: arrayPadded(size(array,kind=IK)+lpsize+lmsize)
2676 end function
2677#endif
2678
2679#if IK1_ENABLED
2680 PURE module function getPaddedMargSL_D1_IK1(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2681#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2682 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D1_IK1
2683#endif
2684 use pm_kind, only: IKG => IK1
2685 integer(IKG) , intent(in) , contiguous :: array(:)
2686 integer(IKG) , intent(in) :: lpfill
2687 integer(IKG) , intent(in) , optional :: lmfill
2688 integer(IK) , intent(in) :: lpsize, lmsize
2689 integer(IKG) :: arrayPadded(size(array,kind=IK)+lpsize+lmsize)
2690 end function
2691#endif
2692
2693 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2694
2695#if LK5_ENABLED
2696 PURE module function getPaddedMargSL_D1_LK5(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2697#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2698 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D1_LK5
2699#endif
2700 use pm_kind, only: LKG => LK5
2701 logical(LKG) , intent(in) , contiguous :: array(:)
2702 logical(LKG) , intent(in) :: lpfill
2703 logical(LKG) , intent(in) , optional :: lmfill
2704 integer(IK) , intent(in) :: lpsize, lmsize
2705 logical(LKG) :: arrayPadded(size(array,kind=IK)+lpsize+lmsize)
2706 end function
2707#endif
2708
2709#if LK4_ENABLED
2710 PURE module function getPaddedMargSL_D1_LK4(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2711#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2712 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D1_LK4
2713#endif
2714 use pm_kind, only: LKG => LK4
2715 logical(LKG) , intent(in) , contiguous :: array(:)
2716 logical(LKG) , intent(in) :: lpfill
2717 logical(LKG) , intent(in) , optional :: lmfill
2718 integer(IK) , intent(in) :: lpsize, lmsize
2719 logical(LKG) :: arrayPadded(size(array,kind=IK)+lpsize+lmsize)
2720 end function
2721#endif
2722
2723#if LK3_ENABLED
2724 PURE module function getPaddedMargSL_D1_LK3(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2725#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2726 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D1_LK3
2727#endif
2728 use pm_kind, only: LKG => LK3
2729 logical(LKG) , intent(in) , contiguous :: array(:)
2730 logical(LKG) , intent(in) :: lpfill
2731 logical(LKG) , intent(in) , optional :: lmfill
2732 integer(IK) , intent(in) :: lpsize, lmsize
2733 logical(LKG) :: arrayPadded(size(array,kind=IK)+lpsize+lmsize)
2734 end function
2735#endif
2736
2737#if LK2_ENABLED
2738 PURE module function getPaddedMargSL_D1_LK2(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2739#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2740 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D1_LK2
2741#endif
2742 use pm_kind, only: LKG => LK2
2743 logical(LKG) , intent(in) , contiguous :: array(:)
2744 logical(LKG) , intent(in) :: lpfill
2745 logical(LKG) , intent(in) , optional :: lmfill
2746 integer(IK) , intent(in) :: lpsize, lmsize
2747 logical(LKG) :: arrayPadded(size(array,kind=IK)+lpsize+lmsize)
2748 end function
2749#endif
2750
2751#if LK1_ENABLED
2752 PURE module function getPaddedMargSL_D1_LK1(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2753#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2754 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D1_LK1
2755#endif
2756 use pm_kind, only: LKG => LK1
2757 logical(LKG) , intent(in) , contiguous :: array(:)
2758 logical(LKG) , intent(in) :: lpfill
2759 logical(LKG) , intent(in) , optional :: lmfill
2760 integer(IK) , intent(in) :: lpsize, lmsize
2761 logical(LKG) :: arrayPadded(size(array,kind=IK)+lpsize+lmsize)
2762 end function
2763#endif
2764
2765 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2766
2767#if CK5_ENABLED
2768 PURE module function getPaddedMargSL_D1_CK5(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2769#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2770 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D1_CK5
2771#endif
2772 use pm_kind, only: CKG => CK5
2773 complex(CKG) , intent(in) , contiguous :: array(:)
2774 complex(CKG) , intent(in) :: lpfill
2775 complex(CKG) , intent(in) , optional :: lmfill
2776 integer(IK) , intent(in) :: lpsize, lmsize
2777 complex(CKG) :: arrayPadded(size(array,kind=IK)+lpsize+lmsize)
2778 end function
2779#endif
2780
2781#if CK4_ENABLED
2782 PURE module function getPaddedMargSL_D1_CK4(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2783#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2784 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D1_CK4
2785#endif
2786 use pm_kind, only: CKG => CK4
2787 complex(CKG) , intent(in) , contiguous :: array(:)
2788 complex(CKG) , intent(in) :: lpfill
2789 complex(CKG) , intent(in) , optional :: lmfill
2790 integer(IK) , intent(in) :: lpsize, lmsize
2791 complex(CKG) :: arrayPadded(size(array,kind=IK)+lpsize+lmsize)
2792 end function
2793#endif
2794
2795#if CK3_ENABLED
2796 PURE module function getPaddedMargSL_D1_CK3(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2797#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2798 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D1_CK3
2799#endif
2800 use pm_kind, only: CKG => CK3
2801 complex(CKG) , intent(in) , contiguous :: array(:)
2802 complex(CKG) , intent(in) :: lpfill
2803 complex(CKG) , intent(in) , optional :: lmfill
2804 integer(IK) , intent(in) :: lpsize, lmsize
2805 complex(CKG) :: arrayPadded(size(array,kind=IK)+lpsize+lmsize)
2806 end function
2807#endif
2808
2809#if CK2_ENABLED
2810 PURE module function getPaddedMargSL_D1_CK2(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2811#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2812 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D1_CK2
2813#endif
2814 use pm_kind, only: CKG => CK2
2815 complex(CKG) , intent(in) , contiguous :: array(:)
2816 complex(CKG) , intent(in) :: lpfill
2817 complex(CKG) , intent(in) , optional :: lmfill
2818 integer(IK) , intent(in) :: lpsize, lmsize
2819 complex(CKG) :: arrayPadded(size(array,kind=IK)+lpsize+lmsize)
2820 end function
2821#endif
2822
2823#if CK1_ENABLED
2824 PURE module function getPaddedMargSL_D1_CK1(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2825#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2826 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D1_CK1
2827#endif
2828 use pm_kind, only: CKG => CK1
2829 complex(CKG) , intent(in) , contiguous :: array(:)
2830 complex(CKG) , intent(in) :: lpfill
2831 complex(CKG) , intent(in) , optional :: lmfill
2832 integer(IK) , intent(in) :: lpsize, lmsize
2833 complex(CKG) :: arrayPadded(size(array,kind=IK)+lpsize+lmsize)
2834 end function
2835#endif
2836
2837 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2838
2839#if RK5_ENABLED
2840 PURE module function getPaddedMargSL_D1_RK5(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2841#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2842 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D1_RK5
2843#endif
2844 use pm_kind, only: RKG => RK5
2845 real(RKG) , intent(in) , contiguous :: array(:)
2846 real(RKG) , intent(in) :: lpfill
2847 real(RKG) , intent(in) , optional :: lmfill
2848 integer(IK) , intent(in) :: lpsize, lmsize
2849 real(RKG) :: arrayPadded(size(array,kind=IK)+lpsize+lmsize)
2850 end function
2851#endif
2852
2853#if RK4_ENABLED
2854 PURE module function getPaddedMargSL_D1_RK4(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2855#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2856 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D1_RK4
2857#endif
2858 use pm_kind, only: RKG => RK4
2859 real(RKG) , intent(in) , contiguous :: array(:)
2860 real(RKG) , intent(in) :: lpfill
2861 real(RKG) , intent(in) , optional :: lmfill
2862 integer(IK) , intent(in) :: lpsize, lmsize
2863 real(RKG) :: arrayPadded(size(array,kind=IK)+lpsize+lmsize)
2864 end function
2865#endif
2866
2867#if RK3_ENABLED
2868 PURE module function getPaddedMargSL_D1_RK3(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2869#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2870 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D1_RK3
2871#endif
2872 use pm_kind, only: RKG => RK3
2873 real(RKG) , intent(in) , contiguous :: array(:)
2874 real(RKG) , intent(in) :: lpfill
2875 real(RKG) , intent(in) , optional :: lmfill
2876 integer(IK) , intent(in) :: lpsize, lmsize
2877 real(RKG) :: arrayPadded(size(array,kind=IK)+lpsize+lmsize)
2878 end function
2879#endif
2880
2881#if RK2_ENABLED
2882 PURE module function getPaddedMargSL_D1_RK2(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2883#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2884 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D1_RK2
2885#endif
2886 use pm_kind, only: RKG => RK2
2887 real(RKG) , intent(in) , contiguous :: array(:)
2888 real(RKG) , intent(in) :: lpfill
2889 real(RKG) , intent(in) , optional :: lmfill
2890 integer(IK) , intent(in) :: lpsize, lmsize
2891 real(RKG) :: arrayPadded(size(array,kind=IK)+lpsize+lmsize)
2892 end function
2893#endif
2894
2895#if RK1_ENABLED
2896 PURE module function getPaddedMargSL_D1_RK1(array, lpsize, lpfill, lmsize, lmfill) result(arrayPadded)
2897#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2898 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSL_D1_RK1
2899#endif
2900 use pm_kind, only: RKG => RK1
2901 real(RKG) , intent(in) , contiguous :: array(:)
2902 real(RKG) , intent(in) :: lpfill
2903 real(RKG) , intent(in) , optional :: lmfill
2904 integer(IK) , intent(in) :: lpsize, lmsize
2905 real(RKG) :: arrayPadded(size(array,kind=IK)+lpsize+lmsize)
2906 end function
2907#endif
2908
2909 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2910
2911 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2912 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2913 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2914
2915 end interface
2916
2917!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2918
3006 interface setPaddedl
3007
3008 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3009 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3010 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3011
3012 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3013
3014#if SK5_ENABLED
3015 PURE module subroutine setPaddedAsisSL_D0_SK5(array, lpsize, lpfill, failed)
3016#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3017 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D0_SK5
3018#endif
3019 use pm_kind, only: SKG => SK5
3020 character(:,SKG) , intent(inout) , allocatable :: array
3021 integer(IK) , intent(in) :: lpsize
3022 character(1,SKG) , intent(in) :: lpfill
3023 logical(LK) , intent(out) , optional :: failed
3024 end subroutine
3025#endif
3026
3027#if SK4_ENABLED
3028 PURE module subroutine setPaddedAsisSL_D0_SK4(array, lpsize, lpfill, failed)
3029#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3030 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D0_SK4
3031#endif
3032 use pm_kind, only: SKG => SK4
3033 character(:,SKG) , intent(inout) , allocatable :: array
3034 integer(IK) , intent(in) :: lpsize
3035 character(1,SKG) , intent(in) :: lpfill
3036 logical(LK) , intent(out) , optional :: failed
3037 end subroutine
3038#endif
3039
3040#if SK3_ENABLED
3041 PURE module subroutine setPaddedAsisSL_D0_SK3(array, lpsize, lpfill, failed)
3042#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3043 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D0_SK3
3044#endif
3045 use pm_kind, only: SKG => SK3
3046 character(:,SKG) , intent(inout) , allocatable :: array
3047 integer(IK) , intent(in) :: lpsize
3048 character(1,SKG) , intent(in) :: lpfill
3049 logical(LK) , intent(out) , optional :: failed
3050 end subroutine
3051#endif
3052
3053#if SK2_ENABLED
3054 PURE module subroutine setPaddedAsisSL_D0_SK2(array, lpsize, lpfill, failed)
3055#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3056 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D0_SK2
3057#endif
3058 use pm_kind, only: SKG => SK2
3059 character(:,SKG) , intent(inout) , allocatable :: array
3060 integer(IK) , intent(in) :: lpsize
3061 character(1,SKG) , intent(in) :: lpfill
3062 logical(LK) , intent(out) , optional :: failed
3063 end subroutine
3064#endif
3065
3066#if SK1_ENABLED
3067 PURE module subroutine setPaddedAsisSL_D0_SK1(array, lpsize, lpfill, failed)
3068#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3069 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D0_SK1
3070#endif
3071 use pm_kind, only: SKG => SK1
3072 character(:,SKG) , intent(inout) , allocatable :: array
3073 integer(IK) , intent(in) :: lpsize
3074 character(1,SKG) , intent(in) :: lpfill
3075 logical(LK) , intent(out) , optional :: failed
3076 end subroutine
3077#endif
3078
3079 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3080
3081#if SK5_ENABLED
3082 PURE module subroutine setPaddedAsisSL_D1_SK5(array, lpsize, lpfill, failed)
3083#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3084 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D1_SK5
3085#endif
3086 use pm_kind, only: SKG => SK5
3087 character(*,SKG) , intent(inout) , allocatable :: array(:)
3088 integer(IK) , intent(in) :: lpsize
3089 character(len(array,IK),SKG), intent(in) :: lpfill
3090 logical(LK) , intent(out) , optional :: failed
3091 end subroutine
3092#endif
3093
3094#if SK4_ENABLED
3095 PURE module subroutine setPaddedAsisSL_D1_SK4(array, lpsize, lpfill, failed)
3096#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3097 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D1_SK4
3098#endif
3099 use pm_kind, only: SKG => SK4
3100 character(*,SKG) , intent(inout) , allocatable :: array(:)
3101 integer(IK) , intent(in) :: lpsize
3102 character(len(array,IK),SKG), intent(in) :: lpfill
3103 logical(LK) , intent(out) , optional :: failed
3104 end subroutine
3105#endif
3106
3107#if SK3_ENABLED
3108 PURE module subroutine setPaddedAsisSL_D1_SK3(array, lpsize, lpfill, failed)
3109#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3110 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D1_SK3
3111#endif
3112 use pm_kind, only: SKG => SK3
3113 character(*,SKG) , intent(inout) , allocatable :: array(:)
3114 integer(IK) , intent(in) :: lpsize
3115 character(len(array,IK),SKG), intent(in) :: lpfill
3116 logical(LK) , intent(out) , optional :: failed
3117 end subroutine
3118#endif
3119
3120#if SK2_ENABLED
3121 PURE module subroutine setPaddedAsisSL_D1_SK2(array, lpsize, lpfill, failed)
3122#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3123 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D1_SK2
3124#endif
3125 use pm_kind, only: SKG => SK2
3126 character(*,SKG) , intent(inout) , allocatable :: array(:)
3127 integer(IK) , intent(in) :: lpsize
3128 character(len(array,IK),SKG), intent(in) :: lpfill
3129 logical(LK) , intent(out) , optional :: failed
3130 end subroutine
3131#endif
3132
3133#if SK1_ENABLED
3134 PURE module subroutine setPaddedAsisSL_D1_SK1(array, lpsize, lpfill, failed)
3135#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3136 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D1_SK1
3137#endif
3138 use pm_kind, only: SKG => SK1
3139 character(*,SKG) , intent(inout) , allocatable :: array(:)
3140 integer(IK) , intent(in) :: lpsize
3141 character(len(array,IK),SKG), intent(in) :: lpfill
3142 logical(LK) , intent(out) , optional :: failed
3143 end subroutine
3144#endif
3145
3146 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3147
3148#if IK5_ENABLED
3149 PURE module subroutine setPaddedAsisSL_D1_IK5(array, lpsize, lpfill, failed)
3150#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3151 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D1_IK5
3152#endif
3153 use pm_kind, only: IKG => IK5
3154 integer(IKG) , intent(inout) , allocatable :: array(:)
3155 integer(IK) , intent(in) :: lpsize
3156 integer(IKG) , intent(in) :: lpfill
3157 logical(LK) , intent(out) , optional :: failed
3158 end subroutine
3159#endif
3160
3161#if IK4_ENABLED
3162 PURE module subroutine setPaddedAsisSL_D1_IK4(array, lpsize, lpfill, failed)
3163#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3164 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D1_IK4
3165#endif
3166 use pm_kind, only: IKG => IK4
3167 integer(IKG) , intent(inout) , allocatable :: array(:)
3168 integer(IK) , intent(in) :: lpsize
3169 integer(IKG) , intent(in) :: lpfill
3170 logical(LK) , intent(out) , optional :: failed
3171 end subroutine
3172#endif
3173
3174#if IK3_ENABLED
3175 PURE module subroutine setPaddedAsisSL_D1_IK3(array, lpsize, lpfill, failed)
3176#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3177 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D1_IK3
3178#endif
3179 use pm_kind, only: IKG => IK3
3180 integer(IKG) , intent(inout) , allocatable :: array(:)
3181 integer(IK) , intent(in) :: lpsize
3182 integer(IKG) , intent(in) :: lpfill
3183 logical(LK) , intent(out) , optional :: failed
3184 end subroutine
3185#endif
3186
3187#if IK2_ENABLED
3188 PURE module subroutine setPaddedAsisSL_D1_IK2(array, lpsize, lpfill, failed)
3189#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3190 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D1_IK2
3191#endif
3192 use pm_kind, only: IKG => IK2
3193 integer(IKG) , intent(inout) , allocatable :: array(:)
3194 integer(IK) , intent(in) :: lpsize
3195 integer(IKG) , intent(in) :: lpfill
3196 logical(LK) , intent(out) , optional :: failed
3197 end subroutine
3198#endif
3199
3200#if IK1_ENABLED
3201 PURE module subroutine setPaddedAsisSL_D1_IK1(array, lpsize, lpfill, failed)
3202#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3203 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D1_IK1
3204#endif
3205 use pm_kind, only: IKG => IK1
3206 integer(IKG) , intent(inout) , allocatable :: array(:)
3207 integer(IK) , intent(in) :: lpsize
3208 integer(IKG) , intent(in) :: lpfill
3209 logical(LK) , intent(out) , optional :: failed
3210 end subroutine
3211#endif
3212
3213 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3214
3215#if LK5_ENABLED
3216 PURE module subroutine setPaddedAsisSL_D1_LK5(array, lpsize, lpfill, failed)
3217#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3218 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D1_LK5
3219#endif
3220 use pm_kind, only: LKG => LK5
3221 logical(LKG) , intent(inout) , allocatable :: array(:)
3222 integer(IK) , intent(in) :: lpsize
3223 logical(LKG) , intent(in) :: lpfill
3224 logical(LK) , intent(out) , optional :: failed
3225 end subroutine
3226#endif
3227
3228#if LK4_ENABLED
3229 PURE module subroutine setPaddedAsisSL_D1_LK4(array, lpsize, lpfill, failed)
3230#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3231 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D1_LK4
3232#endif
3233 use pm_kind, only: LKG => LK4
3234 logical(LKG) , intent(inout) , allocatable :: array(:)
3235 integer(IK) , intent(in) :: lpsize
3236 logical(LKG) , intent(in) :: lpfill
3237 logical(LK) , intent(out) , optional :: failed
3238 end subroutine
3239#endif
3240
3241#if LK3_ENABLED
3242 PURE module subroutine setPaddedAsisSL_D1_LK3(array, lpsize, lpfill, failed)
3243#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3244 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D1_LK3
3245#endif
3246 use pm_kind, only: LKG => LK3
3247 logical(LKG) , intent(inout) , allocatable :: array(:)
3248 integer(IK) , intent(in) :: lpsize
3249 logical(LKG) , intent(in) :: lpfill
3250 logical(LK) , intent(out) , optional :: failed
3251 end subroutine
3252#endif
3253
3254#if LK2_ENABLED
3255 PURE module subroutine setPaddedAsisSL_D1_LK2(array, lpsize, lpfill, failed)
3256#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3257 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D1_LK2
3258#endif
3259 use pm_kind, only: LKG => LK2
3260 logical(LKG) , intent(inout) , allocatable :: array(:)
3261 integer(IK) , intent(in) :: lpsize
3262 logical(LKG) , intent(in) :: lpfill
3263 logical(LK) , intent(out) , optional :: failed
3264 end subroutine
3265#endif
3266
3267#if LK1_ENABLED
3268 PURE module subroutine setPaddedAsisSL_D1_LK1(array, lpsize, lpfill, failed)
3269#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3270 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D1_LK1
3271#endif
3272 use pm_kind, only: LKG => LK1
3273 logical(LKG) , intent(inout) , allocatable :: array(:)
3274 integer(IK) , intent(in) :: lpsize
3275 logical(LKG) , intent(in) :: lpfill
3276 logical(LK) , intent(out) , optional :: failed
3277 end subroutine
3278#endif
3279
3280 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3281
3282#if CK5_ENABLED
3283 PURE module subroutine setPaddedAsisSL_D1_CK5(array, lpsize, lpfill, failed)
3284#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3285 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D1_CK5
3286#endif
3287 use pm_kind, only: CKG => CK5
3288 complex(CKG) , intent(inout) , allocatable :: array(:)
3289 integer(IK) , intent(in) :: lpsize
3290 complex(CKG) , intent(in) :: lpfill
3291 logical(LK) , intent(out) , optional :: failed
3292 end subroutine
3293#endif
3294
3295#if CK4_ENABLED
3296 PURE module subroutine setPaddedAsisSL_D1_CK4(array, lpsize, lpfill, failed)
3297#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3298 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D1_CK4
3299#endif
3300 use pm_kind, only: CKG => CK4
3301 complex(CKG) , intent(inout) , allocatable :: array(:)
3302 integer(IK) , intent(in) :: lpsize
3303 complex(CKG) , intent(in) :: lpfill
3304 logical(LK) , intent(out) , optional :: failed
3305 end subroutine
3306#endif
3307
3308#if CK3_ENABLED
3309 PURE module subroutine setPaddedAsisSL_D1_CK3(array, lpsize, lpfill, failed)
3310#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3311 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D1_CK3
3312#endif
3313 use pm_kind, only: CKG => CK3
3314 complex(CKG) , intent(inout) , allocatable :: array(:)
3315 integer(IK) , intent(in) :: lpsize
3316 complex(CKG) , intent(in) :: lpfill
3317 logical(LK) , intent(out) , optional :: failed
3318 end subroutine
3319#endif
3320
3321#if CK2_ENABLED
3322 PURE module subroutine setPaddedAsisSL_D1_CK2(array, lpsize, lpfill, failed)
3323#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3324 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D1_CK2
3325#endif
3326 use pm_kind, only: CKG => CK2
3327 complex(CKG) , intent(inout) , allocatable :: array(:)
3328 integer(IK) , intent(in) :: lpsize
3329 complex(CKG) , intent(in) :: lpfill
3330 logical(LK) , intent(out) , optional :: failed
3331 end subroutine
3332#endif
3333
3334#if CK1_ENABLED
3335 PURE module subroutine setPaddedAsisSL_D1_CK1(array, lpsize, lpfill, failed)
3336#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3337 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D1_CK1
3338#endif
3339 use pm_kind, only: CKG => CK1
3340 complex(CKG) , intent(inout) , allocatable :: array(:)
3341 integer(IK) , intent(in) :: lpsize
3342 complex(CKG) , intent(in) :: lpfill
3343 logical(LK) , intent(out) , optional :: failed
3344 end subroutine
3345#endif
3346
3347 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3348
3349#if RK5_ENABLED
3350 PURE module subroutine setPaddedAsisSL_D1_RK5(array, lpsize, lpfill, failed)
3351#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3352 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D1_RK5
3353#endif
3354 use pm_kind, only: RKG => RK5
3355 real(RKG) , intent(inout) , allocatable :: array(:)
3356 integer(IK) , intent(in) :: lpsize
3357 real(RKG) , intent(in) :: lpfill
3358 logical(LK) , intent(out) , optional :: failed
3359 end subroutine
3360#endif
3361
3362#if RK4_ENABLED
3363 PURE module subroutine setPaddedAsisSL_D1_RK4(array, lpsize, lpfill, failed)
3364#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3365 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D1_RK4
3366#endif
3367 use pm_kind, only: RKG => RK4
3368 real(RKG) , intent(inout) , allocatable :: array(:)
3369 integer(IK) , intent(in) :: lpsize
3370 real(RKG) , intent(in) :: lpfill
3371 logical(LK) , intent(out) , optional :: failed
3372 end subroutine
3373#endif
3374
3375#if RK3_ENABLED
3376 PURE module subroutine setPaddedAsisSL_D1_RK3(array, lpsize, lpfill, failed)
3377#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3378 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D1_RK3
3379#endif
3380 use pm_kind, only: RKG => RK3
3381 real(RKG) , intent(inout) , allocatable :: array(:)
3382 integer(IK) , intent(in) :: lpsize
3383 real(RKG) , intent(in) :: lpfill
3384 logical(LK) , intent(out) , optional :: failed
3385 end subroutine
3386#endif
3387
3388#if RK2_ENABLED
3389 PURE module subroutine setPaddedAsisSL_D1_RK2(array, lpsize, lpfill, failed)
3390#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3391 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D1_RK2
3392#endif
3393 use pm_kind, only: RKG => RK2
3394 real(RKG) , intent(inout) , allocatable :: array(:)
3395 integer(IK) , intent(in) :: lpsize
3396 real(RKG) , intent(in) :: lpfill
3397 logical(LK) , intent(out) , optional :: failed
3398 end subroutine
3399#endif
3400
3401#if RK1_ENABLED
3402 PURE module subroutine setPaddedAsisSL_D1_RK1(array, lpsize, lpfill, failed)
3403#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3404 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSL_D1_RK1
3405#endif
3406 use pm_kind, only: RKG => RK1
3407 real(RKG) , intent(inout) , allocatable :: array(:)
3408 integer(IK) , intent(in) :: lpsize
3409 real(RKG) , intent(in) :: lpfill
3410 logical(LK) , intent(out) , optional :: failed
3411 end subroutine
3412#endif
3413
3414 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3415
3416 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3417 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3418 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3419
3420 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3421
3422#if SK5_ENABLED
3423 PURE module subroutine setPaddedMargSL_D0_SK5(array, lpsize, lpfill, lmsize, lmfill, failed)
3424#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3425 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D0_SK5
3426#endif
3427 use pm_kind, only: SKG => SK5
3428 character(:,SKG) , intent(inout) , allocatable :: array
3429 character(1,SKG) , intent(in) :: lpfill
3430 character(1,SKG) , intent(in) , optional :: lmfill
3431 integer(IK) , intent(in) :: lpsize, lmsize
3432 logical(LK) , intent(out) , optional :: failed
3433 end subroutine
3434#endif
3435
3436#if SK4_ENABLED
3437 PURE module subroutine setPaddedMargSL_D0_SK4(array, lpsize, lpfill, lmsize, lmfill, failed)
3438#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3439 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D0_SK4
3440#endif
3441 use pm_kind, only: SKG => SK4
3442 character(:,SKG) , intent(inout) , allocatable :: array
3443 character(1,SKG) , intent(in) :: lpfill
3444 character(1,SKG) , intent(in) , optional :: lmfill
3445 integer(IK) , intent(in) :: lpsize, lmsize
3446 logical(LK) , intent(out) , optional :: failed
3447 end subroutine
3448#endif
3449
3450#if SK3_ENABLED
3451 PURE module subroutine setPaddedMargSL_D0_SK3(array, lpsize, lpfill, lmsize, lmfill, failed)
3452#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3453 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D0_SK3
3454#endif
3455 use pm_kind, only: SKG => SK3
3456 character(:,SKG) , intent(inout) , allocatable :: array
3457 character(1,SKG) , intent(in) :: lpfill
3458 character(1,SKG) , intent(in) , optional :: lmfill
3459 integer(IK) , intent(in) :: lpsize, lmsize
3460 logical(LK) , intent(out) , optional :: failed
3461 end subroutine
3462#endif
3463
3464#if SK2_ENABLED
3465 PURE module subroutine setPaddedMargSL_D0_SK2(array, lpsize, lpfill, lmsize, lmfill, failed)
3466#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3467 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D0_SK2
3468#endif
3469 use pm_kind, only: SKG => SK2
3470 character(:,SKG) , intent(inout) , allocatable :: array
3471 character(1,SKG) , intent(in) :: lpfill
3472 character(1,SKG) , intent(in) , optional :: lmfill
3473 integer(IK) , intent(in) :: lpsize, lmsize
3474 logical(LK) , intent(out) , optional :: failed
3475 end subroutine
3476#endif
3477
3478#if SK1_ENABLED
3479 PURE module subroutine setPaddedMargSL_D0_SK1(array, lpsize, lpfill, lmsize, lmfill, failed)
3480#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3481 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D0_SK1
3482#endif
3483 use pm_kind, only: SKG => SK1
3484 character(:,SKG) , intent(inout) , allocatable :: array
3485 character(1,SKG) , intent(in) :: lpfill
3486 character(1,SKG) , intent(in) , optional :: lmfill
3487 integer(IK) , intent(in) :: lpsize, lmsize
3488 logical(LK) , intent(out) , optional :: failed
3489 end subroutine
3490#endif
3491
3492 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3493
3494#if SK5_ENABLED
3495 PURE module subroutine setPaddedMargSL_D1_SK5(array, lpsize, lpfill, lmsize, lmfill, failed)
3496#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3497 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D1_SK5
3498#endif
3499 use pm_kind, only: SKG => SK5
3500 character(*,SKG) , intent(inout) , allocatable :: array(:)
3501 character(len(array,IK),SKG), intent(in) :: lpfill
3502 character(len(array,IK),SKG), intent(in) , optional :: lmfill
3503 integer(IK) , intent(in) :: lpsize, lmsize
3504 logical(LK) , intent(out) , optional :: failed
3505 end subroutine
3506#endif
3507
3508#if SK4_ENABLED
3509 PURE module subroutine setPaddedMargSL_D1_SK4(array, lpsize, lpfill, lmsize, lmfill, failed)
3510#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3511 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D1_SK4
3512#endif
3513 use pm_kind, only: SKG => SK4
3514 character(*,SKG) , intent(inout) , allocatable :: array(:)
3515 character(len(array,IK),SKG), intent(in) :: lpfill
3516 character(len(array,IK),SKG), intent(in) , optional :: lmfill
3517 integer(IK) , intent(in) :: lpsize, lmsize
3518 logical(LK) , intent(out) , optional :: failed
3519 end subroutine
3520#endif
3521
3522#if SK3_ENABLED
3523 PURE module subroutine setPaddedMargSL_D1_SK3(array, lpsize, lpfill, lmsize, lmfill, failed)
3524#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3525 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D1_SK3
3526#endif
3527 use pm_kind, only: SKG => SK3
3528 character(*,SKG) , intent(inout) , allocatable :: array(:)
3529 character(len(array,IK),SKG), intent(in) :: lpfill
3530 character(len(array,IK),SKG), intent(in) , optional :: lmfill
3531 integer(IK) , intent(in) :: lpsize, lmsize
3532 logical(LK) , intent(out) , optional :: failed
3533 end subroutine
3534#endif
3535
3536#if SK2_ENABLED
3537 PURE module subroutine setPaddedMargSL_D1_SK2(array, lpsize, lpfill, lmsize, lmfill, failed)
3538#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3539 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D1_SK2
3540#endif
3541 use pm_kind, only: SKG => SK2
3542 character(*,SKG) , intent(inout) , allocatable :: array(:)
3543 character(len(array,IK),SKG), intent(in) :: lpfill
3544 character(len(array,IK),SKG), intent(in) , optional :: lmfill
3545 integer(IK) , intent(in) :: lpsize, lmsize
3546 logical(LK) , intent(out) , optional :: failed
3547 end subroutine
3548#endif
3549
3550#if SK1_ENABLED
3551 PURE module subroutine setPaddedMargSL_D1_SK1(array, lpsize, lpfill, lmsize, lmfill, failed)
3552#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3553 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D1_SK1
3554#endif
3555 use pm_kind, only: SKG => SK1
3556 character(*,SKG) , intent(inout) , allocatable :: array(:)
3557 character(len(array,IK),SKG), intent(in) :: lpfill
3558 character(len(array,IK),SKG), intent(in) , optional :: lmfill
3559 integer(IK) , intent(in) :: lpsize, lmsize
3560 logical(LK) , intent(out) , optional :: failed
3561 end subroutine
3562#endif
3563
3564 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3565
3566#if IK5_ENABLED
3567 PURE module subroutine setPaddedMargSL_D1_IK5(array, lpsize, lpfill, lmsize, lmfill, failed)
3568#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3569 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D1_IK5
3570#endif
3571 use pm_kind, only: IKG => IK5
3572 integer(IKG) , intent(inout) , allocatable :: array(:)
3573 integer(IKG) , intent(in) :: lpfill
3574 integer(IKG) , intent(in) , optional :: lmfill
3575 integer(IK) , intent(in) :: lpsize, lmsize
3576 logical(LK) , intent(out) , optional :: failed
3577 end subroutine
3578#endif
3579
3580#if IK4_ENABLED
3581 PURE module subroutine setPaddedMargSL_D1_IK4(array, lpsize, lpfill, lmsize, lmfill, failed)
3582#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3583 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D1_IK4
3584#endif
3585 use pm_kind, only: IKG => IK4
3586 integer(IKG) , intent(inout) , allocatable :: array(:)
3587 integer(IKG) , intent(in) :: lpfill
3588 integer(IKG) , intent(in) , optional :: lmfill
3589 integer(IK) , intent(in) :: lpsize, lmsize
3590 logical(LK) , intent(out) , optional :: failed
3591 end subroutine
3592#endif
3593
3594#if IK3_ENABLED
3595 PURE module subroutine setPaddedMargSL_D1_IK3(array, lpsize, lpfill, lmsize, lmfill, failed)
3596#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3597 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D1_IK3
3598#endif
3599 use pm_kind, only: IKG => IK3
3600 integer(IKG) , intent(inout) , allocatable :: array(:)
3601 integer(IKG) , intent(in) :: lpfill
3602 integer(IKG) , intent(in) , optional :: lmfill
3603 integer(IK) , intent(in) :: lpsize, lmsize
3604 logical(LK) , intent(out) , optional :: failed
3605 end subroutine
3606#endif
3607
3608#if IK2_ENABLED
3609 PURE module subroutine setPaddedMargSL_D1_IK2(array, lpsize, lpfill, lmsize, lmfill, failed)
3610#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3611 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D1_IK2
3612#endif
3613 use pm_kind, only: IKG => IK2
3614 integer(IKG) , intent(inout) , allocatable :: array(:)
3615 integer(IKG) , intent(in) :: lpfill
3616 integer(IKG) , intent(in) , optional :: lmfill
3617 integer(IK) , intent(in) :: lpsize, lmsize
3618 logical(LK) , intent(out) , optional :: failed
3619 end subroutine
3620#endif
3621
3622#if IK1_ENABLED
3623 PURE module subroutine setPaddedMargSL_D1_IK1(array, lpsize, lpfill, lmsize, lmfill, failed)
3624#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3625 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D1_IK1
3626#endif
3627 use pm_kind, only: IKG => IK1
3628 integer(IKG) , intent(inout) , allocatable :: array(:)
3629 integer(IKG) , intent(in) :: lpfill
3630 integer(IKG) , intent(in) , optional :: lmfill
3631 integer(IK) , intent(in) :: lpsize, lmsize
3632 logical(LK) , intent(out) , optional :: failed
3633 end subroutine
3634#endif
3635
3636 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3637
3638#if LK5_ENABLED
3639 PURE module subroutine setPaddedMargSL_D1_LK5(array, lpsize, lpfill, lmsize, lmfill, failed)
3640#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3641 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D1_LK5
3642#endif
3643 use pm_kind, only: LKG => LK5
3644 logical(LKG) , intent(inout) , allocatable :: array(:)
3645 logical(LKG) , intent(in) :: lpfill
3646 logical(LKG) , intent(in) , optional :: lmfill
3647 integer(IK) , intent(in) :: lpsize, lmsize
3648 logical(LK) , intent(out) , optional :: failed
3649 end subroutine
3650#endif
3651
3652#if LK4_ENABLED
3653 PURE module subroutine setPaddedMargSL_D1_LK4(array, lpsize, lpfill, lmsize, lmfill, failed)
3654#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3655 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D1_LK4
3656#endif
3657 use pm_kind, only: LKG => LK4
3658 logical(LKG) , intent(inout) , allocatable :: array(:)
3659 logical(LKG) , intent(in) :: lpfill
3660 logical(LKG) , intent(in) , optional :: lmfill
3661 integer(IK) , intent(in) :: lpsize, lmsize
3662 logical(LK) , intent(out) , optional :: failed
3663 end subroutine
3664#endif
3665
3666#if LK3_ENABLED
3667 PURE module subroutine setPaddedMargSL_D1_LK3(array, lpsize, lpfill, lmsize, lmfill, failed)
3668#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3669 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D1_LK3
3670#endif
3671 use pm_kind, only: LKG => LK3
3672 logical(LKG) , intent(inout) , allocatable :: array(:)
3673 logical(LKG) , intent(in) :: lpfill
3674 logical(LKG) , intent(in) , optional :: lmfill
3675 integer(IK) , intent(in) :: lpsize, lmsize
3676 logical(LK) , intent(out) , optional :: failed
3677 end subroutine
3678#endif
3679
3680#if LK2_ENABLED
3681 PURE module subroutine setPaddedMargSL_D1_LK2(array, lpsize, lpfill, lmsize, lmfill, failed)
3682#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3683 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D1_LK2
3684#endif
3685 use pm_kind, only: LKG => LK2
3686 logical(LKG) , intent(inout) , allocatable :: array(:)
3687 logical(LKG) , intent(in) :: lpfill
3688 logical(LKG) , intent(in) , optional :: lmfill
3689 integer(IK) , intent(in) :: lpsize, lmsize
3690 logical(LK) , intent(out) , optional :: failed
3691 end subroutine
3692#endif
3693
3694#if LK1_ENABLED
3695 PURE module subroutine setPaddedMargSL_D1_LK1(array, lpsize, lpfill, lmsize, lmfill, failed)
3696#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3697 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D1_LK1
3698#endif
3699 use pm_kind, only: LKG => LK1
3700 logical(LKG) , intent(inout) , allocatable :: array(:)
3701 logical(LKG) , intent(in) :: lpfill
3702 logical(LKG) , intent(in) , optional :: lmfill
3703 integer(IK) , intent(in) :: lpsize, lmsize
3704 logical(LK) , intent(out) , optional :: failed
3705 end subroutine
3706#endif
3707
3708 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3709
3710#if CK5_ENABLED
3711 PURE module subroutine setPaddedMargSL_D1_CK5(array, lpsize, lpfill, lmsize, lmfill, failed)
3712#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3713 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D1_CK5
3714#endif
3715 use pm_kind, only: CKG => CK5
3716 complex(CKG) , intent(inout) , allocatable :: array(:)
3717 complex(CKG) , intent(in) :: lpfill
3718 complex(CKG) , intent(in) , optional :: lmfill
3719 integer(IK) , intent(in) :: lpsize, lmsize
3720 logical(LK) , intent(out) , optional :: failed
3721 end subroutine
3722#endif
3723
3724#if CK4_ENABLED
3725 PURE module subroutine setPaddedMargSL_D1_CK4(array, lpsize, lpfill, lmsize, lmfill, failed)
3726#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3727 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D1_CK4
3728#endif
3729 use pm_kind, only: CKG => CK4
3730 complex(CKG) , intent(inout) , allocatable :: array(:)
3731 complex(CKG) , intent(in) :: lpfill
3732 complex(CKG) , intent(in) , optional :: lmfill
3733 integer(IK) , intent(in) :: lpsize, lmsize
3734 logical(LK) , intent(out) , optional :: failed
3735 end subroutine
3736#endif
3737
3738#if CK3_ENABLED
3739 PURE module subroutine setPaddedMargSL_D1_CK3(array, lpsize, lpfill, lmsize, lmfill, failed)
3740#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3741 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D1_CK3
3742#endif
3743 use pm_kind, only: CKG => CK3
3744 complex(CKG) , intent(inout) , allocatable :: array(:)
3745 complex(CKG) , intent(in) :: lpfill
3746 complex(CKG) , intent(in) , optional :: lmfill
3747 integer(IK) , intent(in) :: lpsize, lmsize
3748 logical(LK) , intent(out) , optional :: failed
3749 end subroutine
3750#endif
3751
3752#if CK2_ENABLED
3753 PURE module subroutine setPaddedMargSL_D1_CK2(array, lpsize, lpfill, lmsize, lmfill, failed)
3754#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3755 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D1_CK2
3756#endif
3757 use pm_kind, only: CKG => CK2
3758 complex(CKG) , intent(inout) , allocatable :: array(:)
3759 complex(CKG) , intent(in) :: lpfill
3760 complex(CKG) , intent(in) , optional :: lmfill
3761 integer(IK) , intent(in) :: lpsize, lmsize
3762 logical(LK) , intent(out) , optional :: failed
3763 end subroutine
3764#endif
3765
3766#if CK1_ENABLED
3767 PURE module subroutine setPaddedMargSL_D1_CK1(array, lpsize, lpfill, lmsize, lmfill, failed)
3768#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3769 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D1_CK1
3770#endif
3771 use pm_kind, only: CKG => CK1
3772 complex(CKG) , intent(inout) , allocatable :: array(:)
3773 complex(CKG) , intent(in) :: lpfill
3774 complex(CKG) , intent(in) , optional :: lmfill
3775 integer(IK) , intent(in) :: lpsize, lmsize
3776 logical(LK) , intent(out) , optional :: failed
3777 end subroutine
3778#endif
3779
3780 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3781
3782#if RK5_ENABLED
3783 PURE module subroutine setPaddedMargSL_D1_RK5(array, lpsize, lpfill, lmsize, lmfill, failed)
3784#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3785 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D1_RK5
3786#endif
3787 use pm_kind, only: RKG => RK5
3788 real(RKG) , intent(inout) , allocatable :: array(:)
3789 real(RKG) , intent(in) :: lpfill
3790 real(RKG) , intent(in) , optional :: lmfill
3791 integer(IK) , intent(in) :: lpsize, lmsize
3792 logical(LK) , intent(out) , optional :: failed
3793 end subroutine
3794#endif
3795
3796#if RK4_ENABLED
3797 PURE module subroutine setPaddedMargSL_D1_RK4(array, lpsize, lpfill, lmsize, lmfill, failed)
3798#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3799 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D1_RK4
3800#endif
3801 use pm_kind, only: RKG => RK4
3802 real(RKG) , intent(inout) , allocatable :: array(:)
3803 real(RKG) , intent(in) :: lpfill
3804 real(RKG) , intent(in) , optional :: lmfill
3805 integer(IK) , intent(in) :: lpsize, lmsize
3806 logical(LK) , intent(out) , optional :: failed
3807 end subroutine
3808#endif
3809
3810#if RK3_ENABLED
3811 PURE module subroutine setPaddedMargSL_D1_RK3(array, lpsize, lpfill, lmsize, lmfill, failed)
3812#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3813 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D1_RK3
3814#endif
3815 use pm_kind, only: RKG => RK3
3816 real(RKG) , intent(inout) , allocatable :: array(:)
3817 real(RKG) , intent(in) :: lpfill
3818 real(RKG) , intent(in) , optional :: lmfill
3819 integer(IK) , intent(in) :: lpsize, lmsize
3820 logical(LK) , intent(out) , optional :: failed
3821 end subroutine
3822#endif
3823
3824#if RK2_ENABLED
3825 PURE module subroutine setPaddedMargSL_D1_RK2(array, lpsize, lpfill, lmsize, lmfill, failed)
3826#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3827 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D1_RK2
3828#endif
3829 use pm_kind, only: RKG => RK2
3830 real(RKG) , intent(inout) , allocatable :: array(:)
3831 real(RKG) , intent(in) :: lpfill
3832 real(RKG) , intent(in) , optional :: lmfill
3833 integer(IK) , intent(in) :: lpsize, lmsize
3834 logical(LK) , intent(out) , optional :: failed
3835 end subroutine
3836#endif
3837
3838#if RK1_ENABLED
3839 PURE module subroutine setPaddedMargSL_D1_RK1(array, lpsize, lpfill, lmsize, lmfill, failed)
3840#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3841 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSL_D1_RK1
3842#endif
3843 use pm_kind, only: RKG => RK1
3844 real(RKG) , intent(inout) , allocatable :: array(:)
3845 real(RKG) , intent(in) :: lpfill
3846 real(RKG) , intent(in) , optional :: lmfill
3847 integer(IK) , intent(in) :: lpsize, lmsize
3848 logical(LK) , intent(out) , optional :: failed
3849 end subroutine
3850#endif
3851
3852 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3853
3854 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3855 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3856 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3857
3858
3859 end interface
3860
3861!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3862
3952 interface getPaddedr
3953
3954 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3955 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3956 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3957
3958 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3959
3960#if SK5_ENABLED
3961 PURE module function getPaddedAsisSR_D0_SK5(array, rpsize, rpfill) result(arrayPadded)
3962#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3963 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D0_SK5
3964#endif
3965 use pm_kind, only: SKG => SK5
3966 character(*,SKG) , intent(in) :: array
3967 integer(IK) , intent(in) :: rpsize
3968 character(1,SKG) , intent(in) :: rpfill
3969 character(len(array,IK)+rpsize,SKG) :: arrayPadded
3970 end function
3971#endif
3972
3973#if SK4_ENABLED
3974 PURE module function getPaddedAsisSR_D0_SK4(array, rpsize, rpfill) result(arrayPadded)
3975#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3976 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D0_SK4
3977#endif
3978 use pm_kind, only: SKG => SK4
3979 character(*,SKG) , intent(in) :: array
3980 integer(IK) , intent(in) :: rpsize
3981 character(1,SKG) , intent(in) :: rpfill
3982 character(len(array,IK)+rpsize,SKG) :: arrayPadded
3983 end function
3984#endif
3985
3986#if SK3_ENABLED
3987 PURE module function getPaddedAsisSR_D0_SK3(array, rpsize, rpfill) result(arrayPadded)
3988#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3989 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D0_SK3
3990#endif
3991 use pm_kind, only: SKG => SK3
3992 character(*,SKG) , intent(in) :: array
3993 integer(IK) , intent(in) :: rpsize
3994 character(1,SKG) , intent(in) :: rpfill
3995 character(len(array,IK)+rpsize,SKG) :: arrayPadded
3996 end function
3997#endif
3998
3999#if SK2_ENABLED
4000 PURE module function getPaddedAsisSR_D0_SK2(array, rpsize, rpfill) result(arrayPadded)
4001#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4002 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D0_SK2
4003#endif
4004 use pm_kind, only: SKG => SK2
4005 character(*,SKG) , intent(in) :: array
4006 integer(IK) , intent(in) :: rpsize
4007 character(1,SKG) , intent(in) :: rpfill
4008 character(len(array,IK)+rpsize,SKG) :: arrayPadded
4009 end function
4010#endif
4011
4012#if SK1_ENABLED
4013 PURE module function getPaddedAsisSR_D0_SK1(array, rpsize, rpfill) result(arrayPadded)
4014#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4015 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D0_SK1
4016#endif
4017 use pm_kind, only: SKG => SK1
4018 character(*,SKG) , intent(in) :: array
4019 integer(IK) , intent(in) :: rpsize
4020 character(1,SKG) , intent(in) :: rpfill
4021 character(len(array,IK)+rpsize,SKG) :: arrayPadded
4022 end function
4023#endif
4024
4025 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4026
4027#if SK5_ENABLED
4028 PURE module function getPaddedAsisSR_D1_SK5(array, rpsize, rpfill) result(arrayPadded)
4029#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4030 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D1_SK5
4031#endif
4032 use pm_kind, only: SKG => SK5
4033 character(*,SKG) , intent(in) , contiguous :: array(:)
4034 integer(IK) , intent(in) :: rpsize
4035 character(len(array,IK),SKG), intent(in) :: rpfill
4036 character(len(array,IK),SKG) :: arrayPadded(size(array,kind=IK)+rpsize)
4037 end function
4038#endif
4039
4040#if SK4_ENABLED
4041 PURE module function getPaddedAsisSR_D1_SK4(array, rpsize, rpfill) result(arrayPadded)
4042#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4043 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D1_SK4
4044#endif
4045 use pm_kind, only: SKG => SK4
4046 character(*,SKG) , intent(in) , contiguous :: array(:)
4047 integer(IK) , intent(in) :: rpsize
4048 character(len(array,IK),SKG), intent(in) :: rpfill
4049 character(len(array,IK),SKG) :: arrayPadded(size(array,kind=IK)+rpsize)
4050 end function
4051#endif
4052
4053#if SK3_ENABLED
4054 PURE module function getPaddedAsisSR_D1_SK3(array, rpsize, rpfill) result(arrayPadded)
4055#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4056 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D1_SK3
4057#endif
4058 use pm_kind, only: SKG => SK3
4059 character(*,SKG) , intent(in) , contiguous :: array(:)
4060 integer(IK) , intent(in) :: rpsize
4061 character(len(array,IK),SKG), intent(in) :: rpfill
4062 character(len(array,IK),SKG) :: arrayPadded(size(array,kind=IK)+rpsize)
4063 end function
4064#endif
4065
4066#if SK2_ENABLED
4067 PURE module function getPaddedAsisSR_D1_SK2(array, rpsize, rpfill) result(arrayPadded)
4068#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4069 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D1_SK2
4070#endif
4071 use pm_kind, only: SKG => SK2
4072 character(*,SKG) , intent(in) , contiguous :: array(:)
4073 integer(IK) , intent(in) :: rpsize
4074 character(len(array,IK),SKG), intent(in) :: rpfill
4075 character(len(array,IK),SKG) :: arrayPadded(size(array,kind=IK)+rpsize)
4076 end function
4077#endif
4078
4079#if SK1_ENABLED
4080 PURE module function getPaddedAsisSR_D1_SK1(array, rpsize, rpfill) result(arrayPadded)
4081#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4082 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D1_SK1
4083#endif
4084 use pm_kind, only: SKG => SK1
4085 character(*,SKG) , intent(in) , contiguous :: array(:)
4086 integer(IK) , intent(in) :: rpsize
4087 character(len(array,IK),SKG), intent(in) :: rpfill
4088 character(len(array,IK),SKG) :: arrayPadded(size(array,kind=IK)+rpsize)
4089 end function
4090#endif
4091
4092 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4093
4094#if IK5_ENABLED
4095 PURE module function getPaddedAsisSR_D1_IK5(array, rpsize, rpfill) result(arrayPadded)
4096#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4097 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D1_IK5
4098#endif
4099 use pm_kind, only: IKG => IK5
4100 integer(IKG) , intent(in) , contiguous :: array(:)
4101 integer(IK) , intent(in) :: rpsize
4102 integer(IKG) , intent(in) :: rpfill
4103 integer(IKG) :: arrayPadded(size(array,kind=IK)+rpsize)
4104 end function
4105#endif
4106
4107#if IK4_ENABLED
4108 PURE module function getPaddedAsisSR_D1_IK4(array, rpsize, rpfill) result(arrayPadded)
4109#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4110 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D1_IK4
4111#endif
4112 use pm_kind, only: IKG => IK4
4113 integer(IKG) , intent(in) , contiguous :: array(:)
4114 integer(IK) , intent(in) :: rpsize
4115 integer(IKG) , intent(in) :: rpfill
4116 integer(IKG) :: arrayPadded(size(array,kind=IK)+rpsize)
4117 end function
4118#endif
4119
4120#if IK3_ENABLED
4121 PURE module function getPaddedAsisSR_D1_IK3(array, rpsize, rpfill) result(arrayPadded)
4122#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4123 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D1_IK3
4124#endif
4125 use pm_kind, only: IKG => IK3
4126 integer(IKG) , intent(in) , contiguous :: array(:)
4127 integer(IK) , intent(in) :: rpsize
4128 integer(IKG) , intent(in) :: rpfill
4129 integer(IKG) :: arrayPadded(size(array,kind=IK)+rpsize)
4130 end function
4131#endif
4132
4133#if IK2_ENABLED
4134 PURE module function getPaddedAsisSR_D1_IK2(array, rpsize, rpfill) result(arrayPadded)
4135#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4136 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D1_IK2
4137#endif
4138 use pm_kind, only: IKG => IK2
4139 integer(IKG) , intent(in) , contiguous :: array(:)
4140 integer(IK) , intent(in) :: rpsize
4141 integer(IKG) , intent(in) :: rpfill
4142 integer(IKG) :: arrayPadded(size(array,kind=IK)+rpsize)
4143 end function
4144#endif
4145
4146#if IK1_ENABLED
4147 PURE module function getPaddedAsisSR_D1_IK1(array, rpsize, rpfill) result(arrayPadded)
4148#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4149 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D1_IK1
4150#endif
4151 use pm_kind, only: IKG => IK1
4152 integer(IKG) , intent(in) , contiguous :: array(:)
4153 integer(IK) , intent(in) :: rpsize
4154 integer(IKG) , intent(in) :: rpfill
4155 integer(IKG) :: arrayPadded(size(array,kind=IK)+rpsize)
4156 end function
4157#endif
4158
4159 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4160
4161#if LK5_ENABLED
4162 PURE module function getPaddedAsisSR_D1_LK5(array, rpsize, rpfill) result(arrayPadded)
4163#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4164 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D1_LK5
4165#endif
4166 use pm_kind, only: LKG => LK5
4167 logical(LKG) , intent(in) , contiguous :: array(:)
4168 integer(IK) , intent(in) :: rpsize
4169 logical(LKG) , intent(in) :: rpfill
4170 logical(LKG) :: arrayPadded(size(array,kind=IK)+rpsize)
4171 end function
4172#endif
4173
4174#if LK4_ENABLED
4175 PURE module function getPaddedAsisSR_D1_LK4(array, rpsize, rpfill) result(arrayPadded)
4176#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4177 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D1_LK4
4178#endif
4179 use pm_kind, only: LKG => LK4
4180 logical(LKG) , intent(in) , contiguous :: array(:)
4181 integer(IK) , intent(in) :: rpsize
4182 logical(LKG) , intent(in) :: rpfill
4183 logical(LKG) :: arrayPadded(size(array,kind=IK)+rpsize)
4184 end function
4185#endif
4186
4187#if LK3_ENABLED
4188 PURE module function getPaddedAsisSR_D1_LK3(array, rpsize, rpfill) result(arrayPadded)
4189#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4190 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D1_LK3
4191#endif
4192 use pm_kind, only: LKG => LK3
4193 logical(LKG) , intent(in) , contiguous :: array(:)
4194 integer(IK) , intent(in) :: rpsize
4195 logical(LKG) , intent(in) :: rpfill
4196 logical(LKG) :: arrayPadded(size(array,kind=IK)+rpsize)
4197 end function
4198#endif
4199
4200#if LK2_ENABLED
4201 PURE module function getPaddedAsisSR_D1_LK2(array, rpsize, rpfill) result(arrayPadded)
4202#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4203 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D1_LK2
4204#endif
4205 use pm_kind, only: LKG => LK2
4206 logical(LKG) , intent(in) , contiguous :: array(:)
4207 integer(IK) , intent(in) :: rpsize
4208 logical(LKG) , intent(in) :: rpfill
4209 logical(LKG) :: arrayPadded(size(array,kind=IK)+rpsize)
4210 end function
4211#endif
4212
4213#if LK1_ENABLED
4214 PURE module function getPaddedAsisSR_D1_LK1(array, rpsize, rpfill) result(arrayPadded)
4215#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4216 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D1_LK1
4217#endif
4218 use pm_kind, only: LKG => LK1
4219 logical(LKG) , intent(in) , contiguous :: array(:)
4220 integer(IK) , intent(in) :: rpsize
4221 logical(LKG) , intent(in) :: rpfill
4222 logical(LKG) :: arrayPadded(size(array,kind=IK)+rpsize)
4223 end function
4224#endif
4225
4226 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4227
4228#if CK5_ENABLED
4229 PURE module function getPaddedAsisSR_D1_CK5(array, rpsize, rpfill) result(arrayPadded)
4230#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4231 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D1_CK5
4232#endif
4233 use pm_kind, only: CKG => CK5
4234 complex(CKG) , intent(in) , contiguous :: array(:)
4235 integer(IK) , intent(in) :: rpsize
4236 complex(CKG) , intent(in) :: rpfill
4237 complex(CKG) :: arrayPadded(size(array,kind=IK)+rpsize)
4238 end function
4239#endif
4240
4241#if CK4_ENABLED
4242 PURE module function getPaddedAsisSR_D1_CK4(array, rpsize, rpfill) result(arrayPadded)
4243#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4244 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D1_CK4
4245#endif
4246 use pm_kind, only: CKG => CK4
4247 complex(CKG) , intent(in) , contiguous :: array(:)
4248 integer(IK) , intent(in) :: rpsize
4249 complex(CKG) , intent(in) :: rpfill
4250 complex(CKG) :: arrayPadded(size(array,kind=IK)+rpsize)
4251 end function
4252#endif
4253
4254#if CK3_ENABLED
4255 PURE module function getPaddedAsisSR_D1_CK3(array, rpsize, rpfill) result(arrayPadded)
4256#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4257 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D1_CK3
4258#endif
4259 use pm_kind, only: CKG => CK3
4260 complex(CKG) , intent(in) , contiguous :: array(:)
4261 integer(IK) , intent(in) :: rpsize
4262 complex(CKG) , intent(in) :: rpfill
4263 complex(CKG) :: arrayPadded(size(array,kind=IK)+rpsize)
4264 end function
4265#endif
4266
4267#if CK2_ENABLED
4268 PURE module function getPaddedAsisSR_D1_CK2(array, rpsize, rpfill) result(arrayPadded)
4269#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4270 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D1_CK2
4271#endif
4272 use pm_kind, only: CKG => CK2
4273 complex(CKG) , intent(in) , contiguous :: array(:)
4274 integer(IK) , intent(in) :: rpsize
4275 complex(CKG) , intent(in) :: rpfill
4276 complex(CKG) :: arrayPadded(size(array,kind=IK)+rpsize)
4277 end function
4278#endif
4279
4280#if CK1_ENABLED
4281 PURE module function getPaddedAsisSR_D1_CK1(array, rpsize, rpfill) result(arrayPadded)
4282#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4283 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D1_CK1
4284#endif
4285 use pm_kind, only: CKG => CK1
4286 complex(CKG) , intent(in) , contiguous :: array(:)
4287 integer(IK) , intent(in) :: rpsize
4288 complex(CKG) , intent(in) :: rpfill
4289 complex(CKG) :: arrayPadded(size(array,kind=IK)+rpsize)
4290 end function
4291#endif
4292
4293 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4294
4295#if RK5_ENABLED
4296 PURE module function getPaddedAsisSR_D1_RK5(array, rpsize, rpfill) result(arrayPadded)
4297#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4298 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D1_RK5
4299#endif
4300 use pm_kind, only: RKG => RK5
4301 real(RKG) , intent(in) , contiguous :: array(:)
4302 integer(IK) , intent(in) :: rpsize
4303 real(RKG) , intent(in) :: rpfill
4304 real(RKG) :: arrayPadded(size(array,kind=IK)+rpsize)
4305 end function
4306#endif
4307
4308#if RK4_ENABLED
4309 PURE module function getPaddedAsisSR_D1_RK4(array, rpsize, rpfill) result(arrayPadded)
4310#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4311 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D1_RK4
4312#endif
4313 use pm_kind, only: RKG => RK4
4314 real(RKG) , intent(in) , contiguous :: array(:)
4315 integer(IK) , intent(in) :: rpsize
4316 real(RKG) , intent(in) :: rpfill
4317 real(RKG) :: arrayPadded(size(array,kind=IK)+rpsize)
4318 end function
4319#endif
4320
4321#if RK3_ENABLED
4322 PURE module function getPaddedAsisSR_D1_RK3(array, rpsize, rpfill) result(arrayPadded)
4323#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4324 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D1_RK3
4325#endif
4326 use pm_kind, only: RKG => RK3
4327 real(RKG) , intent(in) , contiguous :: array(:)
4328 integer(IK) , intent(in) :: rpsize
4329 real(RKG) , intent(in) :: rpfill
4330 real(RKG) :: arrayPadded(size(array,kind=IK)+rpsize)
4331 end function
4332#endif
4333
4334#if RK2_ENABLED
4335 PURE module function getPaddedAsisSR_D1_RK2(array, rpsize, rpfill) result(arrayPadded)
4336#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4337 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D1_RK2
4338#endif
4339 use pm_kind, only: RKG => RK2
4340 real(RKG) , intent(in) , contiguous :: array(:)
4341 integer(IK) , intent(in) :: rpsize
4342 real(RKG) , intent(in) :: rpfill
4343 real(RKG) :: arrayPadded(size(array,kind=IK)+rpsize)
4344 end function
4345#endif
4346
4347#if RK1_ENABLED
4348 PURE module function getPaddedAsisSR_D1_RK1(array, rpsize, rpfill) result(arrayPadded)
4349#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4350 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedAsisSR_D1_RK1
4351#endif
4352 use pm_kind, only: RKG => RK1
4353 real(RKG) , intent(in) , contiguous :: array(:)
4354 integer(IK) , intent(in) :: rpsize
4355 real(RKG) , intent(in) :: rpfill
4356 real(RKG) :: arrayPadded(size(array,kind=IK)+rpsize)
4357 end function
4358#endif
4359
4360 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4361
4362 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4363 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4364 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4365
4366 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4367
4368#if SK5_ENABLED
4369 PURE module function getPaddedMargSR_D0_SK5(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4370#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4371 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D0_SK5
4372#endif
4373 use pm_kind, only: SKG => SK5
4374 character(*,SKG) , intent(in) :: array
4375 character(1,SKG) , intent(in) :: rpfill
4376 character(1,SKG) , intent(in) , optional :: rmfill
4377 integer(IK) , intent(in) :: rpsize, rmsize
4378 character(len(array,IK)+rpsize+rmsize,SKG) :: arrayPadded
4379 end function
4380#endif
4381
4382#if SK4_ENABLED
4383 PURE module function getPaddedMargSR_D0_SK4(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4384#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4385 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D0_SK4
4386#endif
4387 use pm_kind, only: SKG => SK4
4388 character(*,SKG) , intent(in) :: array
4389 character(1,SKG) , intent(in) :: rpfill
4390 character(1,SKG) , intent(in) , optional :: rmfill
4391 integer(IK) , intent(in) :: rpsize, rmsize
4392 character(len(array,IK)+rpsize+rmsize,SKG) :: arrayPadded
4393 end function
4394#endif
4395
4396#if SK3_ENABLED
4397 PURE module function getPaddedMargSR_D0_SK3(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4398#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4399 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D0_SK3
4400#endif
4401 use pm_kind, only: SKG => SK3
4402 character(*,SKG) , intent(in) :: array
4403 character(1,SKG) , intent(in) :: rpfill
4404 character(1,SKG) , intent(in) , optional :: rmfill
4405 integer(IK) , intent(in) :: rpsize, rmsize
4406 character(len(array,IK)+rpsize+rmsize,SKG) :: arrayPadded
4407 end function
4408#endif
4409
4410#if SK2_ENABLED
4411 PURE module function getPaddedMargSR_D0_SK2(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4412#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4413 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D0_SK2
4414#endif
4415 use pm_kind, only: SKG => SK2
4416 character(*,SKG) , intent(in) :: array
4417 character(1,SKG) , intent(in) :: rpfill
4418 character(1,SKG) , intent(in) , optional :: rmfill
4419 integer(IK) , intent(in) :: rpsize, rmsize
4420 character(len(array,IK)+rpsize+rmsize,SKG) :: arrayPadded
4421 end function
4422#endif
4423
4424#if SK1_ENABLED
4425 PURE module function getPaddedMargSR_D0_SK1(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4426#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4427 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D0_SK1
4428#endif
4429 use pm_kind, only: SKG => SK1
4430 character(*,SKG) , intent(in) :: array
4431 character(1,SKG) , intent(in) :: rpfill
4432 character(1,SKG) , intent(in) , optional :: rmfill
4433 integer(IK) , intent(in) :: rpsize, rmsize
4434 character(len(array,IK)+rpsize+rmsize,SKG) :: arrayPadded
4435 end function
4436#endif
4437
4438 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4439
4440#if SK5_ENABLED
4441 PURE module function getPaddedMargSR_D1_SK5(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4442#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4443 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D1_SK5
4444#endif
4445 use pm_kind, only: SKG => SK5
4446 character(*,SKG) , intent(in) , contiguous :: array(:)
4447 character(len(array,IK),SKG), intent(in) :: rpfill
4448 character(len(array,IK),SKG), intent(in) , optional :: rmfill
4449 integer(IK) , intent(in) :: rpsize, rmsize
4450 character(len(array,IK),SKG) :: arrayPadded(size(array,kind=IK)+rpsize+rmsize)
4451 end function
4452#endif
4453
4454#if SK4_ENABLED
4455 PURE module function getPaddedMargSR_D1_SK4(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4456#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4457 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D1_SK4
4458#endif
4459 use pm_kind, only: SKG => SK4
4460 character(*,SKG) , intent(in) , contiguous :: array(:)
4461 character(len(array,IK),SKG), intent(in) :: rpfill
4462 character(len(array,IK),SKG), intent(in) , optional :: rmfill
4463 integer(IK) , intent(in) :: rpsize, rmsize
4464 character(len(array,IK),SKG) :: arrayPadded(size(array,kind=IK)+rpsize+rmsize)
4465 end function
4466#endif
4467
4468#if SK3_ENABLED
4469 PURE module function getPaddedMargSR_D1_SK3(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4470#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4471 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D1_SK3
4472#endif
4473 use pm_kind, only: SKG => SK3
4474 character(*,SKG) , intent(in) , contiguous :: array(:)
4475 character(len(array,IK),SKG), intent(in) :: rpfill
4476 character(len(array,IK),SKG), intent(in) , optional :: rmfill
4477 integer(IK) , intent(in) :: rpsize, rmsize
4478 character(len(array,IK),SKG) :: arrayPadded(size(array,kind=IK)+rpsize+rmsize)
4479 end function
4480#endif
4481
4482#if SK2_ENABLED
4483 PURE module function getPaddedMargSR_D1_SK2(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4484#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4485 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D1_SK2
4486#endif
4487 use pm_kind, only: SKG => SK2
4488 character(*,SKG) , intent(in) , contiguous :: array(:)
4489 character(len(array,IK),SKG), intent(in) :: rpfill
4490 character(len(array,IK),SKG), intent(in) , optional :: rmfill
4491 integer(IK) , intent(in) :: rpsize, rmsize
4492 character(len(array,IK),SKG) :: arrayPadded(size(array,kind=IK)+rpsize+rmsize)
4493 end function
4494#endif
4495
4496#if SK1_ENABLED
4497 PURE module function getPaddedMargSR_D1_SK1(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4498#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4499 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D1_SK1
4500#endif
4501 use pm_kind, only: SKG => SK1
4502 character(*,SKG) , intent(in) , contiguous :: array(:)
4503 character(len(array,IK),SKG), intent(in) :: rpfill
4504 character(len(array,IK),SKG), intent(in) , optional :: rmfill
4505 integer(IK) , intent(in) :: rpsize, rmsize
4506 character(len(array,IK),SKG) :: arrayPadded(size(array,kind=IK)+rpsize+rmsize)
4507 end function
4508#endif
4509
4510 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4511
4512#if IK5_ENABLED
4513 PURE module function getPaddedMargSR_D1_IK5(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4514#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4515 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D1_IK5
4516#endif
4517 use pm_kind, only: IKG => IK5
4518 integer(IKG) , intent(in) , contiguous :: array(:)
4519 integer(IKG) , intent(in) :: rpfill
4520 integer(IKG) , intent(in) , optional :: rmfill
4521 integer(IK) , intent(in) :: rpsize, rmsize
4522 integer(IKG) :: arrayPadded(size(array,kind=IK)+rpsize+rmsize)
4523 end function
4524#endif
4525
4526#if IK4_ENABLED
4527 PURE module function getPaddedMargSR_D1_IK4(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4528#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4529 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D1_IK4
4530#endif
4531 use pm_kind, only: IKG => IK4
4532 integer(IKG) , intent(in) , contiguous :: array(:)
4533 integer(IKG) , intent(in) :: rpfill
4534 integer(IKG) , intent(in) , optional :: rmfill
4535 integer(IK) , intent(in) :: rpsize, rmsize
4536 integer(IKG) :: arrayPadded(size(array,kind=IK)+rpsize+rmsize)
4537 end function
4538#endif
4539
4540#if IK3_ENABLED
4541 PURE module function getPaddedMargSR_D1_IK3(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4542#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4543 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D1_IK3
4544#endif
4545 use pm_kind, only: IKG => IK3
4546 integer(IKG) , intent(in) , contiguous :: array(:)
4547 integer(IKG) , intent(in) :: rpfill
4548 integer(IKG) , intent(in) , optional :: rmfill
4549 integer(IK) , intent(in) :: rpsize, rmsize
4550 integer(IKG) :: arrayPadded(size(array,kind=IK)+rpsize+rmsize)
4551 end function
4552#endif
4553
4554#if IK2_ENABLED
4555 PURE module function getPaddedMargSR_D1_IK2(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4556#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4557 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D1_IK2
4558#endif
4559 use pm_kind, only: IKG => IK2
4560 integer(IKG) , intent(in) , contiguous :: array(:)
4561 integer(IKG) , intent(in) :: rpfill
4562 integer(IKG) , intent(in) , optional :: rmfill
4563 integer(IK) , intent(in) :: rpsize, rmsize
4564 integer(IKG) :: arrayPadded(size(array,kind=IK)+rpsize+rmsize)
4565 end function
4566#endif
4567
4568#if IK1_ENABLED
4569 PURE module function getPaddedMargSR_D1_IK1(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4570#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4571 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D1_IK1
4572#endif
4573 use pm_kind, only: IKG => IK1
4574 integer(IKG) , intent(in) , contiguous :: array(:)
4575 integer(IKG) , intent(in) :: rpfill
4576 integer(IKG) , intent(in) , optional :: rmfill
4577 integer(IK) , intent(in) :: rpsize, rmsize
4578 integer(IKG) :: arrayPadded(size(array,kind=IK)+rpsize+rmsize)
4579 end function
4580#endif
4581
4582 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4583
4584#if LK5_ENABLED
4585 PURE module function getPaddedMargSR_D1_LK5(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4586#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4587 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D1_LK5
4588#endif
4589 use pm_kind, only: LKG => LK5
4590 logical(LKG) , intent(in) , contiguous :: array(:)
4591 logical(LKG) , intent(in) :: rpfill
4592 logical(LKG) , intent(in) , optional :: rmfill
4593 integer(IK) , intent(in) :: rpsize, rmsize
4594 logical(LKG) :: arrayPadded(size(array,kind=IK)+rpsize+rmsize)
4595 end function
4596#endif
4597
4598#if LK4_ENABLED
4599 PURE module function getPaddedMargSR_D1_LK4(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4600#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4601 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D1_LK4
4602#endif
4603 use pm_kind, only: LKG => LK4
4604 logical(LKG) , intent(in) , contiguous :: array(:)
4605 logical(LKG) , intent(in) :: rpfill
4606 logical(LKG) , intent(in) , optional :: rmfill
4607 integer(IK) , intent(in) :: rpsize, rmsize
4608 logical(LKG) :: arrayPadded(size(array,kind=IK)+rpsize+rmsize)
4609 end function
4610#endif
4611
4612#if LK3_ENABLED
4613 PURE module function getPaddedMargSR_D1_LK3(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4614#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4615 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D1_LK3
4616#endif
4617 use pm_kind, only: LKG => LK3
4618 logical(LKG) , intent(in) , contiguous :: array(:)
4619 logical(LKG) , intent(in) :: rpfill
4620 logical(LKG) , intent(in) , optional :: rmfill
4621 integer(IK) , intent(in) :: rpsize, rmsize
4622 logical(LKG) :: arrayPadded(size(array,kind=IK)+rpsize+rmsize)
4623 end function
4624#endif
4625
4626#if LK2_ENABLED
4627 PURE module function getPaddedMargSR_D1_LK2(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4628#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4629 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D1_LK2
4630#endif
4631 use pm_kind, only: LKG => LK2
4632 logical(LKG) , intent(in) , contiguous :: array(:)
4633 logical(LKG) , intent(in) :: rpfill
4634 logical(LKG) , intent(in) , optional :: rmfill
4635 integer(IK) , intent(in) :: rpsize, rmsize
4636 logical(LKG) :: arrayPadded(size(array,kind=IK)+rpsize+rmsize)
4637 end function
4638#endif
4639
4640#if LK1_ENABLED
4641 PURE module function getPaddedMargSR_D1_LK1(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4642#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4643 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D1_LK1
4644#endif
4645 use pm_kind, only: LKG => LK1
4646 logical(LKG) , intent(in) , contiguous :: array(:)
4647 logical(LKG) , intent(in) :: rpfill
4648 logical(LKG) , intent(in) , optional :: rmfill
4649 integer(IK) , intent(in) :: rpsize, rmsize
4650 logical(LKG) :: arrayPadded(size(array,kind=IK)+rpsize+rmsize)
4651 end function
4652#endif
4653
4654 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4655
4656#if CK5_ENABLED
4657 PURE module function getPaddedMargSR_D1_CK5(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4658#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4659 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D1_CK5
4660#endif
4661 use pm_kind, only: CKG => CK5
4662 complex(CKG) , intent(in) , contiguous :: array(:)
4663 complex(CKG) , intent(in) :: rpfill
4664 complex(CKG) , intent(in) , optional :: rmfill
4665 integer(IK) , intent(in) :: rpsize, rmsize
4666 complex(CKG) :: arrayPadded(size(array,kind=IK)+rpsize+rmsize)
4667 end function
4668#endif
4669
4670#if CK4_ENABLED
4671 PURE module function getPaddedMargSR_D1_CK4(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4672#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4673 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D1_CK4
4674#endif
4675 use pm_kind, only: CKG => CK4
4676 complex(CKG) , intent(in) , contiguous :: array(:)
4677 complex(CKG) , intent(in) :: rpfill
4678 complex(CKG) , intent(in) , optional :: rmfill
4679 integer(IK) , intent(in) :: rpsize, rmsize
4680 complex(CKG) :: arrayPadded(size(array,kind=IK)+rpsize+rmsize)
4681 end function
4682#endif
4683
4684#if CK3_ENABLED
4685 PURE module function getPaddedMargSR_D1_CK3(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4686#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4687 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D1_CK3
4688#endif
4689 use pm_kind, only: CKG => CK3
4690 complex(CKG) , intent(in) , contiguous :: array(:)
4691 complex(CKG) , intent(in) :: rpfill
4692 complex(CKG) , intent(in) , optional :: rmfill
4693 integer(IK) , intent(in) :: rpsize, rmsize
4694 complex(CKG) :: arrayPadded(size(array,kind=IK)+rpsize+rmsize)
4695 end function
4696#endif
4697
4698#if CK2_ENABLED
4699 PURE module function getPaddedMargSR_D1_CK2(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4700#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4701 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D1_CK2
4702#endif
4703 use pm_kind, only: CKG => CK2
4704 complex(CKG) , intent(in) , contiguous :: array(:)
4705 complex(CKG) , intent(in) :: rpfill
4706 complex(CKG) , intent(in) , optional :: rmfill
4707 integer(IK) , intent(in) :: rpsize, rmsize
4708 complex(CKG) :: arrayPadded(size(array,kind=IK)+rpsize+rmsize)
4709 end function
4710#endif
4711
4712#if CK1_ENABLED
4713 PURE module function getPaddedMargSR_D1_CK1(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4714#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4715 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D1_CK1
4716#endif
4717 use pm_kind, only: CKG => CK1
4718 complex(CKG) , intent(in) , contiguous :: array(:)
4719 complex(CKG) , intent(in) :: rpfill
4720 complex(CKG) , intent(in) , optional :: rmfill
4721 integer(IK) , intent(in) :: rpsize, rmsize
4722 complex(CKG) :: arrayPadded(size(array,kind=IK)+rpsize+rmsize)
4723 end function
4724#endif
4725
4726 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4727
4728#if RK5_ENABLED
4729 PURE module function getPaddedMargSR_D1_RK5(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4730#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4731 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D1_RK5
4732#endif
4733 use pm_kind, only: RKG => RK5
4734 real(RKG) , intent(in) , contiguous :: array(:)
4735 real(RKG) , intent(in) :: rpfill
4736 real(RKG) , intent(in) , optional :: rmfill
4737 integer(IK) , intent(in) :: rpsize, rmsize
4738 real(RKG) :: arrayPadded(size(array,kind=IK)+rpsize+rmsize)
4739 end function
4740#endif
4741
4742#if RK4_ENABLED
4743 PURE module function getPaddedMargSR_D1_RK4(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4744#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4745 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D1_RK4
4746#endif
4747 use pm_kind, only: RKG => RK4
4748 real(RKG) , intent(in) , contiguous :: array(:)
4749 real(RKG) , intent(in) :: rpfill
4750 real(RKG) , intent(in) , optional :: rmfill
4751 integer(IK) , intent(in) :: rpsize, rmsize
4752 real(RKG) :: arrayPadded(size(array,kind=IK)+rpsize+rmsize)
4753 end function
4754#endif
4755
4756#if RK3_ENABLED
4757 PURE module function getPaddedMargSR_D1_RK3(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4758#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4759 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D1_RK3
4760#endif
4761 use pm_kind, only: RKG => RK3
4762 real(RKG) , intent(in) , contiguous :: array(:)
4763 real(RKG) , intent(in) :: rpfill
4764 real(RKG) , intent(in) , optional :: rmfill
4765 integer(IK) , intent(in) :: rpsize, rmsize
4766 real(RKG) :: arrayPadded(size(array,kind=IK)+rpsize+rmsize)
4767 end function
4768#endif
4769
4770#if RK2_ENABLED
4771 PURE module function getPaddedMargSR_D1_RK2(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4772#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4773 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D1_RK2
4774#endif
4775 use pm_kind, only: RKG => RK2
4776 real(RKG) , intent(in) , contiguous :: array(:)
4777 real(RKG) , intent(in) :: rpfill
4778 real(RKG) , intent(in) , optional :: rmfill
4779 integer(IK) , intent(in) :: rpsize, rmsize
4780 real(RKG) :: arrayPadded(size(array,kind=IK)+rpsize+rmsize)
4781 end function
4782#endif
4783
4784#if RK1_ENABLED
4785 PURE module function getPaddedMargSR_D1_RK1(array, rpsize, rpfill, rmsize, rmfill) result(arrayPadded)
4786#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4787 !DEC$ ATTRIBUTES DLLEXPORT :: getPaddedMargSR_D1_RK1
4788#endif
4789 use pm_kind, only: RKG => RK1
4790 real(RKG) , intent(in) , contiguous :: array(:)
4791 real(RKG) , intent(in) :: rpfill
4792 real(RKG) , intent(in) , optional :: rmfill
4793 integer(IK) , intent(in) :: rpsize, rmsize
4794 real(RKG) :: arrayPadded(size(array,kind=IK)+rpsize+rmsize)
4795 end function
4796#endif
4797
4798 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4799
4800 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4801 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4802 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4803
4804 end interface
4805
4806!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4807
4894 interface setPaddedr
4895
4896 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4897 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4898 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4899
4900 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4901
4902#if SK5_ENABLED
4903 PURE module subroutine setPaddedAsisSR_D0_SK5(array, rpsize, rpfill, failed)
4904#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4905 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D0_SK5
4906#endif
4907 use pm_kind, only: SKG => SK5
4908 character(:,SKG) , intent(inout) , allocatable :: array
4909 integer(IK) , intent(in) :: rpsize
4910 character(1,SKG) , intent(in) :: rpfill
4911 logical(LK) , intent(out) , optional :: failed
4912 end subroutine
4913#endif
4914
4915#if SK4_ENABLED
4916 PURE module subroutine setPaddedAsisSR_D0_SK4(array, rpsize, rpfill, failed)
4917#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4918 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D0_SK4
4919#endif
4920 use pm_kind, only: SKG => SK4
4921 character(:,SKG) , intent(inout) , allocatable :: array
4922 integer(IK) , intent(in) :: rpsize
4923 character(1,SKG) , intent(in) :: rpfill
4924 logical(LK) , intent(out) , optional :: failed
4925 end subroutine
4926#endif
4927
4928#if SK3_ENABLED
4929 PURE module subroutine setPaddedAsisSR_D0_SK3(array, rpsize, rpfill, failed)
4930#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4931 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D0_SK3
4932#endif
4933 use pm_kind, only: SKG => SK3
4934 character(:,SKG) , intent(inout) , allocatable :: array
4935 integer(IK) , intent(in) :: rpsize
4936 character(1,SKG) , intent(in) :: rpfill
4937 logical(LK) , intent(out) , optional :: failed
4938 end subroutine
4939#endif
4940
4941#if SK2_ENABLED
4942 PURE module subroutine setPaddedAsisSR_D0_SK2(array, rpsize, rpfill, failed)
4943#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4944 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D0_SK2
4945#endif
4946 use pm_kind, only: SKG => SK2
4947 character(:,SKG) , intent(inout) , allocatable :: array
4948 integer(IK) , intent(in) :: rpsize
4949 character(1,SKG) , intent(in) :: rpfill
4950 logical(LK) , intent(out) , optional :: failed
4951 end subroutine
4952#endif
4953
4954#if SK1_ENABLED
4955 PURE module subroutine setPaddedAsisSR_D0_SK1(array, rpsize, rpfill, failed)
4956#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4957 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D0_SK1
4958#endif
4959 use pm_kind, only: SKG => SK1
4960 character(:,SKG) , intent(inout) , allocatable :: array
4961 integer(IK) , intent(in) :: rpsize
4962 character(1,SKG) , intent(in) :: rpfill
4963 logical(LK) , intent(out) , optional :: failed
4964 end subroutine
4965#endif
4966
4967 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4968
4969#if SK5_ENABLED
4970 PURE module subroutine setPaddedAsisSR_D1_SK5(array, rpsize, rpfill, failed)
4971#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4972 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D1_SK5
4973#endif
4974 use pm_kind, only: SKG => SK5
4975 character(*,SKG) , intent(inout) , allocatable :: array(:)
4976 integer(IK) , intent(in) :: rpsize
4977 character(len(array,IK),SKG), intent(in) :: rpfill
4978 logical(LK) , intent(out) , optional :: failed
4979 end subroutine
4980#endif
4981
4982#if SK4_ENABLED
4983 PURE module subroutine setPaddedAsisSR_D1_SK4(array, rpsize, rpfill, failed)
4984#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4985 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D1_SK4
4986#endif
4987 use pm_kind, only: SKG => SK4
4988 character(*,SKG) , intent(inout) , allocatable :: array(:)
4989 integer(IK) , intent(in) :: rpsize
4990 character(len(array,IK),SKG), intent(in) :: rpfill
4991 logical(LK) , intent(out) , optional :: failed
4992 end subroutine
4993#endif
4994
4995#if SK3_ENABLED
4996 PURE module subroutine setPaddedAsisSR_D1_SK3(array, rpsize, rpfill, failed)
4997#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4998 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D1_SK3
4999#endif
5000 use pm_kind, only: SKG => SK3
5001 character(*,SKG) , intent(inout) , allocatable :: array(:)
5002 integer(IK) , intent(in) :: rpsize
5003 character(len(array,IK),SKG), intent(in) :: rpfill
5004 logical(LK) , intent(out) , optional :: failed
5005 end subroutine
5006#endif
5007
5008#if SK2_ENABLED
5009 PURE module subroutine setPaddedAsisSR_D1_SK2(array, rpsize, rpfill, failed)
5010#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5011 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D1_SK2
5012#endif
5013 use pm_kind, only: SKG => SK2
5014 character(*,SKG) , intent(inout) , allocatable :: array(:)
5015 integer(IK) , intent(in) :: rpsize
5016 character(len(array,IK),SKG), intent(in) :: rpfill
5017 logical(LK) , intent(out) , optional :: failed
5018 end subroutine
5019#endif
5020
5021#if SK1_ENABLED
5022 PURE module subroutine setPaddedAsisSR_D1_SK1(array, rpsize, rpfill, failed)
5023#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5024 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D1_SK1
5025#endif
5026 use pm_kind, only: SKG => SK1
5027 character(*,SKG) , intent(inout) , allocatable :: array(:)
5028 integer(IK) , intent(in) :: rpsize
5029 character(len(array,IK),SKG), intent(in) :: rpfill
5030 logical(LK) , intent(out) , optional :: failed
5031 end subroutine
5032#endif
5033
5034 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5035
5036#if IK5_ENABLED
5037 PURE module subroutine setPaddedAsisSR_D1_IK5(array, rpsize, rpfill, failed)
5038#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5039 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D1_IK5
5040#endif
5041 use pm_kind, only: IKG => IK5
5042 integer(IKG) , intent(inout) , allocatable :: array(:)
5043 integer(IK) , intent(in) :: rpsize
5044 integer(IKG) , intent(in) :: rpfill
5045 logical(LK) , intent(out) , optional :: failed
5046 end subroutine
5047#endif
5048
5049#if IK4_ENABLED
5050 PURE module subroutine setPaddedAsisSR_D1_IK4(array, rpsize, rpfill, failed)
5051#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5052 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D1_IK4
5053#endif
5054 use pm_kind, only: IKG => IK4
5055 integer(IKG) , intent(inout) , allocatable :: array(:)
5056 integer(IK) , intent(in) :: rpsize
5057 integer(IKG) , intent(in) :: rpfill
5058 logical(LK) , intent(out) , optional :: failed
5059 end subroutine
5060#endif
5061
5062#if IK3_ENABLED
5063 PURE module subroutine setPaddedAsisSR_D1_IK3(array, rpsize, rpfill, failed)
5064#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5065 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D1_IK3
5066#endif
5067 use pm_kind, only: IKG => IK3
5068 integer(IKG) , intent(inout) , allocatable :: array(:)
5069 integer(IK) , intent(in) :: rpsize
5070 integer(IKG) , intent(in) :: rpfill
5071 logical(LK) , intent(out) , optional :: failed
5072 end subroutine
5073#endif
5074
5075#if IK2_ENABLED
5076 PURE module subroutine setPaddedAsisSR_D1_IK2(array, rpsize, rpfill, failed)
5077#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5078 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D1_IK2
5079#endif
5080 use pm_kind, only: IKG => IK2
5081 integer(IKG) , intent(inout) , allocatable :: array(:)
5082 integer(IK) , intent(in) :: rpsize
5083 integer(IKG) , intent(in) :: rpfill
5084 logical(LK) , intent(out) , optional :: failed
5085 end subroutine
5086#endif
5087
5088#if IK1_ENABLED
5089 PURE module subroutine setPaddedAsisSR_D1_IK1(array, rpsize, rpfill, failed)
5090#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5091 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D1_IK1
5092#endif
5093 use pm_kind, only: IKG => IK1
5094 integer(IKG) , intent(inout) , allocatable :: array(:)
5095 integer(IK) , intent(in) :: rpsize
5096 integer(IKG) , intent(in) :: rpfill
5097 logical(LK) , intent(out) , optional :: failed
5098 end subroutine
5099#endif
5100
5101 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5102
5103#if LK5_ENABLED
5104 PURE module subroutine setPaddedAsisSR_D1_LK5(array, rpsize, rpfill, failed)
5105#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5106 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D1_LK5
5107#endif
5108 use pm_kind, only: LKG => LK5
5109 logical(LKG) , intent(inout) , allocatable :: array(:)
5110 integer(IK) , intent(in) :: rpsize
5111 logical(LKG) , intent(in) :: rpfill
5112 logical(LK) , intent(out) , optional :: failed
5113 end subroutine
5114#endif
5115
5116#if LK4_ENABLED
5117 PURE module subroutine setPaddedAsisSR_D1_LK4(array, rpsize, rpfill, failed)
5118#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5119 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D1_LK4
5120#endif
5121 use pm_kind, only: LKG => LK4
5122 logical(LKG) , intent(inout) , allocatable :: array(:)
5123 integer(IK) , intent(in) :: rpsize
5124 logical(LKG) , intent(in) :: rpfill
5125 logical(LK) , intent(out) , optional :: failed
5126 end subroutine
5127#endif
5128
5129#if LK3_ENABLED
5130 PURE module subroutine setPaddedAsisSR_D1_LK3(array, rpsize, rpfill, failed)
5131#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5132 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D1_LK3
5133#endif
5134 use pm_kind, only: LKG => LK3
5135 logical(LKG) , intent(inout) , allocatable :: array(:)
5136 integer(IK) , intent(in) :: rpsize
5137 logical(LKG) , intent(in) :: rpfill
5138 logical(LK) , intent(out) , optional :: failed
5139 end subroutine
5140#endif
5141
5142#if LK2_ENABLED
5143 PURE module subroutine setPaddedAsisSR_D1_LK2(array, rpsize, rpfill, failed)
5144#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5145 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D1_LK2
5146#endif
5147 use pm_kind, only: LKG => LK2
5148 logical(LKG) , intent(inout) , allocatable :: array(:)
5149 integer(IK) , intent(in) :: rpsize
5150 logical(LKG) , intent(in) :: rpfill
5151 logical(LK) , intent(out) , optional :: failed
5152 end subroutine
5153#endif
5154
5155#if LK1_ENABLED
5156 PURE module subroutine setPaddedAsisSR_D1_LK1(array, rpsize, rpfill, failed)
5157#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5158 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D1_LK1
5159#endif
5160 use pm_kind, only: LKG => LK1
5161 logical(LKG) , intent(inout) , allocatable :: array(:)
5162 integer(IK) , intent(in) :: rpsize
5163 logical(LKG) , intent(in) :: rpfill
5164 logical(LK) , intent(out) , optional :: failed
5165 end subroutine
5166#endif
5167
5168 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5169
5170#if CK5_ENABLED
5171 PURE module subroutine setPaddedAsisSR_D1_CK5(array, rpsize, rpfill, failed)
5172#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5173 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D1_CK5
5174#endif
5175 use pm_kind, only: CKG => CK5
5176 complex(CKG) , intent(inout) , allocatable :: array(:)
5177 integer(IK) , intent(in) :: rpsize
5178 complex(CKG) , intent(in) :: rpfill
5179 logical(LK) , intent(out) , optional :: failed
5180 end subroutine
5181#endif
5182
5183#if CK4_ENABLED
5184 PURE module subroutine setPaddedAsisSR_D1_CK4(array, rpsize, rpfill, failed)
5185#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5186 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D1_CK4
5187#endif
5188 use pm_kind, only: CKG => CK4
5189 complex(CKG) , intent(inout) , allocatable :: array(:)
5190 integer(IK) , intent(in) :: rpsize
5191 complex(CKG) , intent(in) :: rpfill
5192 logical(LK) , intent(out) , optional :: failed
5193 end subroutine
5194#endif
5195
5196#if CK3_ENABLED
5197 PURE module subroutine setPaddedAsisSR_D1_CK3(array, rpsize, rpfill, failed)
5198#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5199 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D1_CK3
5200#endif
5201 use pm_kind, only: CKG => CK3
5202 complex(CKG) , intent(inout) , allocatable :: array(:)
5203 integer(IK) , intent(in) :: rpsize
5204 complex(CKG) , intent(in) :: rpfill
5205 logical(LK) , intent(out) , optional :: failed
5206 end subroutine
5207#endif
5208
5209#if CK2_ENABLED
5210 PURE module subroutine setPaddedAsisSR_D1_CK2(array, rpsize, rpfill, failed)
5211#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5212 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D1_CK2
5213#endif
5214 use pm_kind, only: CKG => CK2
5215 complex(CKG) , intent(inout) , allocatable :: array(:)
5216 integer(IK) , intent(in) :: rpsize
5217 complex(CKG) , intent(in) :: rpfill
5218 logical(LK) , intent(out) , optional :: failed
5219 end subroutine
5220#endif
5221
5222#if CK1_ENABLED
5223 PURE module subroutine setPaddedAsisSR_D1_CK1(array, rpsize, rpfill, failed)
5224#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5225 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D1_CK1
5226#endif
5227 use pm_kind, only: CKG => CK1
5228 complex(CKG) , intent(inout) , allocatable :: array(:)
5229 integer(IK) , intent(in) :: rpsize
5230 complex(CKG) , intent(in) :: rpfill
5231 logical(LK) , intent(out) , optional :: failed
5232 end subroutine
5233#endif
5234
5235 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5236
5237#if RK5_ENABLED
5238 PURE module subroutine setPaddedAsisSR_D1_RK5(array, rpsize, rpfill, failed)
5239#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5240 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D1_RK5
5241#endif
5242 use pm_kind, only: RKG => RK5
5243 real(RKG) , intent(inout) , allocatable :: array(:)
5244 integer(IK) , intent(in) :: rpsize
5245 real(RKG) , intent(in) :: rpfill
5246 logical(LK) , intent(out) , optional :: failed
5247 end subroutine
5248#endif
5249
5250#if RK4_ENABLED
5251 PURE module subroutine setPaddedAsisSR_D1_RK4(array, rpsize, rpfill, failed)
5252#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5253 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D1_RK4
5254#endif
5255 use pm_kind, only: RKG => RK4
5256 real(RKG) , intent(inout) , allocatable :: array(:)
5257 integer(IK) , intent(in) :: rpsize
5258 real(RKG) , intent(in) :: rpfill
5259 logical(LK) , intent(out) , optional :: failed
5260 end subroutine
5261#endif
5262
5263#if RK3_ENABLED
5264 PURE module subroutine setPaddedAsisSR_D1_RK3(array, rpsize, rpfill, failed)
5265#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5266 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D1_RK3
5267#endif
5268 use pm_kind, only: RKG => RK3
5269 real(RKG) , intent(inout) , allocatable :: array(:)
5270 integer(IK) , intent(in) :: rpsize
5271 real(RKG) , intent(in) :: rpfill
5272 logical(LK) , intent(out) , optional :: failed
5273 end subroutine
5274#endif
5275
5276#if RK2_ENABLED
5277 PURE module subroutine setPaddedAsisSR_D1_RK2(array, rpsize, rpfill, failed)
5278#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5279 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D1_RK2
5280#endif
5281 use pm_kind, only: RKG => RK2
5282 real(RKG) , intent(inout) , allocatable :: array(:)
5283 integer(IK) , intent(in) :: rpsize
5284 real(RKG) , intent(in) :: rpfill
5285 logical(LK) , intent(out) , optional :: failed
5286 end subroutine
5287#endif
5288
5289#if RK1_ENABLED
5290 PURE module subroutine setPaddedAsisSR_D1_RK1(array, rpsize, rpfill, failed)
5291#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5292 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedAsisSR_D1_RK1
5293#endif
5294 use pm_kind, only: RKG => RK1
5295 real(RKG) , intent(inout) , allocatable :: array(:)
5296 integer(IK) , intent(in) :: rpsize
5297 real(RKG) , intent(in) :: rpfill
5298 logical(LK) , intent(out) , optional :: failed
5299 end subroutine
5300#endif
5301
5302 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5303
5304 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5305 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5306 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5307
5308 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5309
5310#if SK5_ENABLED
5311 PURE module subroutine setPaddedMargSR_D0_SK5(array, rpsize, rpfill, rmsize, rmfill, failed)
5312#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5313 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D0_SK5
5314#endif
5315 use pm_kind, only: SKG => SK5
5316 character(*,SKG) , intent(inout) , allocatable :: array
5317 character(1,SKG) , intent(in) :: rpfill
5318 character(1,SKG) , intent(in) , optional :: rmfill
5319 integer(IK) , intent(in) :: rpsize, rmsize
5320 logical(LK) , intent(out) , optional :: failed
5321 end subroutine
5322#endif
5323
5324#if SK4_ENABLED
5325 PURE module subroutine setPaddedMargSR_D0_SK4(array, rpsize, rpfill, rmsize, rmfill, failed)
5326#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5327 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D0_SK4
5328#endif
5329 use pm_kind, only: SKG => SK4
5330 character(:,SKG) , intent(inout) , allocatable :: array
5331 character(1,SKG) , intent(in) :: rpfill
5332 character(1,SKG) , intent(in) , optional :: rmfill
5333 integer(IK) , intent(in) :: rpsize, rmsize
5334 logical(LK) , intent(out) , optional :: failed
5335 end subroutine
5336#endif
5337
5338#if SK3_ENABLED
5339 PURE module subroutine setPaddedMargSR_D0_SK3(array, rpsize, rpfill, rmsize, rmfill, failed)
5340#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5341 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D0_SK3
5342#endif
5343 use pm_kind, only: SKG => SK3
5344 character(:,SKG) , intent(inout) , allocatable :: array
5345 character(1,SKG) , intent(in) :: rpfill
5346 character(1,SKG) , intent(in) , optional :: rmfill
5347 integer(IK) , intent(in) :: rpsize, rmsize
5348 logical(LK) , intent(out) , optional :: failed
5349 end subroutine
5350#endif
5351
5352#if SK2_ENABLED
5353 PURE module subroutine setPaddedMargSR_D0_SK2(array, rpsize, rpfill, rmsize, rmfill, failed)
5354#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5355 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D0_SK2
5356#endif
5357 use pm_kind, only: SKG => SK2
5358 character(:,SKG) , intent(inout) , allocatable :: array
5359 character(1,SKG) , intent(in) :: rpfill
5360 character(1,SKG) , intent(in) , optional :: rmfill
5361 integer(IK) , intent(in) :: rpsize, rmsize
5362 logical(LK) , intent(out) , optional :: failed
5363 end subroutine
5364#endif
5365
5366#if SK1_ENABLED
5367 PURE module subroutine setPaddedMargSR_D0_SK1(array, rpsize, rpfill, rmsize, rmfill, failed)
5368#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5369 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D0_SK1
5370#endif
5371 use pm_kind, only: SKG => SK1
5372 character(:,SKG) , intent(inout) , allocatable :: array
5373 character(1,SKG) , intent(in) :: rpfill
5374 character(1,SKG) , intent(in) , optional :: rmfill
5375 integer(IK) , intent(in) :: rpsize, rmsize
5376 logical(LK) , intent(out) , optional :: failed
5377 end subroutine
5378#endif
5379
5380 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5381
5382#if SK5_ENABLED
5383 PURE module subroutine setPaddedMargSR_D1_SK5(array, rpsize, rpfill, rmsize, rmfill, failed)
5384#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5385 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D1_SK5
5386#endif
5387 use pm_kind, only: SKG => SK5
5388 character(*,SKG) , intent(inout) , allocatable :: array(:)
5389 character(len(array,IK),SKG), intent(in) :: rpfill
5390 character(len(array,IK),SKG), intent(in) , optional :: rmfill
5391 integer(IK) , intent(in) :: rpsize, rmsize
5392 logical(LK) , intent(out) , optional :: failed
5393 end subroutine
5394#endif
5395
5396#if SK4_ENABLED
5397 PURE module subroutine setPaddedMargSR_D1_SK4(array, rpsize, rpfill, rmsize, rmfill, failed)
5398#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5399 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D1_SK4
5400#endif
5401 use pm_kind, only: SKG => SK4
5402 character(*,SKG) , intent(inout) , allocatable :: array(:)
5403 character(len(array,IK),SKG), intent(in) :: rpfill
5404 character(len(array,IK),SKG), intent(in) , optional :: rmfill
5405 integer(IK) , intent(in) :: rpsize, rmsize
5406 logical(LK) , intent(out) , optional :: failed
5407 end subroutine
5408#endif
5409
5410#if SK3_ENABLED
5411 PURE module subroutine setPaddedMargSR_D1_SK3(array, rpsize, rpfill, rmsize, rmfill, failed)
5412#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5413 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D1_SK3
5414#endif
5415 use pm_kind, only: SKG => SK3
5416 character(*,SKG) , intent(inout) , allocatable :: array(:)
5417 character(len(array,IK),SKG), intent(in) :: rpfill
5418 character(len(array,IK),SKG), intent(in) , optional :: rmfill
5419 integer(IK) , intent(in) :: rpsize, rmsize
5420 logical(LK) , intent(out) , optional :: failed
5421 end subroutine
5422#endif
5423
5424#if SK2_ENABLED
5425 PURE module subroutine setPaddedMargSR_D1_SK2(array, rpsize, rpfill, rmsize, rmfill, failed)
5426#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5427 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D1_SK2
5428#endif
5429 use pm_kind, only: SKG => SK2
5430 character(*,SKG) , intent(inout) , allocatable :: array(:)
5431 character(len(array,IK),SKG), intent(in) :: rpfill
5432 character(len(array,IK),SKG), intent(in) , optional :: rmfill
5433 integer(IK) , intent(in) :: rpsize, rmsize
5434 logical(LK) , intent(out) , optional :: failed
5435 end subroutine
5436#endif
5437
5438#if SK1_ENABLED
5439 PURE module subroutine setPaddedMargSR_D1_SK1(array, rpsize, rpfill, rmsize, rmfill, failed)
5440#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5441 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D1_SK1
5442#endif
5443 use pm_kind, only: SKG => SK1
5444 character(*,SKG) , intent(inout) , allocatable :: array(:)
5445 character(len(array,IK),SKG), intent(in) :: rpfill
5446 character(len(array,IK),SKG), intent(in) , optional :: rmfill
5447 integer(IK) , intent(in) :: rpsize, rmsize
5448 logical(LK) , intent(out) , optional :: failed
5449 end subroutine
5450#endif
5451
5452 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5453
5454#if IK5_ENABLED
5455 PURE module subroutine setPaddedMargSR_D1_IK5(array, rpsize, rpfill, rmsize, rmfill, failed)
5456#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5457 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D1_IK5
5458#endif
5459 use pm_kind, only: IKG => IK5
5460 integer(IKG) , intent(inout) , allocatable :: array(:)
5461 integer(IKG) , intent(in) :: rpfill
5462 integer(IKG) , intent(in) , optional :: rmfill
5463 integer(IK) , intent(in) :: rpsize, rmsize
5464 logical(LK) , intent(out) , optional :: failed
5465 end subroutine
5466#endif
5467
5468#if IK4_ENABLED
5469 PURE module subroutine setPaddedMargSR_D1_IK4(array, rpsize, rpfill, rmsize, rmfill, failed)
5470#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5471 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D1_IK4
5472#endif
5473 use pm_kind, only: IKG => IK4
5474 integer(IKG) , intent(inout) , allocatable :: array(:)
5475 integer(IKG) , intent(in) :: rpfill
5476 integer(IKG) , intent(in) , optional :: rmfill
5477 integer(IK) , intent(in) :: rpsize, rmsize
5478 logical(LK) , intent(out) , optional :: failed
5479 end subroutine
5480#endif
5481
5482#if IK3_ENABLED
5483 PURE module subroutine setPaddedMargSR_D1_IK3(array, rpsize, rpfill, rmsize, rmfill, failed)
5484#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5485 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D1_IK3
5486#endif
5487 use pm_kind, only: IKG => IK3
5488 integer(IKG) , intent(inout) , allocatable :: array(:)
5489 integer(IKG) , intent(in) :: rpfill
5490 integer(IKG) , intent(in) , optional :: rmfill
5491 integer(IK) , intent(in) :: rpsize, rmsize
5492 logical(LK) , intent(out) , optional :: failed
5493 end subroutine
5494#endif
5495
5496#if IK2_ENABLED
5497 PURE module subroutine setPaddedMargSR_D1_IK2(array, rpsize, rpfill, rmsize, rmfill, failed)
5498#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5499 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D1_IK2
5500#endif
5501 use pm_kind, only: IKG => IK2
5502 integer(IKG) , intent(inout) , allocatable :: array(:)
5503 integer(IKG) , intent(in) :: rpfill
5504 integer(IKG) , intent(in) , optional :: rmfill
5505 integer(IK) , intent(in) :: rpsize, rmsize
5506 logical(LK) , intent(out) , optional :: failed
5507 end subroutine
5508#endif
5509
5510#if IK1_ENABLED
5511 PURE module subroutine setPaddedMargSR_D1_IK1(array, rpsize, rpfill, rmsize, rmfill, failed)
5512#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5513 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D1_IK1
5514#endif
5515 use pm_kind, only: IKG => IK1
5516 integer(IKG) , intent(inout) , allocatable :: array(:)
5517 integer(IKG) , intent(in) :: rpfill
5518 integer(IKG) , intent(in) , optional :: rmfill
5519 integer(IK) , intent(in) :: rpsize, rmsize
5520 logical(LK) , intent(out) , optional :: failed
5521 end subroutine
5522#endif
5523
5524 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5525
5526#if LK5_ENABLED
5527 PURE module subroutine setPaddedMargSR_D1_LK5(array, rpsize, rpfill, rmsize, rmfill, failed)
5528#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5529 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D1_LK5
5530#endif
5531 use pm_kind, only: LKG => LK5
5532 logical(LKG) , intent(inout) , allocatable :: array(:)
5533 logical(LKG) , intent(in) :: rpfill
5534 logical(LKG) , intent(in) , optional :: rmfill
5535 integer(IK) , intent(in) :: rpsize, rmsize
5536 logical(LK) , intent(out) , optional :: failed
5537 end subroutine
5538#endif
5539
5540#if LK4_ENABLED
5541 PURE module subroutine setPaddedMargSR_D1_LK4(array, rpsize, rpfill, rmsize, rmfill, failed)
5542#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5543 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D1_LK4
5544#endif
5545 use pm_kind, only: LKG => LK4
5546 logical(LKG) , intent(inout) , allocatable :: array(:)
5547 logical(LKG) , intent(in) :: rpfill
5548 logical(LKG) , intent(in) , optional :: rmfill
5549 integer(IK) , intent(in) :: rpsize, rmsize
5550 logical(LK) , intent(out) , optional :: failed
5551 end subroutine
5552#endif
5553
5554#if LK3_ENABLED
5555 PURE module subroutine setPaddedMargSR_D1_LK3(array, rpsize, rpfill, rmsize, rmfill, failed)
5556#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5557 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D1_LK3
5558#endif
5559 use pm_kind, only: LKG => LK3
5560 logical(LKG) , intent(inout) , allocatable :: array(:)
5561 logical(LKG) , intent(in) :: rpfill
5562 logical(LKG) , intent(in) , optional :: rmfill
5563 integer(IK) , intent(in) :: rpsize, rmsize
5564 logical(LK) , intent(out) , optional :: failed
5565 end subroutine
5566#endif
5567
5568#if LK2_ENABLED
5569 PURE module subroutine setPaddedMargSR_D1_LK2(array, rpsize, rpfill, rmsize, rmfill, failed)
5570#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5571 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D1_LK2
5572#endif
5573 use pm_kind, only: LKG => LK2
5574 logical(LKG) , intent(inout) , allocatable :: array(:)
5575 logical(LKG) , intent(in) :: rpfill
5576 logical(LKG) , intent(in) , optional :: rmfill
5577 integer(IK) , intent(in) :: rpsize, rmsize
5578 logical(LK) , intent(out) , optional :: failed
5579 end subroutine
5580#endif
5581
5582#if LK1_ENABLED
5583 PURE module subroutine setPaddedMargSR_D1_LK1(array, rpsize, rpfill, rmsize, rmfill, failed)
5584#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5585 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D1_LK1
5586#endif
5587 use pm_kind, only: LKG => LK1
5588 logical(LKG) , intent(inout) , allocatable :: array(:)
5589 logical(LKG) , intent(in) :: rpfill
5590 logical(LKG) , intent(in) , optional :: rmfill
5591 integer(IK) , intent(in) :: rpsize, rmsize
5592 logical(LK) , intent(out) , optional :: failed
5593 end subroutine
5594#endif
5595
5596 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5597
5598#if CK5_ENABLED
5599 PURE module subroutine setPaddedMargSR_D1_CK5(array, rpsize, rpfill, rmsize, rmfill, failed)
5600#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5601 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D1_CK5
5602#endif
5603 use pm_kind, only: CKG => CK5
5604 complex(CKG) , intent(inout) , allocatable :: array(:)
5605 complex(CKG) , intent(in) :: rpfill
5606 complex(CKG) , intent(in) , optional :: rmfill
5607 integer(IK) , intent(in) :: rpsize, rmsize
5608 logical(LK) , intent(out) , optional :: failed
5609 end subroutine
5610#endif
5611
5612#if CK4_ENABLED
5613 PURE module subroutine setPaddedMargSR_D1_CK4(array, rpsize, rpfill, rmsize, rmfill, failed)
5614#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5615 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D1_CK4
5616#endif
5617 use pm_kind, only: CKG => CK4
5618 complex(CKG) , intent(inout) , allocatable :: array(:)
5619 complex(CKG) , intent(in) :: rpfill
5620 complex(CKG) , intent(in) , optional :: rmfill
5621 integer(IK) , intent(in) :: rpsize, rmsize
5622 logical(LK) , intent(out) , optional :: failed
5623 end subroutine
5624#endif
5625
5626#if CK3_ENABLED
5627 PURE module subroutine setPaddedMargSR_D1_CK3(array, rpsize, rpfill, rmsize, rmfill, failed)
5628#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5629 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D1_CK3
5630#endif
5631 use pm_kind, only: CKG => CK3
5632 complex(CKG) , intent(inout) , allocatable :: array(:)
5633 complex(CKG) , intent(in) :: rpfill
5634 complex(CKG) , intent(in) , optional :: rmfill
5635 integer(IK) , intent(in) :: rpsize, rmsize
5636 logical(LK) , intent(out) , optional :: failed
5637 end subroutine
5638#endif
5639
5640#if CK2_ENABLED
5641 PURE module subroutine setPaddedMargSR_D1_CK2(array, rpsize, rpfill, rmsize, rmfill, failed)
5642#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5643 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D1_CK2
5644#endif
5645 use pm_kind, only: CKG => CK2
5646 complex(CKG) , intent(inout) , allocatable :: array(:)
5647 complex(CKG) , intent(in) :: rpfill
5648 complex(CKG) , intent(in) , optional :: rmfill
5649 integer(IK) , intent(in) :: rpsize, rmsize
5650 logical(LK) , intent(out) , optional :: failed
5651 end subroutine
5652#endif
5653
5654#if CK1_ENABLED
5655 PURE module subroutine setPaddedMargSR_D1_CK1(array, rpsize, rpfill, rmsize, rmfill, failed)
5656#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5657 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D1_CK1
5658#endif
5659 use pm_kind, only: CKG => CK1
5660 complex(CKG) , intent(inout) , allocatable :: array(:)
5661 complex(CKG) , intent(in) :: rpfill
5662 complex(CKG) , intent(in) , optional :: rmfill
5663 integer(IK) , intent(in) :: rpsize, rmsize
5664 logical(LK) , intent(out) , optional :: failed
5665 end subroutine
5666#endif
5667
5668 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5669
5670#if RK5_ENABLED
5671 PURE module subroutine setPaddedMargSR_D1_RK5(array, rpsize, rpfill, rmsize, rmfill, failed)
5672#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5673 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D1_RK5
5674#endif
5675 use pm_kind, only: RKG => RK5
5676 real(RKG) , intent(inout) , allocatable :: array(:)
5677 real(RKG) , intent(in) :: rpfill
5678 real(RKG) , intent(in) , optional :: rmfill
5679 integer(IK) , intent(in) :: rpsize, rmsize
5680 logical(LK) , intent(out) , optional :: failed
5681 end subroutine
5682#endif
5683
5684#if RK4_ENABLED
5685 PURE module subroutine setPaddedMargSR_D1_RK4(array, rpsize, rpfill, rmsize, rmfill, failed)
5686#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5687 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D1_RK4
5688#endif
5689 use pm_kind, only: RKG => RK4
5690 real(RKG) , intent(inout) , allocatable :: array(:)
5691 real(RKG) , intent(in) :: rpfill
5692 real(RKG) , intent(in) , optional :: rmfill
5693 integer(IK) , intent(in) :: rpsize, rmsize
5694 logical(LK) , intent(out) , optional :: failed
5695 end subroutine
5696#endif
5697
5698#if RK3_ENABLED
5699 PURE module subroutine setPaddedMargSR_D1_RK3(array, rpsize, rpfill, rmsize, rmfill, failed)
5700#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5701 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D1_RK3
5702#endif
5703 use pm_kind, only: RKG => RK3
5704 real(RKG) , intent(inout) , allocatable :: array(:)
5705 real(RKG) , intent(in) :: rpfill
5706 real(RKG) , intent(in) , optional :: rmfill
5707 integer(IK) , intent(in) :: rpsize, rmsize
5708 logical(LK) , intent(out) , optional :: failed
5709 end subroutine
5710#endif
5711
5712#if RK2_ENABLED
5713 PURE module subroutine setPaddedMargSR_D1_RK2(array, rpsize, rpfill, rmsize, rmfill, failed)
5714#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5715 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D1_RK2
5716#endif
5717 use pm_kind, only: RKG => RK2
5718 real(RKG) , intent(inout) , allocatable :: array(:)
5719 real(RKG) , intent(in) :: rpfill
5720 real(RKG) , intent(in) , optional :: rmfill
5721 integer(IK) , intent(in) :: rpsize, rmsize
5722 logical(LK) , intent(out) , optional :: failed
5723 end subroutine
5724#endif
5725
5726#if RK1_ENABLED
5727 PURE module subroutine setPaddedMargSR_D1_RK1(array, rpsize, rpfill, rmsize, rmfill, failed)
5728#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5729 !DEC$ ATTRIBUTES DLLEXPORT :: setPaddedMargSR_D1_RK1
5730#endif
5731 use pm_kind, only: RKG => RK1
5732 real(RKG) , intent(inout) , allocatable :: array(:)
5733 real(RKG) , intent(in) :: rpfill
5734 real(RKG) , intent(in) , optional :: rmfill
5735 integer(IK) , intent(in) :: rpsize, rmsize
5736 logical(LK) , intent(out) , optional :: failed
5737 end subroutine
5738#endif
5739
5740 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5741
5742 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5743 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5744 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5745
5746 end interface
5747
5748!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5749
5750end module pm_arrayPad ! LCOV_EXCL_LINE
Generate a resized copy of the input array by padding it to the left and right with the requested pad...
Generate a resized copy of the input array by padding it to the left with the requested paddings and ...
Generate a resized copy of the input array by padding it to the right with the requested paddings and...
Resize the input array by padding it to the left and right with the requested paddings and optionally...
Resize the input array by padding it to the left with the requested paddings and optionally adding ma...
Resize the input array by padding it to the right with the requested paddings and optionally adding m...
This module contains procedures and generic interfaces for resizing an input array and padding them w...
Definition: pm_arrayPad.F90:30
type(padr_type), parameter padr
Definition: pm_arrayPad.F90:51
character(*, SK), parameter MODULE_NAME
Definition: pm_arrayPad.F90:36
type(padl_type), parameter padl
Definition: pm_arrayPad.F90:47
type(padb_type), parameter padb
Definition: pm_arrayPad.F90:43
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter SK5
Definition: pm_kind.F90:326
integer, parameter LK1
Definition: pm_kind.F90:412
integer, parameter IK3
Definition: pm_kind.F90:368
integer, parameter RK5
Definition: pm_kind.F90:478
integer, parameter RK4
Definition: pm_kind.F90:489
integer, parameter SK1
Definition: pm_kind.F90:346
integer, parameter IK1
Definition: pm_kind.F90:382
integer, parameter LK5
Definition: pm_kind.F90:392
integer, parameter RK2
Definition: pm_kind.F90:511
integer, parameter CK1
Definition: pm_kind.F90:464
integer, parameter RK3
Definition: pm_kind.F90:500
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
Definition: pm_kind.F90:541
integer, parameter LK2
Definition: pm_kind.F90:407
integer, parameter LK4
Definition: pm_kind.F90:397
integer, parameter CK5
Definition: pm_kind.F90:420
integer, parameter CK4
Definition: pm_kind.F90:431
integer, parameter SK4
Definition: pm_kind.F90:331
integer, parameter LK3
Definition: pm_kind.F90:402
integer, parameter IK2
Definition: pm_kind.F90:375
integer, parameter CK2
Definition: pm_kind.F90:453
integer, parameter SK2
Definition: pm_kind.F90:341
integer, parameter CK3
Definition: pm_kind.F90:442
integer, parameter IK
The default integer kind in the ParaMonte library: int32 in Fortran, c_int32_t in C-Fortran Interoper...
Definition: pm_kind.F90:540
integer, parameter IK4
Definition: pm_kind.F90:361
integer, parameter IK5
Definition: pm_kind.F90:354
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
Definition: pm_kind.F90:539
integer, parameter RK1
Definition: pm_kind.F90:522
integer, parameter SK3
Definition: pm_kind.F90:336