TABLE OF CONTENTS


ABINIT/m_copy [ Modules ]

[ Top ] [ Modules ]

NAME

  m_copy

FUNCTION

  This module provides a generic interface used to copy pointers:
  deep_copy: used to return a deep copy of pointers. The procedure is useful if data types
             with several pointers have to be copied.
  addr_copy: used to copy the address contained in a pointer

COPYRIGHT

 Copyright (C) 2008-2018 ABINIT group (MG,MT)
 This file is distributed under the terms of the
 GNU General Public License, see ~abinit/COPYING
 or http://www.gnu.org/copyleft/gpl.txt .

NOTES

  * The intent for pointer arguments is not specified since
    we have to conform to the F90 specifications. However xval is IN while copy is OUT

  * copy is a pointer and is supposed to be *not allocated*.
    If the value to be copied points to null(), also the copy will be nullified.

  * On the alloc_copy routine:
   Since copy is INTENT(OUT), if the associated actual argument is
   currently allocated, the actual argument is deallocated on procedure invocation so that the dummy
   argument has an allocation status of not currently allocated.

PARENTS

CHILDREN

SOURCE

 36 #if defined HAVE_CONFIG_H
 37 #include "config.h"
 38 #endif
 39 
 40 #include "abi_common.h"
 41 
 42 MODULE m_copy
 43 
 44  use defs_basis,  only : dp, spc, dpc
 45  use m_abicore
 46 #if defined HAVE_FC_ISO_C_BINDING
 47  use iso_c_binding, only : c_ptr,c_loc,c_f_pointer
 48 #endif
 49 
 50  implicit none
 51 
 52  private
 53 
 54  public :: deep_copy     ! Performs deep copy of two pointers
 55  public :: alloc_copy    ! Allocate an allocable array and copy data. See notes in alloc_copy_int1d
 56  public :: addr_copy     ! Performs a bitwise copy of a pointer (copy address)
 57 
 58  interface deep_copy
 59   module procedure deep_copy_int0d
 60   module procedure deep_copy_int1d
 61   module procedure deep_copy_int2d
 62   module procedure deep_copy_int3d
 63   module procedure deep_copy_int4d
 64   module procedure deep_copy_rdp0d
 65   module procedure deep_copy_rdp1d
 66   module procedure deep_copy_rdp2d
 67   module procedure deep_copy_rdp3d
 68   module procedure deep_copy_rdp4d
 69   module procedure deep_copy_csp0d
 70   module procedure deep_copy_csp1d
 71   module procedure deep_copy_csp2d
 72   module procedure deep_copy_csp3d
 73   module procedure deep_copy_csp4d
 74   module procedure deep_copy_cdp0d
 75   module procedure deep_copy_cdp1d
 76   module procedure deep_copy_cdp2d
 77   module procedure deep_copy_cdp3d
 78   module procedure deep_copy_cdp4d
 79   module procedure deep_copy_log0d
 80   module procedure deep_copy_log1d
 81   module procedure deep_copy_log2d
 82   module procedure deep_copy_log3d
 83   module procedure deep_copy_log4d
 84   !module procedure deep_copy_ch1d  !Does not work on XLF, do not use it for the time being.
 85  end interface deep_copy
 86 
 87  interface alloc_copy
 88   module procedure alloc_copy_int1d
 89   module procedure alloc_copy_int2d
 90   module procedure alloc_copy_int3d
 91   module procedure alloc_copy_int4d
 92   module procedure alloc_copy_rdp1d
 93   module procedure alloc_copy_rdp2d
 94   module procedure alloc_copy_rdp3d
 95   module procedure alloc_copy_rdp4d
 96   module procedure alloc_copy_rdp5d
 97   module procedure alloc_copy_rdp6d
 98   module procedure alloc_copy_csp1d
 99   module procedure alloc_copy_csp2d
100   module procedure alloc_copy_csp3d
101   module procedure alloc_copy_csp4d
102   module procedure alloc_copy_cdp1d
103   module procedure alloc_copy_cdp2d
104   module procedure alloc_copy_cdp3d
105   module procedure alloc_copy_cdp4d
106   module procedure alloc_copy_log1d
107   module procedure alloc_copy_log2d
108   module procedure alloc_copy_log3d
109   module procedure alloc_copy_log4d
110  end interface alloc_copy
111 
112  interface addr_copy
113   module procedure addr_copy_int1d
114   module procedure addr_copy_int2d
115   module procedure addr_copy_int3d
116   module procedure addr_copy_int4d
117   module procedure addr_copy_dp1d
118   module procedure addr_copy_dp2d
119   module procedure addr_copy_dp3d
120   module procedure addr_copy_dp4d
121   module procedure addr_copy_dp5d
122  end interface addr_copy
123 
124 CONTAINS  !===========================================================

m_copy/addr_copy_dp1d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 addr_copy_dp1d

FUNCTION

  Performs a bitwise copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

2458 subroutine addr_copy_dp1d(xval,copy)
2459 
2460 !Arguments ------------------------------------
2461 
2462 !This section has been created automatically by the script Abilint (TD).
2463 !Do not modify the following lines by hand.
2464 #undef ABI_FUNC
2465 #define ABI_FUNC 'addr_copy_dp1d'
2466 !End of the abilint section
2467 
2468  real(dp),pointer :: xval(:)
2469  real(dp),pointer :: copy(:)
2470 
2471 !Local variables-------------------------------
2472 #if defined HAVE_FC_ISO_C_BINDING
2473  integer :: shp(1)
2474  type(C_PTR) :: ham_ptr
2475 #endif
2476 
2477 ! *********************************************************************
2478 
2479  if (associated(xval)) then
2480 #if defined HAVE_FC_ISO_C_BINDING
2481    shp=shape(xval)
2482    if (product(shp)>0) then
2483      ham_ptr=c_loc(xval(1))
2484      call c_f_pointer(ham_ptr,copy,shp)
2485    else
2486      ABI_ALLOCATE(copy,(0))
2487    end if
2488 #else
2489    copy=transfer(xval,copy)
2490 #endif
2491  else
2492   nullify(copy)
2493  end if
2494 
2495 end subroutine addr_copy_dp1d

m_copy/addr_copy_dp2d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 addr_copy_dp2d

FUNCTION

  Performs a bitwise copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

2514 subroutine addr_copy_dp2d(xval,copy)
2515 
2516 !Arguments ------------------------------------
2517 
2518 !This section has been created automatically by the script Abilint (TD).
2519 !Do not modify the following lines by hand.
2520 #undef ABI_FUNC
2521 #define ABI_FUNC 'addr_copy_dp2d'
2522 !End of the abilint section
2523 
2524  real(dp),pointer :: xval(:,:)
2525  real(dp),pointer :: copy(:,:)
2526 
2527 !Local variables-------------------------------
2528 #if defined HAVE_FC_ISO_C_BINDING
2529  integer :: shp(2)
2530  type(C_PTR) :: ham_ptr
2531 #endif
2532 
2533 ! *********************************************************************
2534 
2535  if (associated(xval)) then
2536 #if defined HAVE_FC_ISO_C_BINDING
2537    shp=shape(xval)
2538    if (product(shp)>0) then
2539      ham_ptr=c_loc(xval(1,1))
2540      call c_f_pointer(ham_ptr,copy,shp)
2541    else
2542      ABI_ALLOCATE(copy,(0,0))
2543    end if
2544 #else
2545    copy=transfer(xval,copy)
2546 #endif
2547  else
2548   nullify(copy)
2549  end if
2550 
2551 end subroutine addr_copy_dp2d

m_copy/addr_copy_dp3d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 addr_copy_dp3d

FUNCTION

  Performs a bitwise copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

2570 subroutine addr_copy_dp3d(xval,copy)
2571 
2572 !Arguments ------------------------------------
2573 
2574 !This section has been created automatically by the script Abilint (TD).
2575 !Do not modify the following lines by hand.
2576 #undef ABI_FUNC
2577 #define ABI_FUNC 'addr_copy_dp3d'
2578 !End of the abilint section
2579 
2580  real(dp),pointer :: xval(:,:,:)
2581  real(dp),pointer :: copy(:,:,:)
2582 
2583 !Local variables-------------------------------
2584 #if defined HAVE_FC_ISO_C_BINDING
2585  integer :: shp(3)
2586  type(C_PTR) :: ham_ptr
2587 #endif
2588 
2589 ! *********************************************************************
2590 
2591  if (associated(xval)) then
2592 #if defined HAVE_FC_ISO_C_BINDING
2593    shp=shape(xval)
2594    if (product(shp)>0) then
2595      ham_ptr=c_loc(xval(1,1,1))
2596      call c_f_pointer(ham_ptr,copy,shp)
2597    else
2598      ABI_ALLOCATE(copy,(0,0,0))
2599    end if
2600 #else
2601    copy=transfer(xval,copy)
2602 #endif
2603  else
2604   nullify(copy)
2605  end if
2606 
2607 end subroutine addr_copy_dp3d

