shared_ragged_array Module



Contents


Derived Types

type, private ::  auxiliary_real_t

Components

Type Visibility Attributes Name Initial
real(kind=dp), public, pointer :: res(:) => null()

type, public ::  shared_ragged_array_real_t

Shared memory 2-D array template with non-uniform 2nd dimension (“ragged”) of type real

Components

Type Visibility Attributes Name Initial
type(shared_array_real_t), private :: data_array
type(auxiliary_real_t), private, allocatable :: ptr(:)
integer(kind=int64), private, allocatable :: store_sizes(:)

Type-Bound Procedures

generic, public , :: shared_alloc => shared_alloc_real_int32
generic, public , :: sub => pos_1d_real_int32, pos_2d_real_int32
generic, public , :: set_val => set_val_real_int32
procedure , public , :: shared_alloc_real_int32 Subroutine
procedure , public , :: pos_1d_real_int32 Function
procedure , public , :: pos_2d_real_int32 Function
procedure , public , :: set_val_real_int32 Subroutine
generic, public , :: shared_alloc => shared_alloc_real_int64
generic, public , :: sub => pos_1d_real_int64, pos_2d_real_int64
generic, public , :: set_val => set_val_real_int64
procedure , public , :: shared_alloc_real_int64 Subroutine
procedure , public , :: pos_1d_real_int64 Function
procedure , public , :: pos_2d_real_int64 Function
procedure , public , :: set_val_real_int64 Subroutine
procedure , public , :: shared_dealloc => shared_dealloc_real Subroutine
procedure , public , :: sync => sync_real Subroutine
procedure , public , :: reassign_pointers => reassign_pointers_real Subroutine

type, private ::  auxiliary_int64_t

Components

Type Visibility Attributes Name Initial
integer(kind=int64), public, pointer :: res(:) => null()

type, public ::  shared_ragged_array_int64_t

Shared memory 2-D array template with non-uniform 2nd dimension (“ragged”) of type int64

Components

Type Visibility Attributes Name Initial
type(shared_array_int64_t), private :: data_array
type(auxiliary_int64_t), private, allocatable :: ptr(:)
integer(kind=int64), private, allocatable :: store_sizes(:)

Type-Bound Procedures

generic, public , :: shared_alloc => shared_alloc_int64_int32
generic, public , :: sub => pos_1d_int64_int32, pos_2d_int64_int32
generic, public , :: set_val => set_val_int64_int32
procedure , public , :: shared_alloc_int64_int32 Subroutine
procedure , public , :: pos_1d_int64_int32 Function
procedure , public , :: pos_2d_int64_int32 Function
procedure , public , :: set_val_int64_int32 Subroutine
generic, public , :: shared_alloc => shared_alloc_int64_int64
generic, public , :: sub => pos_1d_int64_int64, pos_2d_int64_int64
generic, public , :: set_val => set_val_int64_int64
procedure , public , :: shared_alloc_int64_int64 Subroutine
procedure , public , :: pos_1d_int64_int64 Function
procedure , public , :: pos_2d_int64_int64 Function
procedure , public , :: set_val_int64_int64 Subroutine
procedure , public , :: shared_dealloc => shared_dealloc_int64 Subroutine
procedure , public , :: sync => sync_int64 Subroutine
procedure , public , :: reassign_pointers => reassign_pointers_int64 Subroutine

type, private ::  auxiliary_int32_t

Components

Type Visibility Attributes Name Initial
integer(kind=int32), public, pointer :: res(:) => null()

type, public ::  shared_ragged_array_int32_t

Shared memory 2-D array template with non-uniform 2nd dimension (“ragged”) of type int32

Components

Type Visibility Attributes Name Initial
type(shared_array_int32_t), private :: data_array
type(auxiliary_int32_t), private, allocatable :: ptr(:)
integer(kind=int64), private, allocatable :: store_sizes(:)

Type-Bound Procedures

generic, public , :: shared_alloc => shared_alloc_int32_int32
generic, public , :: sub => pos_1d_int32_int32, pos_2d_int32_int32
generic, public , :: set_val => set_val_int32_int32
procedure , public , :: shared_alloc_int32_int32 Subroutine
procedure , public , :: pos_1d_int32_int32 Function
procedure , public , :: pos_2d_int32_int32 Function
procedure , public , :: set_val_int32_int32 Subroutine
generic, public , :: shared_alloc => shared_alloc_int32_int64
generic, public , :: sub => pos_1d_int32_int64, pos_2d_int32_int64
generic, public , :: set_val => set_val_int32_int64
procedure , public , :: shared_alloc_int32_int64 Subroutine
procedure , public , :: pos_1d_int32_int64 Function
procedure , public , :: pos_2d_int32_int64 Function
procedure , public , :: set_val_int32_int64 Subroutine
procedure , public , :: shared_dealloc => shared_dealloc_int32 Subroutine
procedure , public , :: sync => sync_int32 Subroutine
procedure , public , :: reassign_pointers => reassign_pointers_int32 Subroutine

