Documentation for module memory_utilities

Utility routines for the memory handling. Uses stop_memory to handle exceptions

source: memory_utilities.F
Loading...

Generic procedures:

reallocate

Generic procedure reallocate

...

COMPLEX(dp),
POINTER
:: p(:) ×
COMPLEX(dp),
POINTER
:: p(:,:) ×
COMPLEX(dp),
POINTER
:: p(:,:,:) ×
COMPLEX(dp),
POINTER
:: p(:,:,:,:) ×
INTEGER,
POINTER
:: p(:) ×
INTEGER,
POINTER
:: p(:,:) ×
INTEGER,
POINTER
:: p(:,:,:) ×
INTEGER,
POINTER
:: p(:,:,:,:) ×
REAL(dp),
POINTER
:: p(:) ×
REAL(dp),
POINTER
:: p(:,:) ×
REAL(dp),
POINTER
:: p(:,:,:) ×
REAL(dp),
POINTER
:: p(:,:,:,:) ×
REAL(dp),
POINTER
:: p(:,:,:,:,:) ×
LOGICAL,
POINTER
:: p(:) ×
INTEGER(int_8),
POINTER
:: p(:) ×
INTEGER(int_8),
POINTER
:: p(:,:) ×
INTEGER,
INTENT(in)
:: lb1_new × × × × × × × × × × × × × × × ×
INTEGER,
INTENT(in)
:: ub1_new × × × × × × × × × × × × × × × ×
INTEGER,
INTENT(in)
:: lb2_new × × × × × × × × × × ×
INTEGER,
INTENT(in)
:: ub2_new × × × × × × × × × × ×
INTEGER,
INTENT(in)
:: lb3_new × × × × × × ×
INTEGER,
INTENT(in)
:: ub3_new × × × × × × ×
INTEGER,
INTENT(in)
:: lb4_new × × × ×
INTEGER,
INTENT(in)
:: ub4_new × × × ×
INTEGER,
INTENT(in)
:: lb5_new ×
INTEGER,
INTENT(in)
:: ub5_new ×
OPTIONAL, POINTER
:: p_short(:) ×
INTEGER,
INTENT(in)
:: lb_new ×
INTEGER,
INTENT(in)
:: ub_new ×
OPTIONAL, POINTER
:: p_long(:) ×

SUBROUTINEreallocate_c1(p, lb1_new, ub1_new)

(Re)Allocate a complex vector with a new dimension

Arguments:
COMPLEX(dp),
POINTER
:: p(:) ...
INTEGER,
INTENT(in)
:: lb1_new ...
INTEGER,
INTENT(in)
:: ub1_new ...

SUBROUTINEreallocate_c2(p, lb1_new, ub1_new, lb2_new, ub2_new)

(Re)Allocate a complex array 2D with a new dimension

Arguments:
COMPLEX(dp),
POINTER
:: p(:,:) ...
INTEGER,
INTENT(in)
:: lb1_new ...
INTEGER,
INTENT(in)
:: ub1_new ...
INTEGER,
INTENT(in)
:: lb2_new ...
INTEGER,
INTENT(in)
:: ub2_new ...

SUBROUTINEreallocate_c3(p, lb1_new, ub1_new, lb2_new, ub2_new, lb3_new, ub3_new)

(Re)Allocate a complex array 3D with a new dimension

Arguments:
COMPLEX(dp),
POINTER
:: p(:,:,:) ...
INTEGER,
INTENT(in)
:: lb1_new ...
INTEGER,
INTENT(in)
:: ub1_new ...
INTEGER,
INTENT(in)
:: lb2_new ...
INTEGER,
INTENT(in)
:: ub2_new ...
INTEGER,
INTENT(in)
:: lb3_new ...
INTEGER,
INTENT(in)
:: ub3_new ...

SUBROUTINEreallocate_c4(p, lb1_new, ub1_new, lb2_new, ub2_new, lb3_new, ub3_new, lb4_new, ub4_new)