m_copy/addr_copy_dp4d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 addr_copy_dp4d

FUNCTION

  Performs a bitwise copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

2626 subroutine addr_copy_dp4d(xval,copy)
2627 
2628 !Arguments ------------------------------------
2629 
2630 !This section has been created automatically by the script Abilint (TD).
2631 !Do not modify the following lines by hand.
2632 #undef ABI_FUNC
2633 #define ABI_FUNC 'addr_copy_dp4d'
2634 !End of the abilint section
2635 
2636  real(dp),pointer :: xval(:,:,:,:)
2637  real(dp),pointer :: copy(:,:,:,:)
2638 
2639 !Local variables-------------------------------
2640 #if defined HAVE_FC_ISO_C_BINDING
2641  integer :: shp(4)
2642  type(C_PTR) :: ham_ptr
2643 #endif
2644 
2645 ! *********************************************************************
2646 
2647  if (associated(xval)) then
2648 #if defined HAVE_FC_ISO_C_BINDING
2649    shp=shape(xval)
2650    if (product(shp)>0) then
2651      ham_ptr=c_loc(xval(1,1,1,1))
2652      call c_f_pointer(ham_ptr,copy,shp)
2653    else
2654      ABI_ALLOCATE(copy,(0,0,0,0))
2655    end if
2656 #else
2657    copy=transfer(xval,copy)
2658 #endif
2659  else
2660   nullify(copy)
2661  end if
2662 
2663 end subroutine addr_copy_dp4d

m_copy/addr_copy_dp5d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 addr_copy_dp5d

FUNCTION

  Performs a bitwise copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

2682 subroutine addr_copy_dp5d(xval,copy)
2683 
2684 !Arguments ------------------------------------
2685 
2686 !This section has been created automatically by the script Abilint (TD).
2687 !Do not modify the following lines by hand.
2688 #undef ABI_FUNC
2689 #define ABI_FUNC 'addr_copy_dp5d'
2690 !End of the abilint section
2691 
2692  real(dp),pointer :: xval(:,:,:,:,:)
2693  real(dp),pointer :: copy(:,:,:,:,:)
2694 
2695 !Local variables-------------------------------
2696 #if defined HAVE_FC_ISO_C_BINDING
2697  integer :: shp(5)
2698  type(C_PTR) :: ham_ptr
2699 #endif
2700 
2701 ! *********************************************************************
2702 
2703  if (associated(xval)) then
2704 #if defined HAVE_FC_ISO_C_BINDING
2705    shp=shape(xval)
2706    if (product(shp)>0) then
2707      ham_ptr=c_loc(xval(1,1,1,1,1))
2708      call c_f_pointer(ham_ptr,copy,shp)
2709    else
2710      ABI_ALLOCATE(copy,(0,0,0,0,0))
2711    end if
2712 #else
2713    copy=transfer(xval,copy)
2714 #endif
2715  else
2716   nullify(copy)
2717  end if
2718 
2719 end subroutine addr_copy_dp5d

m_copy/addr_copy_int1d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 addr_copy_int1d

FUNCTION

  Performs a bitwise copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

2234 subroutine addr_copy_int1d(xval,copy)
2235 
2236 !Arguments ------------------------------------
2237 
2238 !This section has been created automatically by the script Abilint (TD).
2239 !Do not modify the following lines by hand.
2240 #undef ABI_FUNC
2241 #define ABI_FUNC 'addr_copy_int1d'
2242 !End of the abilint section
2243 
2244  integer,pointer :: xval(:)
2245  integer,pointer :: copy(:)
2246 
2247 !Local variables-------------------------------
2248 #if defined HAVE_FC_ISO_C_BINDING
2249  integer :: shp(1)
2250  type(C_PTR) :: ham_ptr
2251 #endif
2252 
2253 ! *********************************************************************
2254 
2255  if (associated(xval)) then
2256 #if defined HAVE_FC_ISO_C_BINDING
2257    shp=shape(xval)
2258    if (product(shp)>0) then
2259      ham_ptr=c_loc(xval(1))
2260      call c_f_pointer(ham_ptr,copy,shp)
2261    else
2262      ABI_ALLOCATE(copy,(0))
2263    end if
2264 #else
2265    copy=transfer(xval,copy)
2266 #endif
2267  else
2268   nullify(copy)
2269  end if
2270 
2271 end subroutine addr_copy_int1d

m_copy/addr_copy_int2d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 addr_copy_int2d

FUNCTION

  Performs a bitwise copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

2290 subroutine addr_copy_int2d(xval,copy)
2291 
2292 !Arguments ------------------------------------
2293 
2294 !This section has been created automatically by the script Abilint (TD).
2295 !Do not modify the following lines by hand.
2296 #undef ABI_FUNC
2297 #define ABI_FUNC 'addr_copy_int2d'
2298 !End of the abilint section
2299 
2300  integer,pointer :: xval(:,:)
2301  integer,pointer :: copy(:,:)
2302 
2303 !Local variables-------------------------------
2304 #if defined HAVE_FC_ISO_C_BINDING
2305  integer :: shp(2)
2306  type(C_PTR) :: ham_ptr
2307 #endif
2308 
2309 ! *********************************************************************
2310 
2311  if (associated(xval)) then
2312 #if defined HAVE_FC_ISO_C_BINDING
2313    shp=shape(xval)
2314    if (product(shp)>0) then
2315      ham_ptr=c_loc(xval(1,1))
2316      call c_f_pointer(ham_ptr,copy,shp)
2317    else
2318      ABI_ALLOCATE(copy,(0,0))
2319    end if
2320 #else
2321    copy=transfer(xval,copy)
2322 #endif
2323  else
2324   nullify(copy)
2325  end if
2326 
2327 end subroutine addr_copy_int2d

m_copy/addr_copy_int3d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 addr_copy_int3d

FUNCTION

  Performs a bitwise copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

2346 subroutine addr_copy_int3d(xval,copy)
2347 
2348 !Arguments ------------------------------------
2349 
2350 !This section has been created automatically by the script Abilint (TD).
2351 !Do not modify the following lines by hand.
2352 #undef ABI_FUNC
2353 #define ABI_FUNC 'addr_copy_int3d'
2354 !End of the abilint section
2355 
2356  integer,pointer :: xval(:,:,:)
2357  integer,pointer :: copy(:,:,:)
2358 
2359 !Local variables-------------------------------
2360 #if defined HAVE_FC_ISO_C_BINDING
2361  integer :: shp(3)
2362  type(C_PTR) :: ham_ptr
2363 #endif
2364 
2365 ! *********************************************************************
2366 
2367  if (associated(xval)) then
2368 #if defined HAVE_FC_ISO_C_BINDING
2369    shp=shape(xval)
2370    if (product(shp)>0) then
2371      ham_ptr=c_loc(xval(1,1,1))
2372      call c_f_pointer(ham_ptr,copy,shp)
2373    else
2374      ABI_ALLOCATE(copy,(0,0,0))
2375    end if
2376 #else
2377    copy=transfer(xval,copy)
2378 #endif
2379  else
2380   nullify(copy)
2381  end if
2382 
2383 end subroutine addr_copy_int3d

m_copy/addr_copy_int4d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 addr_copy_int4d

FUNCTION

  Performs a bitwise copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

2402 subroutine addr_copy_int4d(xval,copy)
2403 
2404 !Arguments ------------------------------------
2405 
2406 !This section has been created automatically by the script Abilint (TD).
2407 !Do not modify the following lines by hand.
2408 #undef ABI_FUNC
2409 #define ABI_FUNC 'addr_copy_int4d'
2410 !End of the abilint section
2411 
2412  integer,pointer :: xval(:,:,:,:)
2413  integer,pointer :: copy(:,:,:,:)
2414 
2415 !Local variables-------------------------------
2416 #if defined HAVE_FC_ISO_C_BINDING
2417  integer :: shp(4)
2418  type(C_PTR) :: ham_ptr
2419 #endif
2420 
2421 ! *********************************************************************
2422 
2423  if (associated(xval)) then
2424 #if defined HAVE_FC_ISO_C_BINDING
2425    shp=shape(xval)
2426    if (product(shp)>0) then
2427      ham_ptr=c_loc(xval(1,1,1,1))
2428      call c_f_pointer(ham_ptr,copy,shp)
2429    else
2430      ABI_ALLOCATE(copy,(0,0,0,0))
2431    end if
2432 #else
2433    copy=transfer(xval,copy)
2434 #endif
2435  else
2436   nullify(copy)
2437  end if
2438 
2439 end subroutine addr_copy_int4d

