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,