tem_arrayofarrays_module Module

This module provides generic growing arrays of other (dynamic) arrays.


Uses

  • module~~tem_arrayofarrays_module~~UsesGraph module~tem_arrayofarrays_module tem_arrayofarrays_module module~env_module env_module module~tem_arrayofarrays_module->module~env_module module~tem_dyn_array_module tem_dyn_array_module module~tem_arrayofarrays_module->module~tem_dyn_array_module aotus_module aotus_module module~env_module->aotus_module flu_binding flu_binding module~env_module->flu_binding iso_fortran_env iso_fortran_env module~env_module->iso_fortran_env mpi mpi module~env_module->mpi module~tem_dyn_array_module->module~env_module

Used by

  • module~~tem_arrayofarrays_module~~UsedByGraph module~tem_arrayofarrays_module tem_arrayofarrays_module module~tem_element_module tem_element_module module~tem_element_module->module~tem_arrayofarrays_module module~tem_halo_module tem_halo_module module~tem_halo_module->module~tem_arrayofarrays_module module~tem_adaptation_module tem_adaptation_module module~tem_adaptation_module->module~tem_element_module module~tem_construction_module tem_construction_module module~tem_adaptation_module->module~tem_construction_module module~tem_construction_module->module~tem_element_module module~tem_construction_module->module~tem_halo_module module~tem_face_module tem_face_module module~tem_face_module->module~tem_element_module module~tem_face_module->module~tem_construction_module module~tem_facedata_module tem_faceData_module module~tem_face_module->module~tem_facedata_module module~tem_surfacedata_module tem_surfaceData_module module~tem_surfacedata_module->module~tem_element_module module~tem_surfacedata_module->module~tem_construction_module module~tem_facedata_module->module~tem_construction_module module~tem_interpolation_module tem_interpolation_module module~tem_interpolation_module->module~tem_construction_module module~tem_subtree_module tem_subTree_module module~tem_subtree_module->module~tem_construction_module module~hvs_output_module hvs_output_module module~hvs_output_module->module~tem_subtree_module module~tem_comptefacerules_module tem_compteFaceRules_module module~tem_comptefacerules_module->module~tem_facedata_module module~tem_convergence_module tem_convergence_module module~tem_convergence_module->module~tem_subtree_module module~tem_spacetime_fun_module tem_spacetime_fun_module module~tem_spacetime_fun_module->module~tem_subtree_module module~tem_tracking_module tem_tracking_module module~tem_tracking_module->module~tem_subtree_module

Interfaces

public interface init

initialize the dynamic array

  • public subroutine init_ga_dynint(me, length)

    Arguments

    Type IntentOptional Attributes Name
    type(grw_dynintarray_type), intent(out) :: me
    integer, intent(in), optional :: length

public interface truncate

truncate the array, meaning cut off the trailing empty entries

public interface empty

empty the entries without changing arrays

public interface destroy

destroy the dynamic array

public interface placeat

insert an element at a given position

  • public subroutine placeat_ga_dynint(me, val, pos, length)

    adds the value to a given position inside the growing array.

    if the requested position is outside the current array bounds, the array will be resized accordingly. if it is inside the current array bounds, the element at the requested position will be replaced.

    Arguments

    Type IntentOptional Attributes Name
    type(grw_dynintarray_type) :: me
    type(dyn_intarray_type), intent(in) :: val
    integer, intent(in) :: pos
    integer, intent(in), optional :: length

    optional length to expand the array

  • public subroutine placeat_ga_dynint_vec(me, val, pos, length)

    adds the values starting from a given position inside the growing array.

    if the requested position is outside the current array bounds, the array will be resized accordingly. if it is inside the current array bounds, the elements starting from the requested position will be replaced up to the element at position pos + size(val) - 1.

    Arguments

    Type IntentOptional Attributes Name
    type(grw_dynintarray_type) :: me
    type(dyn_intarray_type), intent(in) :: val(:)
    integer, intent(in) :: pos
    integer, intent(in), optional :: length

    optional length to expand the array

public interface append

append a value to the dynamic array and return its position.

public interface expand

increase the size of the container for the array.

  • public subroutine expand_ga_dynint(me, pos, length)

    Arguments

    Type IntentOptional Attributes Name
    type(grw_dynintarray_type) :: me
    integer, intent(in), optional :: pos
    integer, intent(in), optional :: length

    optional length to expand the array

public interface init

initialize the dynamic array

  • public subroutine init_ga_dynlong(me, length)

    Arguments

    Type IntentOptional Attributes Name
    type(grw_dynlongarray_type), intent(out) :: me
    integer, intent(in), optional :: length

public interface truncate

truncate the array, meaning cut off the trailing empty entries

public interface empty

empty the entries without changing arrays

public interface destroy

destroy the dynamic array

public interface placeat

insert an element at a given position

  • public subroutine placeat_ga_dynlong(me, val, pos, length)

    adds the value to a given position inside the growing array.

    if the requested position is outside the current array bounds, the array will be resized accordingly. if it is inside the current array bounds, the element at the requested position will be replaced.

    Arguments

    Type IntentOptional Attributes Name
    type(grw_dynlongarray_type) :: me
    type(dyn_longarray_type), intent(in) :: val
    integer, intent(in) :: pos
    integer, intent(in), optional :: length

    optional length to expand the array

  • public subroutine placeat_ga_dynlong_vec(me, val, pos, length)

    adds the values starting from a given position inside the growing array.

    if the requested position is outside the current array bounds, the array will be resized accordingly. if it is inside the current array bounds, the elements starting from the requested position will be replaced up to the element at position pos + size(val) - 1.

    Arguments

    Type IntentOptional Attributes Name
    type(grw_dynlongarray_type) :: me
    type(dyn_longarray_type), intent(in) :: val(:)
    integer, intent(in) :: pos
    integer, intent(in), optional :: length

    optional length to expand the array