m_copy/alloc_copy_cdp1d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 alloc_copy_cdp1d

FUNCTION

  Performs a copy of an array.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

1857 subroutine alloc_copy_cdp1d(xval,copy)
1858 
1859 !Arguments ------------------------------------
1860 
1861 !This section has been created automatically by the script Abilint (TD).
1862 !Do not modify the following lines by hand.
1863 #undef ABI_FUNC
1864 #define ABI_FUNC 'alloc_copy_cdp1d'
1865 !End of the abilint section
1866 
1867  complex(dpc),intent(in) :: xval(:)
1868  complex(dpc),allocatable,intent(out) :: copy(:)
1869 
1870 !Local variables-------------------------------
1871  integer :: il,iu
1872 ! *********************************************************************
1873 
1874  il=lbound(xval,DIM=1); iu=ubound(xval,DIM=1)
1875  ABI_MALLOC(copy,(il:iu))
1876  copy(:)=xval(:)
1877 
1878 end subroutine alloc_copy_cdp1d

m_copy/alloc_copy_cdp2d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 alloc_copy_cdp2d

FUNCTION

  Performs a copy of an array.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

1897 subroutine alloc_copy_cdp2d(xval,copy)
1898 
1899 !Arguments ------------------------------------
1900 
1901 !This section has been created automatically by the script Abilint (TD).
1902 !Do not modify the following lines by hand.
1903 #undef ABI_FUNC
1904 #define ABI_FUNC 'alloc_copy_cdp2d'
1905 !End of the abilint section
1906 
1907  complex(dpc),intent(in) :: xval(:,:)
1908  complex(dpc),allocatable,intent(out) :: copy(:,:)
1909 
1910 !Local variables-------------------------------
1911  integer :: il1,iu1,il2,iu2
1912 ! *********************************************************************
1913 
1914  il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
1915  il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
1916  ABI_MALLOC(copy,(il1:iu1,il2:iu2))
1917  copy(:,:)=xval(:,:)
1918 
1919 end subroutine alloc_copy_cdp2d

m_copy/alloc_copy_cdp3d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 alloc_copy_cdp3d

FUNCTION

  Performs a copy of an array.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

1938 subroutine alloc_copy_cdp3d(xval,copy)
1939 
1940 !Arguments ------------------------------------
1941 
1942 !This section has been created automatically by the script Abilint (TD).
1943 !Do not modify the following lines by hand.
1944 #undef ABI_FUNC
1945 #define ABI_FUNC 'alloc_copy_cdp3d'
1946 !End of the abilint section
1947 
1948  complex(dpc),intent(in) :: xval(:,:,:)
1949  complex(dpc),allocatable,intent(out) :: copy(:,:,:)
1950 
1951 !Local variables-------------------------------
1952  integer :: il1,iu1,il2,iu2,il3,iu3
1953 ! *********************************************************************
1954 
1955  il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
1956  il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
1957  il3=lbound(xval,DIM=3); iu3=ubound(xval,DIM=3)
1958  ABI_MALLOC(copy,(il1:iu1,il2:iu2,il3:iu3))
1959  copy(:,:,:)=xval(:,:,:)
1960 
1961 end subroutine alloc_copy_cdp3d

m_copy/alloc_copy_cdp4d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 alloc_copy_cdp4d

FUNCTION

  Performs a copy of an array.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

1980 subroutine alloc_copy_cdp4d(xval,copy)
1981 
1982 !Arguments ------------------------------------
1983 
1984 !This section has been created automatically by the script Abilint (TD).
1985 !Do not modify the following lines by hand.
1986 #undef ABI_FUNC
1987 #define ABI_FUNC 'alloc_copy_cdp4d'
1988 !End of the abilint section
1989 
1990  complex(dpc),intent(in) :: xval(:,:,:,:)
1991  complex(dpc),allocatable,intent(out) :: copy(:,:,:,:)
1992 
1993 !Local variables-------------------------------
1994  integer :: il1,iu1,il2,iu2,il3,iu3,il4,iu4
1995 ! *********************************************************************
1996 
1997  il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
1998  il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
1999  il3=lbound(xval,DIM=3); iu3=ubound(xval,DIM=3)
2000  il4=lbound(xval,DIM=4); iu4=ubound(xval,DIM=4)
2001  ABI_MALLOC(copy,(il1:iu1,il2:il2,il3:iu3,il4:iu4))
2002  copy(:,:,:,:)=xval(:,:,:,:)
2003 
2004 end subroutine alloc_copy_cdp4d

m_copy/alloc_copy_ch1d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 alloc_copy_ch1d

FUNCTION

  Performs a copy of an array.

NOTES

  This routine segfaults on XLF, disabled for the time being
  Should test whether passing slen fixes the problem

PARENTS

CHILDREN

      c_f_pointer

SOURCE

2027 subroutine alloc_copy_ch1d(xval,copy,slen)
2028 
2029 !Arguments ------------------------------------
2030 
2031 !This section has been created automatically by the script Abilint (TD).
2032 !Do not modify the following lines by hand.
2033 #undef ABI_FUNC
2034 #define ABI_FUNC 'alloc_copy_ch1d'
2035 !End of the abilint section
2036 
2037  integer,intent(in) :: slen
2038  character(len=slen),intent(in) :: xval(:)
2039  character(len=slen),allocatable,intent(out) :: copy(:)
2040 
2041 !Local variables-------------------------------
2042  integer :: il,iu
2043 ! *********************************************************************
2044 
2045  il=lbound(xval,DIM=1); iu=ubound(xval,DIM=1)
2046  ABI_MALLOC(copy,(il:iu))
2047  copy(:)=xval(:)
2048 
2049 end subroutine alloc_copy_ch1d

m_copy/alloc_copy_csp1d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 alloc_copy_csp1d

FUNCTION

  Performs a copy of an array.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

1691 subroutine alloc_copy_csp1d(xval,copy)
1692 
1693 !Arguments ------------------------------------
1694 
1695 !This section has been created automatically by the script Abilint (TD).
1696 !Do not modify the following lines by hand.
1697 #undef ABI_FUNC
1698 #define ABI_FUNC 'alloc_copy_csp1d'
1699 !End of the abilint section
1700 
1701  complex(spc),intent(in) :: xval(:)
1702  complex(spc),allocatable,intent(out) :: copy(:)
1703 
1704 !Local variables-------------------------------
1705  integer :: il,iu
1706 ! *********************************************************************
1707 
1708  il=lbound(xval,DIM=1); iu=ubound(xval,DIM=1)
1709  ABI_MALLOC(copy,(il:iu))
1710  copy(:)=xval(:)
1711 
1712 end subroutine alloc_copy_csp1d

m_copy/alloc_copy_csp2d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 alloc_copy_csp2d

FUNCTION

  Performs a copy of an array.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

1731 subroutine alloc_copy_csp2d(xval,copy)
1732 
1733 !Arguments ------------------------------------
1734 
1735 !This section has been created automatically by the script Abilint (TD).
1736 !Do not modify the following lines by hand.
1737 #undef ABI_FUNC
1738 #define ABI_FUNC 'alloc_copy_csp2d'
1739 !End of the abilint section
1740 
1741  complex(spc),intent(in) :: xval(:,:)
1742  complex(spc),allocatable,intent(out) :: copy(:,:)
1743 
1744 !Local variables-------------------------------
1745  integer :: il1,iu1,il2,iu2
1746 ! *********************************************************************
1747 
1748  il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
1749  il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
1750  ABI_MALLOC(copy,(il1:iu1,il2:iu2))
1751  copy(:,:)=xval(:,:)
1752 
1753 end subroutine alloc_copy_csp2d

m_copy/alloc_copy_csp3d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 alloc_copy_csp3d

FUNCTION

  Performs a copy of an array.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

1772 subroutine alloc_copy_csp3d(xval,copy)
1773 
1774 !Arguments ------------------------------------
1775 
1776 !This section has been created automatically by the script Abilint (TD).
1777 !Do not modify the following lines by hand.
1778 #undef ABI_FUNC
1779 #define ABI_FUNC 'alloc_copy_csp3d'
1780 !End of the abilint section
1781 
1782  complex(spc),intent(in) :: xval(:,:,:)
1783  complex(spc),allocatable,intent(out) :: copy(:,:,:)
1784 
1785 !Local variables-------------------------------
1786  integer :: il1,iu1,il2,iu2,il3,iu3
1787 ! *********************************************************************
1788 
1789  il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
1790  il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
1791  il3=lbound(xval,DIM=3); iu3=ubound(xval,DIM=3)
1792  ABI_MALLOC(copy,(il1:iu1,il2:iu2,il3:iu3))
1793  copy(:,:,:)=xval(:,:,:)
1794 
1795 end subroutine alloc_copy_csp3d