type, private ::  auxiliary_cmplx_t

Components

Type Visibility Attributes Name Initial
complex(kind=dp), public, pointer :: res(:) => null()

type, public ::  shared_ragged_array_cmplx_t

Shared memory 2-D array template with non-uniform 2nd dimension (“ragged”) of type cmplx

Components

Type Visibility Attributes Name Initial
type(shared_array_cmplx_t), private :: data_array
type(auxiliary_cmplx_t), private, allocatable :: ptr(:)
integer(kind=int64), private, allocatable :: store_sizes(:)

Type-Bound Procedures

generic, public , :: shared_alloc => shared_alloc_cmplx_int32
generic, public , :: sub => pos_1d_cmplx_int32, pos_2d_cmplx_int32
generic, public , :: set_val => set_val_cmplx_int32
procedure , public , :: shared_alloc_cmplx_int32 Subroutine
procedure , public , :: pos_1d_cmplx_int32 Function
procedure , public , :: pos_2d_cmplx_int32 Function
procedure , public , :: set_val_cmplx_int32 Subroutine
generic, public , :: shared_alloc => shared_alloc_cmplx_int64
generic, public , :: sub => pos_1d_cmplx_int64, pos_2d_cmplx_int64
generic, public , :: set_val => set_val_cmplx_int64
procedure , public , :: shared_alloc_cmplx_int64 Subroutine
procedure , public , :: pos_1d_cmplx_int64 Function
procedure , public , :: pos_2d_cmplx_int64 Function
procedure , public , :: set_val_cmplx_int64 Subroutine
procedure , public , :: shared_dealloc => shared_dealloc_cmplx Subroutine
procedure , public , :: sync => sync_cmplx Subroutine
procedure , public , :: reassign_pointers => reassign_pointers_cmplx Subroutine

type, private ::  auxiliary_bool_t

Components

Type Visibility Attributes Name Initial
logical, public, pointer :: res(:) => null()

type, public ::  shared_ragged_array_bool_t

Shared memory 2-D array template with non-uniform 2nd dimension (“ragged”) of type bool

Components

Type Visibility Attributes Name Initial
type(shared_array_bool_t), private :: data_array
type(auxiliary_bool_t), private, allocatable :: ptr(:)
integer(kind=int64), private, allocatable :: store_sizes(:)

Type-Bound Procedures

generic, public , :: shared_alloc => shared_alloc_bool_int32
generic, public , :: sub => pos_1d_bool_int32, pos_2d_bool_int32
generic, public , :: set_val => set_val_bool_int32
procedure , public , :: shared_alloc_bool_int32 Subroutine
procedure , public , :: pos_1d_bool_int32 Function
procedure , public , :: pos_2d_bool_int32 Function
procedure , public , :: set_val_bool_int32 Subroutine
generic, public , :: shared_alloc => shared_alloc_bool_int64
generic, public , :: sub => pos_1d_bool_int64, pos_2d_bool_int64
generic, public , :: set_val => set_val_bool_int64
procedure , public , :: shared_alloc_bool_int64 Subroutine
procedure , public , :: pos_1d_bool_int64 Function
procedure , public , :: pos_2d_bool_int64 Function
procedure , public , :: set_val_bool_int64 Subroutine
procedure , public , :: shared_dealloc => shared_dealloc_bool Subroutine
procedure , public , :: sync => sync_bool Subroutine
procedure , public , :: reassign_pointers => reassign_pointers_bool Subroutine

Functions

private function pos_2d_real_int32(this, i, j) result(val)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_real_t), intent(inout) :: this
integer(kind=int32), intent(in) :: i
integer(kind=int32), intent(in) :: j

Return Value real(kind=dp)

private function pos_1d_real_int32(this, i) result(pt)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_real_t), intent(inout) :: this
integer(kind=int32), intent(in) :: i

Return Value real(kind=dp), pointer, (:)

private function pos_2d_real_int64(this, i, j) result(val)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_real_t), intent(inout) :: this
integer(kind=int64), intent(in) :: i
integer(kind=int64), intent(in) :: j

