dbcsr_array_types Module

Array objects with reference counting.



Contents


Interfaces

public interface array_new

  • private subroutine array_new_i1d(array, DATA, gift)

    Arguments

    TypeIntentOptionalAttributesName
    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

    TypeIntentOptionalAttributesName
    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

    TypeIntentOptionalAttributesName
    type(array_i1d_obj), intent(in) :: array

    Return Value logical

public interface array_data

  • private function array_data_i1d(array) result(DATA)

    Arguments

    TypeIntentOptionalAttributesName
    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

    TypeIntentOptionalAttributesName
    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

    TypeIntentOptionalAttributesName
    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

    TypeIntentOptionalAttributesName
    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

    TypeIntentOptionalAttributesName
    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

    TypeIntentOptionalAttributesName
    integer, intent(in), DIMENSION(:), POINTER:: array
    integer, intent(in) :: index1

    Return Value integer


Derived Types

type, private :: array_i1d_type

Components

TypeVisibilityAttributesNameInitial
integer, public, DIMENSION(:), POINTER, CONTIGUOUS:: DATA=> Null()
integer, public :: refcount =0

type, public :: array_i1d_obj

Components

TypeVisibilityAttributesNameInitial
type(array_i1d_type), public, POINTER:: low=> Null()

Functions

private pure function array_exists_i1d(array) result(array_exists)

Arguments

TypeIntentOptionalAttributesName
type(array_i1d_obj), intent(in) :: array

Return Value logical

private function array_data_i1d(array) result(DATA)

Arguments

TypeIntentOptionalAttributesName
type(array_i1d_obj), intent(in) :: array

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

private pure function array_size_i1d(array) result(the_size)

Arguments

TypeIntentOptionalAttributesName
type(array_i1d_obj), intent(in) :: array

Return Value integer

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

Arguments

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
integer, intent(in), DIMENSION(:), POINTER:: array
integer, intent(in) :: index1

Return Value integer


Subroutines

private subroutine array_new_i1d(array, DATA, gift)

Arguments

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
type(array_i1d_obj), intent(out) :: array
integer, intent(in), DIMENSION(:):: DATA
integer, intent(in) :: lb

private subroutine array_hold_i1d(array)

Arguments

TypeIntentOptionalAttributesName
type(array_i1d_obj), intent(inout) :: array

private subroutine array_release_i1d(array)

Arguments

TypeIntentOptionalAttributesName
type(array_i1d_obj), intent(inout) :: array

private pure subroutine array_nullify_i1d(array)

Arguments

TypeIntentOptionalAttributesName
type(array_i1d_obj), intent(inout) :: array