m_copy/alloc_copy_csp4d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 alloc_copy_csp4d

FUNCTION

  Performs a copy of an array.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

1814 subroutine alloc_copy_csp4d(xval,copy)
1815 
1816 !Arguments ------------------------------------
1817 
1818 !This section has been created automatically by the script Abilint (TD).
1819 !Do not modify the following lines by hand.
1820 #undef ABI_FUNC
1821 #define ABI_FUNC 'alloc_copy_csp4d'
1822 !End of the abilint section
1823 
1824  complex(spc),intent(in) :: xval(:,:,:,:)
1825  complex(spc),allocatable,intent(out) :: copy(:,:,:,:)
1826 
1827 !Local variables-------------------------------
1828  integer :: il1,iu1,il2,iu2,il3,iu3,il4,iu4
1829 ! *********************************************************************
1830 
1831  il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
1832  il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
1833  il3=lbound(xval,DIM=3); iu3=ubound(xval,DIM=3)
1834  il4=lbound(xval,DIM=4); iu4=ubound(xval,DIM=4)
1835  ABI_MALLOC(copy,(il1:iu1,il2:iu2,il3:iu3,il4:iu4))
1836  copy(:,:,:,:)=xval(:,:,:,:)
1837 
1838 end subroutine alloc_copy_csp4d

m_copy/alloc_copy_int1d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 alloc_copy_int1d

FUNCTION

  Performs a copy of an array.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

1270 subroutine alloc_copy_int1d(xval,copy)
1271 
1272 !Arguments ------------------------------------
1273 
1274 !This section has been created automatically by the script Abilint (TD).
1275 !Do not modify the following lines by hand.
1276 #undef ABI_FUNC
1277 #define ABI_FUNC 'alloc_copy_int1d'
1278 !End of the abilint section
1279 
1280  integer,intent(in) :: xval(:)
1281  integer,allocatable,intent(out) :: copy(:)
1282 
1283 !Local variables-------------------------------
1284  integer :: il,iu
1285 ! *********************************************************************
1286 
1287  il=lbound(xval,DIM=1); iu=ubound(xval,DIM=1)
1288  ABI_MALLOC(copy,(il:iu))
1289  copy(:)=xval(:)
1290 
1291 end subroutine alloc_copy_int1d

m_copy/alloc_copy_int2d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 alloc_copy_int2d

FUNCTION

  Performs a copy of an array.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

1310 subroutine alloc_copy_int2d(xval,copy)
1311 
1312 !Arguments ------------------------------------
1313 
1314 !This section has been created automatically by the script Abilint (TD).
1315 !Do not modify the following lines by hand.
1316 #undef ABI_FUNC
1317 #define ABI_FUNC 'alloc_copy_int2d'
1318 !End of the abilint section
1319 
1320  integer,intent(in) :: xval(:,:)
1321  integer,allocatable,intent(out) :: copy(:,:)
1322 
1323 !Local variables-------------------------------
1324  integer :: il1,iu1,il2,iu2
1325 ! *********************************************************************
1326 
1327  il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
1328  il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
1329  ABI_MALLOC(copy,(il1:iu1,il2:iu2))
1330  copy(:,:)=xval(:,:)
1331 
1332 end subroutine alloc_copy_int2d

m_copy/alloc_copy_int3d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 alloc_copy_int3d

FUNCTION

  Performs a copy of an array.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

1351 subroutine alloc_copy_int3d(xval,copy)
1352 
1353 !Arguments ------------------------------------
1354 
1355 !This section has been created automatically by the script Abilint (TD).
1356 !Do not modify the following lines by hand.
1357 #undef ABI_FUNC
1358 #define ABI_FUNC 'alloc_copy_int3d'
1359 !End of the abilint section
1360 
1361  integer,intent(in) :: xval(:,:,:)
1362  integer,allocatable,intent(out) :: copy(:,:,:)
1363 
1364 !Local variables-------------------------------
1365  integer :: il1,iu1,il2,iu2,il3,iu3
1366 ! *********************************************************************
1367 
1368  il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
1369  il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
1370  il3=lbound(xval,DIM=3); iu3=ubound(xval,DIM=3)
1371  ABI_MALLOC(copy,(il1:iu1,il2:iu2,il3:iu3))
1372  copy(:,:,:)=xval(:,:,:)
1373 
1374 end subroutine alloc_copy_int3d

m_copy/alloc_copy_int4d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 alloc_copy_int4d

FUNCTION

  Performs a copy of an array.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

1393 subroutine alloc_copy_int4d(xval,copy)
1394 
1395 !Arguments ------------------------------------
1396 
1397 !This section has been created automatically by the script Abilint (TD).
1398 !Do not modify the following lines by hand.
1399 #undef ABI_FUNC
1400 #define ABI_FUNC 'alloc_copy_int4d'
1401 !End of the abilint section
1402 
1403  integer,intent(in) :: xval(:,:,:,:)
1404  integer,allocatable,intent(out) :: copy(:,:,:,:)
1405 
1406 !Local variables-------------------------------
1407  integer :: il1,iu1,il2,iu2,il3,iu3,il4,iu4
1408 ! *********************************************************************
1409 
1410  il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
1411  il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
1412  il3=lbound(xval,DIM=3); iu3=ubound(xval,DIM=3)
1413  il4=lbound(xval,DIM=4); iu4=ubound(xval,DIM=4)
1414  ABI_MALLOC(copy,(il1:iu1,il2:iu2,il3:iu3,il4:iu4))
1415  copy(:,:,:,:)=xval(:,:,:,:)
1416 
1417 end subroutine alloc_copy_int4d

m_copy/alloc_copy_log1d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 alloc_copy_log1d

FUNCTION

  Performs a copy of an array.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

2068 subroutine alloc_copy_log1d(xval,copy)
2069 
2070 !Arguments ------------------------------------
2071 
2072 !This section has been created automatically by the script Abilint (TD).
2073 !Do not modify the following lines by hand.
2074 #undef ABI_FUNC
2075 #define ABI_FUNC 'alloc_copy_log1d'
2076 !End of the abilint section
2077 
2078  logical,intent(in) :: xval(:)
2079  logical,allocatable,intent(out) :: copy(:)
2080 
2081 !Local variables-------------------------------
2082  integer :: il,iu
2083 ! *********************************************************************
2084 
2085  il=lbound(xval,DIM=1); iu=ubound(xval,DIM=1)
2086  ABI_MALLOC(copy,(il:iu))
2087  copy(:)=xval(:)
2088 
2089 end subroutine alloc_copy_log1d

m_copy/alloc_copy_log2d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 alloc_copy_log2d

FUNCTION

  Performs a copy of an array.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

2108 subroutine alloc_copy_log2d(xval,copy)
2109 
2110 !Arguments ------------------------------------
2111 
2112 !This section has been created automatically by the script Abilint (TD).
2113 !Do not modify the following lines by hand.
2114 #undef ABI_FUNC
2115 #define ABI_FUNC 'alloc_copy_log2d'
2116 !End of the abilint section
2117 
2118  logical,intent(in) :: xval(:,:)
2119  logical,allocatable,intent(out) :: copy(:,:)
2120 
2121 !Local variables-------------------------------
2122  integer :: il1,iu1,il2,iu2
2123 ! *********************************************************************
2124 
2125  il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
2126  il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
2127  ABI_MALLOC(copy,(il1:iu1,il2:iu2))
2128  copy(:,:)=xval(:,:)
2129 
2130 end subroutine alloc_copy_log2d

m_copy/alloc_copy_log3d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 alloc_copy_log3d

FUNCTION

  Performs a copy of an array.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

2149 subroutine alloc_copy_log3d(xval,copy)
2150 
2151 !Arguments ------------------------------------
2152 
2153 !This section has been created automatically by the script Abilint (TD).
2154 !Do not modify the following lines by hand.
2155 #undef ABI_FUNC
2156 #define ABI_FUNC 'alloc_copy_log3d'
2157 !End of the abilint section
2158 
2159  logical,intent(in) :: xval(:,:,:)
2160  logical,allocatable,intent(out) :: copy(:,:,:)
2161 
2162 !Local variables-------------------------------
2163  integer :: il1,iu1,il2,iu2,il3,iu3
2164 ! *********************************************************************
2165 
2166  il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
2167  il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
2168  il3=lbound(xval,DIM=3); iu3=ubound(xval,DIM=3)
2169  ABI_MALLOC(copy,(il1:iu1,il2:iu2,il3:iu3))
2170  copy(:,:,:)=xval(:,:,:)
2171 
2172 end subroutine alloc_copy_log3d