public interface append

append a value to the dynamic array and return its position.

public interface expand

increase the size of the container for the array.

  • public subroutine expand_ga_dynlong(me, pos, length)

    Arguments

    Type IntentOptional Attributes Name
    type(grw_dynlongarray_type) :: me
    integer, intent(in), optional :: pos
    integer, intent(in), optional :: length

    optional length to expand the array


Derived Types

type, public ::  grw_dynintarray_type

growing array type for type(dyn_intarray_type)

Components

Type Visibility Attributes Name Initial
integer, public :: nvals = 0
integer, public :: containersize = 0
type(dyn_intarray_type), public, allocatable :: val(:)

type, public ::  grw_dynlongarray_type

growing array type for type(dyn_longarray_type)

Components

Type Visibility Attributes Name Initial
integer, public :: nvals = 0
integer, public :: containersize = 0
type(dyn_longarray_type), public, allocatable :: val(:)

Subroutines

public subroutine init_ga_dynint(me, length)

Arguments

Type IntentOptional Attributes Name
type(grw_dynintarray_type), intent(out) :: me
integer, intent(in), optional :: length

public subroutine destroy_ga_dynint(me)

Arguments

Type IntentOptional Attributes Name
type(grw_dynintarray_type), intent(inout) :: me

public subroutine truncate_ga_dynint(me)

Arguments

Type IntentOptional Attributes Name
type(grw_dynintarray_type) :: me

public subroutine empty_ga_dynint(me)

Arguments

Type IntentOptional Attributes Name
type(grw_dynintarray_type) :: me

public subroutine placeat_ga_dynint(me, val, pos, length)

adds the value to a given position inside the growing array.

Read more…

Arguments

Type IntentOptional Attributes Name
type(grw_dynintarray_type) :: me
type(dyn_intarray_type), intent(in) :: val
integer, intent(in) :: pos
integer, intent(in), optional :: length

optional length to expand the array

public subroutine placeat_ga_dynint_vec(me, val, pos, length)

adds the values starting from a given position inside the growing array.

Read more…

Arguments

Type IntentOptional Attributes Name
type(grw_dynintarray_type) :: me
type(dyn_intarray_type), intent(in) :: val(:)
integer, intent(in) :: pos
integer, intent(in), optional :: length

optional length to expand the array

public subroutine append_ga_dynint(me, val, length)

Arguments

Type IntentOptional Attributes Name
type(grw_dynintarray_type) :: me
type(dyn_intarray_type), intent(in) :: val
integer, intent(in), optional :: length

optional length to expand the array

public subroutine append_ga_dynint_vec(me, val, length)

Arguments

Type IntentOptional Attributes Name
type(grw_dynintarray_type) :: me
type(dyn_intarray_type), intent(in) :: val(:)
integer, intent(in), optional :: length

optional length to expand the array

public subroutine expand_ga_dynint(me, pos, length)

Arguments

Type IntentOptional Attributes Name
type(grw_dynintarray_type) :: me
integer, intent(in), optional :: pos
integer, intent(in), optional :: length

optional length to expand the array

public subroutine init_ga_dynlong(me, length)

Arguments

Type IntentOptional Attributes Name
type(grw_dynlongarray_type), intent(out) :: me
integer, intent(in), optional :: length

public subroutine destroy_ga_dynlong(me)

Arguments

Type IntentOptional Attributes Name
type(grw_dynlongarray_type), intent(inout) :: me

public subroutine truncate_ga_dynlong(me)

Arguments

Type IntentOptional Attributes Name
type(grw_dynlongarray_type) :: me

public subroutine empty_ga_dynlong(me)

Arguments

Type IntentOptional Attributes Name
type(grw_dynlongarray_type) :: me

public subroutine placeat_ga_dynlong(me, val, pos, length)

adds the value to a given position inside the growing array.

Read more…

Arguments

Type IntentOptional Attributes Name
type(grw_dynlongarray_type) :: me
type(dyn_longarray_type), intent(in) :: val
integer, intent(in) :: pos
integer, intent(in), optional :: length

optional length to expand the array

public subroutine placeat_ga_dynlong_vec(me, val, pos, length)

adds the values starting from a given position inside the growing array.

Read more…

Arguments

Type IntentOptional Attributes Name
type(grw_dynlongarray_type) :: me
type(dyn_longarray_type), intent(in) :: val(:)
integer, intent(in) :: pos
integer, intent(in), optional :: length

optional length to expand the array

public subroutine append_ga_dynlong(me, val, length)

Arguments

Type IntentOptional Attributes Name
type(grw_dynlongarray_type) :: me
type(dyn_longarray_type), intent(in) :: val
integer, intent(in), optional :: length

optional length to expand the array

public subroutine append_ga_dynlong_vec(me, val, length)

Arguments

Type IntentOptional Attributes Name
type(grw_dynlongarray_type) :: me
type(dyn_longarray_type), intent(in) :: val(:)
integer, intent(in), optional :: length

optional length to expand the array

public subroutine expand_ga_dynlong(me, pos, length)

Arguments

Type IntentOptional Attributes Name
type(grw_dynlongarray_type) :: me
integer, intent(in), optional :: pos
integer, intent(in), optional :: length

optional length to expand the array