(Re)Allocate a complex array 4D with a new dimension

Arguments:
COMPLEX(dp),
POINTER
:: p(:,:,:,:) ...
INTEGER,
INTENT(in)
:: lb1_new ...
INTEGER,
INTENT(in)
:: ub1_new ...
INTEGER,
INTENT(in)
:: lb2_new ...
INTEGER,
INTENT(in)
:: ub2_new ...
INTEGER,
INTENT(in)
:: lb3_new ...
INTEGER,
INTENT(in)
:: ub3_new ...
INTEGER,
INTENT(in)
:: lb4_new ...
INTEGER,
INTENT(in)
:: ub4_new ...

SUBROUTINEreallocate_i1(p, lb1_new, ub1_new)

(Re)Allocate an integer vector with a new dimension.

Arguments:
INTEGER,
POINTER
:: p(:) ...
INTEGER,
INTENT(in)
:: lb1_new ...
INTEGER,
INTENT(in)
:: ub1_new ...

SUBROUTINEreallocate_i2(p, lb1_new, ub1_new, lb2_new, ub2_new)

(Re)Allocate an integer array with a new dimension.

Arguments:
INTEGER,
POINTER
:: p(:,:) ...
INTEGER,
INTENT(in)
:: lb1_new ...
INTEGER,
INTENT(in)
:: ub1_new ...
INTEGER,
INTENT(in)
:: lb2_new ...
INTEGER,
INTENT(in)
:: ub2_new ...

SUBROUTINEreallocate_i3(p, lb1_new, ub1_new, lb2_new, ub2_new, lb3_new, ub3_new)

(Re)Allocate an integer array 3D with a new dimension.

Arguments:
INTEGER,
POINTER
:: p(:,:,:) ...
INTEGER,
INTENT(in)
:: lb1_new ...
INTEGER,
INTENT(in)
:: ub1_new ...
INTEGER,
INTENT(in)
:: lb2_new ...
INTEGER,
INTENT(in)
:: ub2_new ...
INTEGER,
INTENT(in)
:: lb3_new ...
INTEGER,
INTENT(in)
:: ub3_new ...

SUBROUTINEreallocate_i4(p, lb1_new, ub1_new, lb2_new, ub2_new, lb3_new, ub3_new, lb4_new, ub4_new)

(Re)Allocate an integer array 3D with a new dimension.

Arguments:
INTEGER,
POINTER
:: p(:,:,:,:) ...
INTEGER,
INTENT(in)
:: lb1_new ...
INTEGER,
INTENT(in)
:: ub1_new ...
INTEGER,
INTENT(in)
:: lb2_new ...
INTEGER,
INTENT(in)
:: ub2_new ...
INTEGER,
INTENT(in)
:: lb3_new ...
INTEGER,
INTENT(in)
:: ub3_new ...
INTEGER,
INTENT(in)
:: lb4_new ...
INTEGER,
INTENT(in)
:: ub4_new ...

SUBROUTINEreallocate_r1(p, lb1_new, ub1_new)

(Re)Allocate an real vector with a new dimension.

Arguments:
REAL(dp),
POINTER
:: p(:) ...
INTEGER,
INTENT(in)
:: lb1_new ...
INTEGER,
INTENT(in)
:: ub1_new ...

SUBROUTINEreallocate_r2(p, lb1_new, ub1_new, lb2_new, ub2_new)

(Re)Allocate an real array with new dimensions.

Arguments:
REAL(dp),
POINTER
:: p(:,:) ...
INTEGER,
INTENT(in)
:: lb1_new ...
INTEGER,
INTENT(in)
:: ub1_new ...
INTEGER,
INTENT(in)
:: lb2_new ...
INTEGER,
INTENT(in)
:: ub2_new ...

SUBROUTINEreallocate_r3(p, lb1_new, ub1_new, lb2_new, ub2_new, lb3_new, ub3_new)