m_copy/alloc_copy_log4d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 alloc_copy_log4d

FUNCTION

  Performs a copy of an array.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

2191 subroutine alloc_copy_log4d(xval,copy)
2192 
2193 !Arguments ------------------------------------
2194 
2195 !This section has been created automatically by the script Abilint (TD).
2196 !Do not modify the following lines by hand.
2197 #undef ABI_FUNC
2198 #define ABI_FUNC 'alloc_copy_log4d'
2199 !End of the abilint section
2200 
2201  logical,intent(in) :: xval(:,:,:,:)
2202  logical,allocatable,intent(out) :: copy(:,:,:,:)
2203 
2204 !Local variables-------------------------------
2205  integer :: il1,iu1,il2,iu2,il3,iu3,il4,iu4
2206 ! *********************************************************************
2207 
2208  il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
2209  il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
2210  il3=lbound(xval,DIM=3); iu3=ubound(xval,DIM=3)
2211  il4=lbound(xval,DIM=4); iu4=ubound(xval,DIM=4)
2212  ABI_MALLOC(copy,(il1:iu1,il2:iu2,il3:iu3,il4:iu4))
2213  copy(:,:,:,:)=xval(:,:,:,:)
2214 
2215 end subroutine alloc_copy_log4d

m_copy/alloc_copy_rdp1d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 alloc_copy_rdp1d

FUNCTION

  Performs a copy of an array.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

1436 subroutine alloc_copy_rdp1d(xval,copy)
1437 
1438 !Arguments ------------------------------------
1439 
1440 !This section has been created automatically by the script Abilint (TD).
1441 !Do not modify the following lines by hand.
1442 #undef ABI_FUNC
1443 #define ABI_FUNC 'alloc_copy_rdp1d'
1444 !End of the abilint section
1445 
1446  real(dp),intent(in) :: xval(:)
1447  real(dp),allocatable,intent(out) :: copy(:)
1448 
1449 !Local variables-------------------------------
1450  integer :: il,iu
1451 ! *********************************************************************
1452 
1453  il=lbound(xval,DIM=1); iu=ubound(xval,DIM=1)
1454  ABI_MALLOC(copy,(il:iu))
1455  copy(:)=xval(:)
1456 
1457 end subroutine alloc_copy_rdp1d

m_copy/alloc_copy_rdp2d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 alloc_copy_rdp2d

FUNCTION

  Performs a copy of an array.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

1476 subroutine alloc_copy_rdp2d(xval,copy)
1477 
1478 !Arguments ------------------------------------
1479 
1480 !This section has been created automatically by the script Abilint (TD).
1481 !Do not modify the following lines by hand.
1482 #undef ABI_FUNC
1483 #define ABI_FUNC 'alloc_copy_rdp2d'
1484 !End of the abilint section
1485 
1486  real(dp),intent(in) :: xval(:,:)
1487  real(dp),allocatable,intent(out) :: copy(:,:)
1488 
1489 !Local variables-------------------------------
1490  integer :: il1,iu1,il2,iu2
1491 ! *********************************************************************
1492 
1493  il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
1494  il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
1495  ABI_MALLOC(copy,(il1:iu1,il2:iu2))
1496  copy(:,:)=xval(:,:)
1497 
1498 end subroutine alloc_copy_rdp2d

m_copy/alloc_copy_rdp3d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 alloc_copy_rdp3d

FUNCTION

  Performs a copy of an array.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

1517 subroutine alloc_copy_rdp3d(xval,copy)
1518 
1519 !Arguments ------------------------------------
1520 
1521 !This section has been created automatically by the script Abilint (TD).
1522 !Do not modify the following lines by hand.
1523 #undef ABI_FUNC
1524 #define ABI_FUNC 'alloc_copy_rdp3d'
1525 !End of the abilint section
1526 
1527  real(dp),intent(in) :: xval(:,:,:)
1528  real(dp),allocatable,intent(out) :: copy(:,:,:)
1529 
1530 !Local variables-------------------------------
1531  integer :: il1,iu1,il2,iu2,il3,iu3
1532 ! *********************************************************************
1533 
1534  il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
1535  il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
1536  il3=lbound(xval,DIM=3); iu3=ubound(xval,DIM=3)
1537  ABI_MALLOC(copy,(il1:iu1,il2:iu2,il3:iu3))
1538  copy(:,:,:)=xval(:,:,:)
1539 
1540 end subroutine alloc_copy_rdp3d

m_copy/alloc_copy_rdp4d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 alloc_copy_rdp4d

FUNCTION

  Performs a copy of an array.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

1559 subroutine alloc_copy_rdp4d(xval,copy)
1560 
1561 !Arguments ------------------------------------
1562 
1563 !This section has been created automatically by the script Abilint (TD).
1564 !Do not modify the following lines by hand.
1565 #undef ABI_FUNC
1566 #define ABI_FUNC 'alloc_copy_rdp4d'
1567 !End of the abilint section
1568 
1569  real(dp),intent(in) :: xval(:,:,:,:)
1570  real(dp),allocatable,intent(out) :: copy(:,:,:,:)
1571 
1572 !Local variables-------------------------------
1573  integer :: il1,iu1,il2,iu2,il3,iu3,il4,iu4
1574 ! *********************************************************************
1575 
1576  il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
1577  il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
1578  il3=lbound(xval,DIM=3); iu3=ubound(xval,DIM=3)
1579  il4=lbound(xval,DIM=4); iu4=ubound(xval,DIM=4)
1580  ABI_MALLOC(copy,(il1:iu1,il2:iu2,il3:iu3,il4:iu4))
1581  copy(:,:,:,:)=xval(:,:,:,:)
1582 
1583 end subroutine alloc_copy_rdp4d

m_copy/alloc_copy_rdp5d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 alloc_copy_rdp5d

FUNCTION

  Performs a copy of an array.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

1602 subroutine alloc_copy_rdp5d(xval,copy)
1603 
1604 !Arguments ------------------------------------
1605 
1606 !This section has been created automatically by the script Abilint (TD).
1607 !Do not modify the following lines by hand.
1608 #undef ABI_FUNC
1609 #define ABI_FUNC 'alloc_copy_rdp5d'
1610 !End of the abilint section
1611 
1612  real(dp),intent(in) :: xval(:,:,:,:,:)
1613  real(dp),allocatable,intent(out) :: copy(:,:,:,:,:)
1614 
1615 !Local variables-------------------------------
1616  integer :: il1,iu1,il2,iu2,il3,iu3,il4,iu4,il5,iu5
1617 ! *********************************************************************
1618 
1619  il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
1620  il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
1621  il3=lbound(xval,DIM=3); iu3=ubound(xval,DIM=3)
1622  il4=lbound(xval,DIM=4); iu4=ubound(xval,DIM=4)
1623  il5=lbound(xval,DIM=5); iu5=ubound(xval,DIM=5)
1624  ABI_MALLOC(copy,(il1:iu1,il2:iu2,il3:iu3,il4:iu4,il5:iu5))
1625  copy(:,:,:,:,:)=xval(:,:,:,:,:)
1626 
1627 end subroutine alloc_copy_rdp5d

m_copy/alloc_copy_rdp6d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 alloc_copy_rdp6d

FUNCTION

  Performs a copy of an array.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

1646 subroutine alloc_copy_rdp6d(xval,copy)
1647 
1648 !Arguments ------------------------------------
1649 
1650 !This section has been created automatically by the script Abilint (TD).
1651 !Do not modify the following lines by hand.
1652 #undef ABI_FUNC
1653 #define ABI_FUNC 'alloc_copy_rdp6d'
1654 !End of the abilint section
1655 
1656  real(dp),intent(in) :: xval(:,:,:,:,:,:)
1657  real(dp),allocatable,intent(out) :: copy(:,:,:,:,:,:)
1658 
1659 !Local variables-------------------------------
1660  integer :: il1,iu1,il2,iu2,il3,iu3,il4,iu4,il5,iu5,il6,iu6
1661 ! *********************************************************************
1662 
1663  il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
1664  il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
1665  il3=lbound(xval,DIM=3); iu3=ubound(xval,DIM=3)
1666  il4=lbound(xval,DIM=4); iu4=ubound(xval,DIM=4)
1667  il5=lbound(xval,DIM=5); iu5=ubound(xval,DIM=5)
1668  il6=lbound(xval,DIM=6); iu6=ubound(xval,DIM=6)
1669  ABI_MALLOC(copy,(il1:iu1,il2:iu2,il3:iu3,il4:iu4,il5:iu5,il6:iu6))
1670  copy(:,:,:,:,:,:)=xval(:,:,:,:,:,:)
1671 
1672 end subroutine alloc_copy_rdp6d