Return Value real(kind=dp)

private function pos_1d_real_int64(this, i) result(pt)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_real_t), intent(inout) :: this
integer(kind=int64), intent(in) :: i

Return Value real(kind=dp), pointer, (:)

private function pos_2d_int64_int32(this, i, j) result(val)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_int64_t), intent(inout) :: this
integer(kind=int32), intent(in) :: i
integer(kind=int32), intent(in) :: j

Return Value integer(kind=int64)

private function pos_1d_int64_int32(this, i) result(pt)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_int64_t), intent(inout) :: this
integer(kind=int32), intent(in) :: i

Return Value integer(kind=int64), pointer, (:)

private function pos_2d_int64_int64(this, i, j) result(val)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_int64_t), intent(inout) :: this
integer(kind=int64), intent(in) :: i
integer(kind=int64), intent(in) :: j

Return Value integer(kind=int64)

private function pos_1d_int64_int64(this, i) result(pt)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_int64_t), intent(inout) :: this
integer(kind=int64), intent(in) :: i

Return Value integer(kind=int64), pointer, (:)

private function pos_2d_int32_int32(this, i, j) result(val)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_int32_t), intent(inout) :: this
integer(kind=int32), intent(in) :: i
integer(kind=int32), intent(in) :: j

Return Value integer(kind=int32)

private function pos_1d_int32_int32(this, i) result(pt)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_int32_t), intent(inout) :: this
integer(kind=int32), intent(in) :: i

Return Value integer(kind=int32), pointer, (:)

private function pos_2d_int32_int64(this, i, j) result(val)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_int32_t), intent(inout) :: this
integer(kind=int64), intent(in) :: i
integer(kind=int64), intent(in) :: j

Return Value integer(kind=int32)

private function pos_1d_int32_int64(this, i) result(pt)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_int32_t), intent(inout) :: this
integer(kind=int64), intent(in) :: i

Return Value integer(kind=int32), pointer, (:)

private function pos_2d_cmplx_int32(this, i, j) result(val)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_cmplx_t), intent(inout) :: this
integer(kind=int32), intent(in) :: i
integer(kind=int32), intent(in) :: j

Return Value complex(kind=dp)

private function pos_1d_cmplx_int32(this, i) result(pt)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_cmplx_t), intent(inout) :: this
integer(kind=int32), intent(in) :: i

Return Value complex(kind=dp), pointer, (:)

private function pos_2d_cmplx_int64(this, i, j) result(val)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_cmplx_t), intent(inout) :: this
integer(kind=int64), intent(in) :: i
integer(kind=int64), intent(in) :: j

Return Value complex(kind=dp)

private function pos_1d_cmplx_int64(this, i) result(pt)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_cmplx_t), intent(inout) :: this
integer(kind=int64), intent(in) :: i

Return Value complex(kind=dp), pointer, (:)

private function pos_2d_bool_int32(this, i, j) result(val)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_bool_t), intent(inout) :: this
integer(kind=int32), intent(in) :: i
integer(kind=int32), intent(in) :: j

Return Value logical

private function pos_1d_bool_int32(this, i) result(pt)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_bool_t), intent(inout) :: this
integer(kind=int32), intent(in) :: i

Return Value logical, pointer, (:)

private function pos_2d_bool_int64(this, i, j) result(val)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_bool_t), intent(inout) :: this
integer(kind=int64), intent(in) :: i
integer(kind=int64), intent(in) :: j

Return Value logical

private function pos_1d_bool_int64(this, i) result(pt)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_bool_t), intent(inout) :: this
integer(kind=int64), intent(in) :: i

Return Value logical, pointer, (:)


Subroutines

private subroutine shared_alloc_real_int32(this, sizes)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_real_t), intent(inout) :: this
integer(kind=int32), intent(in) :: sizes(:)

private subroutine shared_alloc_real_int64(this, sizes)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_real_t), intent(inout) :: this
integer(kind=int64), intent(in) :: sizes(:)

private subroutine shared_dealloc_real(this)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_real_t), intent(inout) :: this

private subroutine reassign_pointers_real(this)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_real_t), intent(inout) :: this

private subroutine set_val_real_int32(this, i, j, val)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_real_t), intent(inout) :: this
integer(kind=int32), intent(in) :: i
integer(kind=int32), intent(in) :: j
real(kind=dp), intent(in) :: val

