dbcsr_array_types Module

Array objects with reference counting.



Interfaces

public interface array_new

  • private subroutine array_new_i1d(array, DATA, gift)

    Arguments

    Type IntentOptional Attributes Name
    type(array_i1d_obj), intent(out) :: array
    integer, DIMENSION(:), POINTER, CONTIGUOUS :: DATA
    logical, intent(in), optional :: gift
  • private subroutine array_new_i1d_lb(array, DATA, lb)

    Arguments

    Type IntentOptional Attributes Name
    type(array_i1d_obj), intent(out) :: array
    integer, intent(in), DIMENSION(:) :: DATA
    integer, intent(in) :: lb

public interface array_hold

public interface array_release

public interface array_nullify

public interface array_exists

  • private pure function array_exists_i1d(array) result(array_exists)

    Arguments

    Type IntentOptional Attributes Name
    type(array_i1d_obj), intent(in) :: array

    Return Value logical

public interface array_data

  • private function array_data_i1d(array) result(DATA)

    Arguments

    Type IntentOptional Attributes Name
    type(array_i1d_obj), intent(in) :: array

    Return Value integer, DIMENSION(:), POINTER, CONTIGUOUS

public interface array_size

  • private pure function array_size_i1d(array) result(the_size)

    Arguments

    Type IntentOptional Attributes Name
    type(array_i1d_obj), intent(in) :: array

    Return Value integer

public interface array_equality

  • private pure function array_equality_i1(array1, array2) result(are_equal)

    Arguments

    Type IntentOptional Attributes Name
    integer, DIMENSION(:), POINTER, CONTIGUOUS :: array1
    integer, DIMENSION(:), POINTER, CONTIGUOUS :: array2

    Return Value logical

  • private pure function array_equality_i1d(array1, array2) result(are_equal)

    Arguments

    Type IntentOptional Attributes Name
    type(array_i1d_obj), intent(in) :: array1
    type(array_i1d_obj), intent(in) :: array2

    Return Value logical

public interface array_get

  • private pure function array_get_i1d(array, index1) result(value)

    Arguments

    Type IntentOptional Attributes Name
    type(array_i1d_obj), intent(in) :: array
    integer, intent(in) :: index1

    Return Value integer

  • private pure function array_get_i1(array, index1) result(value)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in), DIMENSION(:), POINTER :: array
    integer, intent(in) :: index1

    Return Value integer


Derived Types

type, private ::  array_i1d_type

Components

Type Visibility Attributes Name Initial
integer, public, DIMENSION(:), POINTER, CONTIGUOUS :: DATA => Null()
integer, public :: refcount = 0

type, public ::  array_i1d_obj

Components

Type Visibility Attributes Name Initial
type(array_i1d_type), public, POINTER :: low => Null()

Functions

private pure function array_exists_i1d(array) result(array_exists)

Arguments

Type IntentOptional Attributes Name
type(array_i1d_obj), intent(in) :: array

Return Value logical

private function array_data_i1d(array) result(DATA)

Arguments

Type IntentOptional Attributes Name
type(array_i1d_obj), intent(in) :: array

Return Value integer, DIMENSION(:), POINTER, CONTIGUOUS

private pure function array_size_i1d(array) result(the_size)

Arguments

Type IntentOptional Attributes Name
type(array_i1d_obj), intent(in) :: array

Return Value integer

private pure function array_equality_i1(array1, array2) result(are_equal)

Arguments

Type IntentOptional Attributes Name
integer, DIMENSION(:), POINTER, CONTIGUOUS :: array1
integer, DIMENSION(:), POINTER, CONTIGUOUS :: array2

Return Value logical

private pure function array_equality_i1d(array1, array2) result(are_equal)

Arguments

Type IntentOptional Attributes Name
type(array_i1d_obj), intent(in) :: array1
type(array_i1d_obj), intent(in) :: array2

Return Value logical

private pure function array_get_i1d(array, index1) result(value)

Arguments

Type IntentOptional Attributes Name
type(array_i1d_obj), intent(in) :: array
integer, intent(in) :: index1

Return Value integer

private pure function array_get_i1(array, index1) result(value)

Arguments

Type IntentOptional Attributes Name
integer, intent(in), DIMENSION(:), POINTER :: array
integer, intent(in) :: index1

Return Value integer


Subroutines

private subroutine array_new_i1d(array, DATA, gift)

Arguments

Type IntentOptional Attributes Name
type(array_i1d_obj), intent(out) :: array
integer, DIMENSION(:), POINTER, CONTIGUOUS :: DATA
logical, intent(in), optional :: gift

private subroutine array_new_i1d_lb(array, DATA, lb)

Arguments

Type IntentOptional Attributes Name
type(array_i1d_obj), intent(out) :: array
integer, intent(in), DIMENSION(:) :: DATA
integer, intent(in) :: lb

private subroutine array_hold_i1d(array)

Arguments

Type IntentOptional Attributes Name
type(array_i1d_obj), intent(inout) :: array

private subroutine array_release_i1d(array)

Arguments

Type IntentOptional Attributes Name
type(array_i1d_obj), intent(inout) :: array

private pure subroutine array_nullify_i1d(array)

Arguments

Type IntentOptional Attributes Name
type(array_i1d_obj), intent(inout) :: array