m_copy/deep_copy_cdp0d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_cdp0d

FUNCTION

  Performs a deep copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

790 subroutine deep_copy_cdp0d(xval,copy)
791 
792 !Arguments ------------------------------------
793 
794 !This section has been created automatically by the script Abilint (TD).
795 !Do not modify the following lines by hand.
796 #undef ABI_FUNC
797 #define ABI_FUNC 'deep_copy_cdp0d'
798 !End of the abilint section
799 
800  complex(dpc),intent(in) :: xval
801  complex(dpc),intent(out) :: copy
802 ! *********************************************************************
803   copy=xval
804 
805 end subroutine deep_copy_cdp0d

m_copy/deep_copy_cdp1d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_cdp1d

FUNCTION

  Performs a deep copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

824 subroutine deep_copy_cdp1d(xval,copy)
825 
826 !Arguments ------------------------------------
827 
828 !This section has been created automatically by the script Abilint (TD).
829 !Do not modify the following lines by hand.
830 #undef ABI_FUNC
831 #define ABI_FUNC 'deep_copy_cdp1d'
832 !End of the abilint section
833 
834  complex(dpc),pointer :: xval(:)
835  complex(dpc),pointer :: copy(:)
836 
837 !Local variables-------------------------------
838  integer :: il,iu
839 ! *********************************************************************
840 
841  if (associated(xval)) then
842   il=lbound(xval,DIM=1); iu=ubound(xval,DIM=1)
843   ABI_MALLOC(copy,(il:iu))
844   copy(:)=xval(:)
845  else
846   nullify(copy)
847  end if
848 
849 end subroutine deep_copy_cdp1d

m_copy/deep_copy_cdp2d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_cdp2d

FUNCTION

  Performs a deep copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

868 subroutine deep_copy_cdp2d(xval,copy)
869 
870 !Arguments ------------------------------------
871 
872 !This section has been created automatically by the script Abilint (TD).
873 !Do not modify the following lines by hand.
874 #undef ABI_FUNC
875 #define ABI_FUNC 'deep_copy_cdp2d'
876 !End of the abilint section
877 
878  complex(dpc),pointer :: xval(:,:)
879  complex(dpc),pointer :: copy(:,:)
880 
881 !Local variables-------------------------------
882  integer :: il1,iu1,il2,iu2
883 ! *********************************************************************
884 
885  if (associated(xval)) then
886   il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
887   il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
888   ABI_MALLOC(copy,(il1:iu1,il2:iu2))
889   copy(:,:)=xval(:,:)
890  else
891   nullify(copy)
892  end if
893 
894 end subroutine deep_copy_cdp2d

m_copy/deep_copy_cdp3d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_cdp3d

FUNCTION

  Performs a deep copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

913 subroutine deep_copy_cdp3d(xval,copy)
914 
915 !Arguments ------------------------------------
916 
917 !This section has been created automatically by the script Abilint (TD).
918 !Do not modify the following lines by hand.
919 #undef ABI_FUNC
920 #define ABI_FUNC 'deep_copy_cdp3d'
921 !End of the abilint section
922 
923  complex(dpc),pointer :: xval(:,:,:)
924  complex(dpc),pointer :: copy(:,:,:)
925 
926 !Local variables-------------------------------
927  integer :: il1,iu1,il2,iu2,il3,iu3
928 ! *********************************************************************
929 
930  if (associated(xval)) then
931   il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
932   il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
933   il3=lbound(xval,DIM=3); iu3=ubound(xval,DIM=3)
934   ABI_MALLOC(copy,(il1:iu1,il2:iu2,il3:iu3))
935   copy(:,:,:)=xval(:,:,:)
936  else
937   nullify(copy)
938  end if
939 
940 end subroutine deep_copy_cdp3d

m_copy/deep_copy_cdp4d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_cdp4d

FUNCTION

  Performs a deep copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

959 subroutine deep_copy_cdp4d(xval,copy)
960 
961 !Arguments ------------------------------------
962 
963 !This section has been created automatically by the script Abilint (TD).
964 !Do not modify the following lines by hand.
965 #undef ABI_FUNC
966 #define ABI_FUNC 'deep_copy_cdp4d'
967 !End of the abilint section
968 
969  complex(dpc),pointer :: xval(:,:,:,:)
970  complex(dpc),pointer :: copy(:,:,:,:)
971 
972 !Local variables-------------------------------
973  integer :: il1,iu1,il2,iu2,il3,iu3,il4,iu4
974 ! *********************************************************************
975 
976  if (associated(xval)) then
977   il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
978   il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
979   il3=lbound(xval,DIM=3); iu3=ubound(xval,DIM=3)
980   il4=lbound(xval,DIM=4); iu4=ubound(xval,DIM=4)
981   ABI_MALLOC(copy,(il1:iu1,il2:il2,il3:iu3,il4:iu4))
982   copy(:,:,:,:)=xval(:,:,:,:)
983  else
984   nullify(copy)
985  end if
986 
987 end subroutine deep_copy_cdp4d

m_copy/deep_copy_ch1d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_ch1d

FUNCTION

  Performs a deep copy of a pointer.

NOTES

  This routine segfaults on XLF, disabled for the time being
  Should test whether passing slen fixes the problem

PARENTS

CHILDREN

      c_f_pointer

SOURCE

1010 subroutine deep_copy_ch1d(xval,copy,slen)
1011 
1012 !Arguments ------------------------------------
1013 
1014 !This section has been created automatically by the script Abilint (TD).
1015 !Do not modify the following lines by hand.
1016 #undef ABI_FUNC
1017 #define ABI_FUNC 'deep_copy_ch1d'
1018 !End of the abilint section
1019 
1020  integer,intent(in) :: slen
1021  character(len=slen),pointer :: xval(:)
1022  character(len=slen),pointer :: copy(:)
1023 
1024 !Local variables-------------------------------
1025  integer :: il,iu
1026 ! *********************************************************************
1027 
1028  if (associated(xval)) then
1029   il=lbound(xval,DIM=1); iu=ubound(xval,DIM=1)
1030   ABI_MALLOC(copy,(il:iu))
1031   copy(:)=xval(:)
1032  else
1033   nullify(copy)
1034  end if
1035 
1036 end subroutine deep_copy_ch1d

m_copy/deep_copy_csp0d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_csp0d

FUNCTION

  Performs a deep copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

574 subroutine deep_copy_csp0d(xval,copy)
575 
576 !Arguments ------------------------------------
577 
578 !This section has been created automatically by the script Abilint (TD).
579 !Do not modify the following lines by hand.
580 #undef ABI_FUNC
581 #define ABI_FUNC 'deep_copy_csp0d'
582 !End of the abilint section
583 
584  complex(spc),intent(in) :: xval
585  complex(spc),intent(out) :: copy
586 ! *********************************************************************
587   copy=xval
588 
589 end subroutine deep_copy_csp0d

m_copy/deep_copy_csp1d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_csp1d

FUNCTION

  Performs a deep copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

608 subroutine deep_copy_csp1d(xval,copy)
609 
610 !Arguments ------------------------------------
611 
612 !This section has been created automatically by the script Abilint (TD).
613 !Do not modify the following lines by hand.
614 #undef ABI_FUNC
615 #define ABI_FUNC 'deep_copy_csp1d'
616 !End of the abilint section
617 
618  complex(spc),pointer :: xval(:)
619  complex(spc),pointer :: copy(:)
620 
621 !Local variables-------------------------------
622  integer :: il,iu
623 ! *********************************************************************
624 
625  if (associated(xval)) then
626   il=lbound(xval,DIM=1); iu=ubound(xval,DIM=1)
627   ABI_MALLOC(copy,(il:iu))
628   copy(:)=xval(:)
629  else
630   nullify(copy)
631  end if
632 
633 end subroutine deep_copy_csp1d

m_copy/deep_copy_csp2d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_csp2d

FUNCTION

  Performs a deep copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

652 subroutine deep_copy_csp2d(xval,copy)
653 
654 !Arguments ------------------------------------
655 
656 !This section has been created automatically by the script Abilint (TD).
657 !Do not modify the following lines by hand.
658 #undef ABI_FUNC
659 #define ABI_FUNC 'deep_copy_csp2d'
660 !End of the abilint section
661 
662  complex(spc),pointer :: xval(:,:)
663  complex(spc),pointer :: copy(:,:)
664 
665 !Local variables-------------------------------
666  integer :: il1,iu1,il2,iu2
667 ! *********************************************************************
668 
669  if (associated(xval)) then
670   il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
671   il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
672   ABI_MALLOC(copy,(il1:iu1,il2:iu2))
673   copy(:,:)=xval(:,:)
674  else
675   nullify(copy)
676  end if
677 
678 end subroutine deep_copy_csp2d