(Re)Allocate an real array 3D with new dimensions.

Arguments:
REAL(dp),
POINTER
:: p(:,:,:) ...
INTEGER,
INTENT(in)
:: lb1_new ...
INTEGER,
INTENT(in)
:: ub1_new ...
INTEGER,
INTENT(in)
:: lb2_new ...
INTEGER,
INTENT(in)
:: ub2_new ...
INTEGER,
INTENT(in)
:: lb3_new ...
INTEGER,
INTENT(in)
:: ub3_new ...

SUBROUTINEreallocate_r4(p, lb1_new, ub1_new, lb2_new, ub2_new, lb3_new, ub3_new, lb4_new, ub4_new)

(Re)Allocate an real array 4D with new dimensions.

Arguments:
REAL(dp),
POINTER
:: p(:,:,:,:) ...
INTEGER,
INTENT(in)
:: lb1_new ...
INTEGER,
INTENT(in)
:: ub1_new ...
INTEGER,
INTENT(in)
:: lb2_new ...
INTEGER,
INTENT(in)
:: ub2_new ...
INTEGER,
INTENT(in)
:: lb3_new ...
INTEGER,
INTENT(in)
:: ub3_new ...
INTEGER,
INTENT(in)
:: lb4_new ...
INTEGER,
INTENT(in)
:: ub4_new ...

SUBROUTINEreallocate_r5(p, lb1_new, ub1_new, lb2_new, ub2_new, lb3_new, ub3_new, lb4_new, ub4_new, lb5_new, ub5_new)

(Re)Allocate an real array 5D with new dimensions.

Arguments:
REAL(dp),
POINTER
:: p(:,:,:,:,:) ...
INTEGER,
INTENT(in)
:: lb1_new ...
INTEGER,
INTENT(in)
:: ub1_new ...
INTEGER,
INTENT(in)
:: lb2_new ...
INTEGER,
INTENT(in)
:: ub2_new ...
INTEGER,
INTENT(in)
:: lb3_new ...
INTEGER,
INTENT(in)
:: ub3_new ...
INTEGER,
INTENT(in)
:: lb4_new ...
INTEGER,
INTENT(in)
:: ub4_new ...
INTEGER,
INTENT(in)
:: lb5_new ...
INTEGER,
INTENT(in)
:: ub5_new ...

SUBROUTINEreallocate_s1(p_short, lb_new, ub_new, p_long)

(Re)Allocate a vector of string variables

Arguments:
OPTIONAL, POINTER
:: p_short(:) ...
INTEGER,
INTENT(in)
:: lb_new ...
INTEGER,
INTENT(in)
:: ub_new ...
OPTIONAL, POINTER
:: p_long(:) ...

SUBROUTINEreallocate_l1(p, lb1_new, ub1_new)

(Re)Allocate a logical vector with a new dimension.

Arguments:
LOGICAL,
POINTER
:: p(:) ...
INTEGER,
INTENT(in)
:: lb1_new ...
INTEGER,
INTENT(in)
:: ub1_new ...

SUBROUTINEreallocate_8i1(p, lb1_new, ub1_new)

(Re)Allocate an integer (int_8) vector with a new dimension.

Arguments:
INTEGER(int_8),
POINTER
:: p(:) ...
INTEGER,
INTENT(in)
:: lb1_new ...
INTEGER,
INTENT(in)
:: ub1_new ...

SUBROUTINEreallocate_8i2(p, lb1_new, ub1_new, lb2_new, ub2_new)

(Re)Allocate an integer (int_8) array with a new dimension.

Arguments:
INTEGER(int_8),
POINTER
:: p(:,:) ...
INTEGER,
INTENT(in)
:: lb1_new ...
INTEGER,
INTENT(in)
:: ub1_new ...
INTEGER,
INTENT(in)
:: lb2_new ...
INTEGER,
INTENT(in)
:: ub2_new ...