private subroutine set_val_real_int64(this, i, j, val)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_real_t), intent(inout) :: this
integer(kind=int64), intent(in) :: i
integer(kind=int64), intent(in) :: j
real(kind=dp), intent(in) :: val

private subroutine sync_real(this)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_real_t), intent(inout) :: this

private subroutine shared_alloc_int64_int32(this, sizes)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_int64_t), intent(inout) :: this
integer(kind=int32), intent(in) :: sizes(:)

private subroutine shared_alloc_int64_int64(this, sizes)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_int64_t), intent(inout) :: this
integer(kind=int64), intent(in) :: sizes(:)

private subroutine shared_dealloc_int64(this)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_int64_t), intent(inout) :: this

private subroutine reassign_pointers_int64(this)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_int64_t), intent(inout) :: this

private subroutine set_val_int64_int32(this, i, j, val)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_int64_t), intent(inout) :: this
integer(kind=int32), intent(in) :: i
integer(kind=int32), intent(in) :: j
integer(kind=int64), intent(in) :: val

private subroutine set_val_int64_int64(this, i, j, val)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_int64_t), intent(inout) :: this
integer(kind=int64), intent(in) :: i
integer(kind=int64), intent(in) :: j
integer(kind=int64), intent(in) :: val

private subroutine sync_int64(this)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_int64_t), intent(inout) :: this

private subroutine shared_alloc_int32_int32(this, sizes)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_int32_t), intent(inout) :: this
integer(kind=int32), intent(in) :: sizes(:)

private subroutine shared_alloc_int32_int64(this, sizes)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_int32_t), intent(inout) :: this
integer(kind=int64), intent(in) :: sizes(:)

private subroutine shared_dealloc_int32(this)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_int32_t), intent(inout) :: this

private subroutine reassign_pointers_int32(this)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_int32_t), intent(inout) :: this

private subroutine set_val_int32_int32(this, i, j, val)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_int32_t), intent(inout) :: this
integer(kind=int32), intent(in) :: i
integer(kind=int32), intent(in) :: j
integer(kind=int32), intent(in) :: val

private subroutine set_val_int32_int64(this, i, j, val)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_int32_t), intent(inout) :: this
integer(kind=int64), intent(in) :: i
integer(kind=int64), intent(in) :: j
integer(kind=int32), intent(in) :: val

private subroutine sync_int32(this)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_int32_t), intent(inout) :: this

private subroutine shared_alloc_cmplx_int32(this, sizes)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_cmplx_t), intent(inout) :: this
integer(kind=int32), intent(in) :: sizes(:)

private subroutine shared_alloc_cmplx_int64(this, sizes)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_cmplx_t), intent(inout) :: this
integer(kind=int64), intent(in) :: sizes(:)

private subroutine shared_dealloc_cmplx(this)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_cmplx_t), intent(inout) :: this

private subroutine reassign_pointers_cmplx(this)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_cmplx_t), intent(inout) :: this

private subroutine set_val_cmplx_int32(this, i, j, val)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_cmplx_t), intent(inout) :: this
integer(kind=int32), intent(in) :: i
integer(kind=int32), intent(in) :: j
complex(kind=dp), intent(in) :: val

private subroutine set_val_cmplx_int64(this, i, j, val)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_cmplx_t), intent(inout) :: this
integer(kind=int64), intent(in) :: i
integer(kind=int64), intent(in) :: j
complex(kind=dp), intent(in) :: val

private subroutine sync_cmplx(this)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_cmplx_t), intent(inout) :: this

private subroutine shared_alloc_bool_int32(this, sizes)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_bool_t), intent(inout) :: this
integer(kind=int32), intent(in) :: sizes(:)

private subroutine shared_alloc_bool_int64(this, sizes)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_bool_t), intent(inout) :: this
integer(kind=int64), intent(in) :: sizes(:)

private subroutine shared_dealloc_bool(this)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_bool_t), intent(inout) :: this

private subroutine reassign_pointers_bool(this)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_bool_t), intent(inout) :: this

private subroutine set_val_bool_int32(this, i, j, val)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_bool_t), intent(inout) :: this
integer(kind=int32), intent(in) :: i
integer(kind=int32), intent(in) :: j
logical, intent(in) :: val

private subroutine set_val_bool_int64(this, i, j, val)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_bool_t), intent(inout) :: this
integer(kind=int64), intent(in) :: i
integer(kind=int64), intent(in) :: j
logical, intent(in) :: val

private subroutine sync_bool(this)

Arguments

Type IntentOptional Attributes Name
class(shared_ragged_array_bool_t), intent(inout) :: this