m_copy/deep_copy_csp3d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_csp3d

FUNCTION

  Performs a deep copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

697 subroutine deep_copy_csp3d(xval,copy)
698 
699 !Arguments ------------------------------------
700 
701 !This section has been created automatically by the script Abilint (TD).
702 !Do not modify the following lines by hand.
703 #undef ABI_FUNC
704 #define ABI_FUNC 'deep_copy_csp3d'
705 !End of the abilint section
706 
707  complex(spc),pointer :: xval(:,:,:)
708  complex(spc),pointer :: copy(:,:,:)
709 
710 !Local variables-------------------------------
711  integer :: il1,iu1,il2,iu2,il3,iu3
712 ! *********************************************************************
713 
714  if (associated(xval)) then
715   il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
716   il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
717   il3=lbound(xval,DIM=3); iu3=ubound(xval,DIM=3)
718   ABI_MALLOC(copy,(il1:iu1,il2:iu2,il3:iu3))
719   copy(:,:,:)=xval(:,:,:)
720  else
721   nullify(copy)
722  end if
723 
724 end subroutine deep_copy_csp3d

m_copy/deep_copy_csp4d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_csp4d

FUNCTION

  Performs a deep copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

743 subroutine deep_copy_csp4d(xval,copy)
744 
745 !Arguments ------------------------------------
746 
747 !This section has been created automatically by the script Abilint (TD).
748 !Do not modify the following lines by hand.
749 #undef ABI_FUNC
750 #define ABI_FUNC 'deep_copy_csp4d'
751 !End of the abilint section
752 
753  complex(spc),pointer :: xval(:,:,:,:)
754  complex(spc),pointer :: copy(:,:,:,:)
755 
756 !Local variables-------------------------------
757  integer :: il1,iu1,il2,iu2,il3,iu3,il4,iu4
758 ! *********************************************************************
759 
760  if (associated(xval)) then
761   il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
762   il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
763   il3=lbound(xval,DIM=3); iu3=ubound(xval,DIM=3)
764   il4=lbound(xval,DIM=4); iu4=ubound(xval,DIM=4)
765   ABI_MALLOC(copy,(il1:iu1,il2:iu2,il3:iu3,il4:iu4))
766   copy(:,:,:,:)=xval(:,:,:,:)
767  else
768   nullify(copy)
769  end if
770 
771 end subroutine deep_copy_csp4d

m_copy/deep_copy_int0d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_int0d

FUNCTION

  Performs a deep copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

141 subroutine deep_copy_int0d(xval,copy)
142 
143 !Arguments ------------------------------------
144 
145 !This section has been created automatically by the script Abilint (TD).
146 !Do not modify the following lines by hand.
147 #undef ABI_FUNC
148 #define ABI_FUNC 'deep_copy_int0d'
149 !End of the abilint section
150 
151  integer,intent(in) :: xval
152  integer,intent(out) :: copy
153 ! *********************************************************************
154 
155   copy=xval
156 
157 end subroutine deep_copy_int0d

m_copy/deep_copy_int1d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_int1d

FUNCTION

  Performs a deep copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

176 subroutine deep_copy_int1d(xval,copy)
177 
178 !Arguments ------------------------------------
179 
180 !This section has been created automatically by the script Abilint (TD).
181 !Do not modify the following lines by hand.
182 #undef ABI_FUNC
183 #define ABI_FUNC 'deep_copy_int1d'
184 !End of the abilint section
185 
186  integer,pointer :: xval(:)
187  integer,pointer :: copy(:)
188 
189 !Local variables-------------------------------
190  integer :: il,iu
191 ! *********************************************************************
192 
193  if (associated(xval)) then
194   il=lbound(xval,DIM=1); iu=ubound(xval,DIM=1)
195   ABI_MALLOC(copy,(il:iu))
196   copy(:)=xval(:)
197  else
198   nullify(copy)
199  end if
200 
201 end subroutine deep_copy_int1d

m_copy/deep_copy_int2d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_int2d

FUNCTION

  Performs a deep copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

220 subroutine deep_copy_int2d(xval,copy)
221 
222 !Arguments ------------------------------------
223 
224 !This section has been created automatically by the script Abilint (TD).
225 !Do not modify the following lines by hand.
226 #undef ABI_FUNC
227 #define ABI_FUNC 'deep_copy_int2d'
228 !End of the abilint section
229 
230  integer,pointer :: xval(:,:)
231  integer,pointer :: copy(:,:)
232 
233 !Local variables-------------------------------
234  integer :: il1,iu1,il2,iu2
235 ! *********************************************************************
236 
237  if (associated(xval)) then
238   il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
239   il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
240   ABI_MALLOC(copy,(il1:iu1,il2:iu2))
241   copy(:,:)=xval(:,:)
242  else
243   nullify(copy)
244  end if
245 
246 end subroutine deep_copy_int2d

m_copy/deep_copy_int3d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_int3d

FUNCTION

  Performs a deep copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

265 subroutine deep_copy_int3d(xval,copy)
266 
267 !Arguments ------------------------------------
268 
269 !This section has been created automatically by the script Abilint (TD).
270 !Do not modify the following lines by hand.
271 #undef ABI_FUNC
272 #define ABI_FUNC 'deep_copy_int3d'
273 !End of the abilint section
274 
275  integer,pointer :: xval(:,:,:)
276  integer,pointer :: copy(:,:,:)
277 
278 !Local variables-------------------------------
279  integer :: il1,iu1,il2,iu2,il3,iu3
280 ! *********************************************************************
281 
282  if (associated(xval)) then
283   il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
284   il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
285   il3=lbound(xval,DIM=3); iu3=ubound(xval,DIM=3)
286   ABI_MALLOC(copy,(il1:iu1,il2:iu2,il3:iu3))
287   copy(:,:,:)=xval(:,:,:)
288  else
289   nullify(copy)
290  end if
291 
292 end subroutine deep_copy_int3d

m_copy/deep_copy_int4d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_int4d

FUNCTION

  Performs a deep copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

311 subroutine deep_copy_int4d(xval,copy)
312 
313 !Arguments ------------------------------------
314 
315 !This section has been created automatically by the script Abilint (TD).
316 !Do not modify the following lines by hand.
317 #undef ABI_FUNC
318 #define ABI_FUNC 'deep_copy_int4d'
319 !End of the abilint section
320 
321  integer,pointer :: xval(:,:,:,:)
322  integer,pointer :: copy(:,:,:,:)
323 
324 !Local variables-------------------------------
325  integer :: il1,iu1,il2,iu2,il3,iu3,il4,iu4
326 ! *********************************************************************
327 
328  if (associated(xval)) then
329   il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
330   il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
331   il3=lbound(xval,DIM=3); iu3=ubound(xval,DIM=3)
332   il4=lbound(xval,DIM=4); iu4=ubound(xval,DIM=4)
333   ABI_MALLOC(copy,(il1:iu1,il2:iu2,il3:iu3,il4:iu4))
334   copy(:,:,:,:)=xval(:,:,:,:)
335  else
336   nullify(copy)
337  end if
338 
339 end subroutine deep_copy_int4d

m_copy/deep_copy_log0d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_log0d

FUNCTION

  Performs a deep copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

1053 subroutine deep_copy_log0d(xval,copy)
1054 
1055 !Arguments ------------------------------------
1056 
1057 !This section has been created automatically by the script Abilint (TD).
1058 !Do not modify the following lines by hand.
1059 #undef ABI_FUNC
1060 #define ABI_FUNC 'deep_copy_log0d'
1061 !End of the abilint section
1062 
1063  logical,intent(in) :: xval
1064  logical,intent(out) :: copy
1065 ! *********************************************************************
1066 
1067   copy=xval
1068 
1069 end subroutine deep_copy_log0d

m_copy/deep_copy_log1d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_log1d

FUNCTION

  Performs a deep copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

1088 subroutine deep_copy_log1d(xval,copy)
1089 
1090 !Arguments ------------------------------------
1091 
1092 !This section has been created automatically by the script Abilint (TD).
1093 !Do not modify the following lines by hand.
1094 #undef ABI_FUNC
1095 #define ABI_FUNC 'deep_copy_log1d'
1096 !End of the abilint section
1097 
1098  logical,pointer :: xval(:)
1099  logical,pointer :: copy(:)
1100 
1101 !Local variables-------------------------------
1102  integer :: il,iu
1103 ! *********************************************************************
1104 
1105  if (associated(xval)) then
1106   il=lbound(xval,DIM=1); iu=ubound(xval,DIM=1)
1107   ABI_MALLOC(copy,(il:iu))
1108   copy(:)=xval(:)
1109  else
1110   nullify(copy)
1111  end if
1112 
1113 end subroutine deep_copy_log1d

m_copy/deep_copy_log2d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_log2d

FUNCTION

  Performs a deep copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

1132 subroutine deep_copy_log2d(xval,copy)
1133 
1134 !Arguments ------------------------------------
1135 
1136 !This section has been created automatically by the script Abilint (TD).
1137 !Do not modify the following lines by hand.
1138 #undef ABI_FUNC
1139 #define ABI_FUNC 'deep_copy_log2d'
1140 !End of the abilint section
1141 
1142  logical,pointer :: xval(:,:)
1143  logical,pointer :: copy(:,:)
1144 
1145 !Local variables-------------------------------
1146  integer :: il1,iu1,il2,iu2
1147 ! *********************************************************************
1148 
1149  if (associated(xval)) then
1150   il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
1151   il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
1152   ABI_MALLOC(copy,(il1:iu1,il2:iu2))
1153   copy(:,:)=xval(:,:)
1154  else
1155   nullify(copy)
1156  end if
1157 
1158 end subroutine deep_copy_log2d

m_copy/deep_copy_log3d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_log3d

FUNCTION

  Performs a deep copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

1177 subroutine deep_copy_log3d(xval,copy)
1178 
1179 !Arguments ------------------------------------
1180 
1181 !This section has been created automatically by the script Abilint (TD).
1182 !Do not modify the following lines by hand.
1183 #undef ABI_FUNC
1184 #define ABI_FUNC 'deep_copy_log3d'
1185 !End of the abilint section
1186 
1187  logical,pointer :: xval(:,:,:)
1188  logical,pointer :: copy(:,:,:)
1189 
1190 !Local variables-------------------------------
1191  integer :: il1,iu1,il2,iu2,il3,iu3
1192 ! *********************************************************************
1193 
1194  if (associated(xval)) then
1195   il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
1196   il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
1197   il3=lbound(xval,DIM=3); iu3=ubound(xval,DIM=3)
1198   ABI_MALLOC(copy,(il1:iu1,il2:iu2,il3:iu3))
1199   copy(:,:,:)=xval(:,:,:)
1200  else
1201   nullify(copy)
1202  end if
1203 
1204 end subroutine deep_copy_log3d

m_copy/deep_copy_log4d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_log4d

FUNCTION

  Performs a deep copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

1223 subroutine deep_copy_log4d(xval,copy)
1224 
1225 !Arguments ------------------------------------
1226 
1227 !This section has been created automatically by the script Abilint (TD).
1228 !Do not modify the following lines by hand.
1229 #undef ABI_FUNC
1230 #define ABI_FUNC 'deep_copy_log4d'
1231 !End of the abilint section
1232 
1233  logical,pointer :: xval(:,:,:,:)
1234  logical,pointer :: copy(:,:,:,:)
1235 
1236 !Local variables-------------------------------
1237  integer :: il1,iu1,il2,iu2,il3,iu3,il4,iu4
1238 ! *********************************************************************
1239 
1240  if (associated(xval)) then
1241   il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
1242   il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
1243   il3=lbound(xval,DIM=3); iu3=ubound(xval,DIM=3)
1244   il4=lbound(xval,DIM=4); iu4=ubound(xval,DIM=4)
1245   ABI_MALLOC(copy,(il1:iu1,il2:iu2,il3:iu3,il4:iu4))
1246   copy(:,:,:,:)=xval(:,:,:,:)
1247  else
1248   nullify(copy)
1249  end if
1250 
1251 end subroutine deep_copy_log4d

m_copy/deep_copy_rdp0d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_rdp0d

FUNCTION

  Performs a deep copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

358 subroutine deep_copy_rdp0d(xval,copy)
359 
360 !Arguments ------------------------------------
361 
362 !This section has been created automatically by the script Abilint (TD).
363 !Do not modify the following lines by hand.
364 #undef ABI_FUNC
365 #define ABI_FUNC 'deep_copy_rdp0d'
366 !End of the abilint section
367 
368  real(dp),intent(in) :: xval
369  real(dp),intent(out) :: copy
370 ! *********************************************************************
371   copy=xval
372 
373 end subroutine deep_copy_rdp0d

m_copy/deep_copy_rdp1d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_rdp1d

FUNCTION

  Performs a deep copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

392 subroutine deep_copy_rdp1d(xval,copy)
393 
394 !Arguments ------------------------------------
395 
396 !This section has been created automatically by the script Abilint (TD).
397 !Do not modify the following lines by hand.
398 #undef ABI_FUNC
399 #define ABI_FUNC 'deep_copy_rdp1d'
400 !End of the abilint section
401 
402  real(dp),pointer :: xval(:)
403  real(dp),pointer :: copy(:)
404 
405 !Local variables-------------------------------
406  integer :: il,iu
407 ! *********************************************************************
408 
409  if (associated(xval)) then
410   il=lbound(xval,DIM=1); iu=ubound(xval,DIM=1)
411   ABI_MALLOC(copy,(il:iu))
412   copy(:)=xval(:)
413  else
414   nullify(copy)
415  end if
416 
417 end subroutine deep_copy_rdp1d

m_copy/deep_copy_rdp2d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_rdp2d

FUNCTION

  Performs a deep copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

436 subroutine deep_copy_rdp2d(xval,copy)
437 
438 !Arguments ------------------------------------
439 
440 !This section has been created automatically by the script Abilint (TD).
441 !Do not modify the following lines by hand.
442 #undef ABI_FUNC
443 #define ABI_FUNC 'deep_copy_rdp2d'
444 !End of the abilint section
445 
446  real(dp),pointer :: xval(:,:)
447  real(dp),pointer :: copy(:,:)
448 
449 !Local variables-------------------------------
450  integer :: il1,iu1,il2,iu2
451 ! *********************************************************************
452 
453  if (associated(xval)) then
454   il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
455   il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
456   ABI_MALLOC(copy,(il1:iu1,il2:iu2))
457   copy(:,:)=xval(:,:)
458  else
459   nullify(copy)
460  end if
461 
462 end subroutine deep_copy_rdp2d

m_copy/deep_copy_rdp3d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_rdp3d

FUNCTION

  Performs a deep copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

481 subroutine deep_copy_rdp3d(xval,copy)
482 
483 !Arguments ------------------------------------
484 
485 !This section has been created automatically by the script Abilint (TD).
486 !Do not modify the following lines by hand.
487 #undef ABI_FUNC
488 #define ABI_FUNC 'deep_copy_rdp3d'
489 !End of the abilint section
490 
491  real(dp),pointer :: xval(:,:,:)
492  real(dp),pointer :: copy(:,:,:)
493 
494 !Local variables-------------------------------
495  integer :: il1,iu1,il2,iu2,il3,iu3
496 ! *********************************************************************
497 
498  if (associated(xval)) then
499   il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
500   il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
501   il3=lbound(xval,DIM=3); iu3=ubound(xval,DIM=3)
502   ABI_MALLOC(copy,(il1:iu1,il2:iu2,il3:iu3))
503   copy(:,:,:)=xval(:,:,:)
504  else
505   nullify(copy)
506  end if
507 
508 end subroutine deep_copy_rdp3d

m_copy/deep_copy_rdp4d [ Functions ]

[ Top ] [ m_copy ] [ Functions ]

NAME

 deep_copy_rdp4d

FUNCTION

  Performs a deep copy of a pointer.

PARENTS

CHILDREN

      c_f_pointer

SOURCE

527 subroutine deep_copy_rdp4d(xval,copy)
528 
529 !Arguments ------------------------------------
530 
531 !This section has been created automatically by the script Abilint (TD).
532 !Do not modify the following lines by hand.
533 #undef ABI_FUNC
534 #define ABI_FUNC 'deep_copy_rdp4d'
535 !End of the abilint section
536 
537  real(dp),pointer :: xval(:,:,:,:)
538  real(dp),pointer :: copy(:,:,:,:)
539 
540 !Local variables-------------------------------
541  integer :: il1,iu1,il2,iu2,il3,iu3,il4,iu4
542 ! *********************************************************************
543 
544  if (associated(xval)) then
545   il1=lbound(xval,DIM=1); iu1=ubound(xval,DIM=1)
546   il2=lbound(xval,DIM=2); iu2=ubound(xval,DIM=2)
547   il3=lbound(xval,DIM=3); iu3=ubound(xval,DIM=3)
548   il4=lbound(xval,DIM=4); iu4=ubound(xval,DIM=4)
549   ABI_MALLOC(copy,(il1:iu1,il2:iu2,il3:iu3,il4:iu4))
550   copy(:,:,:,:)=xval(:,:,:,:)
551  else
552   nullify(copy)
553  end if
554 
555 end subroutine deep_copy_rdp4d