dbcsr_btree Module

B-tree


Contents

btree_new_i8_sp2d btree_adopt_subtrees_i8_sp2d btree_delete_i8_sp2d btree_delete_node_i8_sp2d btree_add_i8_sp2d btree_add_into_i8_sp2d btree_simple_insertion_i8_sp2d btree_left_insertion_i8_sp2d btree_right_insertion_i8_sp2d btree_new_root_i8_sp2d btree_new_node_i8_sp2d btree_free_node_i8_sp2d btree_find_i8_sp2d btree_node_find_ge_pos_i8_sp2d btree_node_find_gt_pos_i8_sp2d btree_node_find_gte_pos_i8_sp2d btree_find_full_i8_sp2d btree_find_leaf_i8_sp2d btree_new_i8_dp2d btree_adopt_subtrees_i8_dp2d btree_delete_i8_dp2d btree_delete_node_i8_dp2d btree_add_i8_dp2d btree_add_into_i8_dp2d btree_simple_insertion_i8_dp2d btree_left_insertion_i8_dp2d btree_right_insertion_i8_dp2d btree_new_root_i8_dp2d btree_new_node_i8_dp2d btree_free_node_i8_dp2d btree_find_i8_dp2d btree_node_find_ge_pos_i8_dp2d btree_node_find_gt_pos_i8_dp2d btree_node_find_gte_pos_i8_dp2d btree_find_full_i8_dp2d btree_find_leaf_i8_dp2d btree_new_i8_cp2d btree_adopt_subtrees_i8_cp2d btree_delete_i8_cp2d btree_delete_node_i8_cp2d btree_add_i8_cp2d btree_add_into_i8_cp2d btree_simple_insertion_i8_cp2d btree_left_insertion_i8_cp2d btree_right_insertion_i8_cp2d btree_new_root_i8_cp2d btree_new_node_i8_cp2d btree_free_node_i8_cp2d btree_find_i8_cp2d btree_node_find_ge_pos_i8_cp2d btree_node_find_gt_pos_i8_cp2d btree_node_find_gte_pos_i8_cp2d btree_find_full_i8_cp2d btree_find_leaf_i8_cp2d btree_new_i8_zp2d btree_adopt_subtrees_i8_zp2d btree_delete_i8_zp2d btree_delete_node_i8_zp2d btree_add_i8_zp2d btree_add_into_i8_zp2d btree_simple_insertion_i8_zp2d btree_left_insertion_i8_zp2d btree_right_insertion_i8_zp2d btree_new_root_i8_zp2d btree_new_node_i8_zp2d btree_free_node_i8_zp2d btree_find_i8_zp2d btree_node_find_ge_pos_i8_zp2d btree_node_find_gt_pos_i8_zp2d btree_node_find_gte_pos_i8_zp2d btree_find_full_i8_zp2d btree_find_leaf_i8_zp2d

Variables

TypeVisibilityAttributesNameInitial
integer, private, parameter:: keyt =SELECTED_INT_KIND(10)
integer, private, parameter:: valt =SELECTED_INT_KIND(5)
integer, private, parameter:: sp =KIND(0.0)
integer, private, parameter:: dp =KIND(0.0d0)

Interfaces

public interface btree_new

  • private subroutine btree_new_i8_sp2d(tree, order)

    Arguments

    TypeIntentOptionalAttributesName
    type(btree_i8_sp2d), intent(out) :: tree
    integer, intent(in), optional :: order
  • private subroutine btree_new_i8_dp2d(tree, order)

    Arguments

    TypeIntentOptionalAttributesName
    type(btree_i8_dp2d), intent(out) :: tree
    integer, intent(in), optional :: order
  • private subroutine btree_new_i8_cp2d(tree, order)

    Arguments

    TypeIntentOptionalAttributesName
    type(btree_i8_cp2d), intent(out) :: tree
    integer, intent(in), optional :: order
  • private subroutine btree_new_i8_zp2d(tree, order)

    Arguments

    TypeIntentOptionalAttributesName
    type(btree_i8_zp2d), intent(out) :: tree
    integer, intent(in), optional :: order

public interface btree_add

  • private subroutine btree_add_i8_sp2d(tree, key, value, exists, existing_value, replace)

    Arguments

    TypeIntentOptionalAttributesName
    type(btree_i8_sp2d), intent(inout) :: tree
    integer(kind=keyt), intent(in) :: key
    type(btree_data_sp2d), intent(in) :: value
    logical, intent(out), optional :: exists
    type(btree_data_sp2d), intent(out), optional :: existing_value
    logical, intent(in), optional :: replace
  • private subroutine btree_add_i8_dp2d(tree, key, value, exists, existing_value, replace)

    Arguments

    TypeIntentOptionalAttributesName
    type(btree_i8_dp2d), intent(inout) :: tree
    integer(kind=keyt), intent(in) :: key
    type(btree_data_dp2d), intent(in) :: value
    logical, intent(out), optional :: exists
    type(btree_data_dp2d), intent(out), optional :: existing_value
    logical, intent(in), optional :: replace
  • private subroutine btree_add_i8_cp2d(tree, key, value, exists, existing_value, replace)

    Arguments

    TypeIntentOptionalAttributesName
    type(btree_i8_cp2d), intent(inout) :: tree
    integer(kind=keyt), intent(in) :: key
    type(btree_data_cp2d), intent(in) :: value
    logical, intent(out), optional :: exists
    type(btree_data_cp2d), intent(out), optional :: existing_value
    logical, intent(in), optional :: replace
  • private subroutine btree_add_i8_zp2d(tree, key, value, exists, existing_value, replace)

    Arguments

    TypeIntentOptionalAttributesName
    type(btree_i8_zp2d), intent(inout) :: tree
    integer(kind=keyt), intent(in) :: key
    type(btree_data_zp2d), intent(in) :: value
    logical, intent(out), optional :: exists
    type(btree_data_zp2d), intent(out), optional :: existing_value
    logical, intent(in), optional :: replace

public interface btree_find

  • private subroutine btree_find_i8_sp2d(tree, key, value, exists)

    Arguments

    TypeIntentOptionalAttributesName
    type(btree_i8_sp2d), intent(in) :: tree
    integer(kind=keyt), intent(in) :: key
    type(btree_data_sp2d), intent(out) :: value
    logical, intent(out), optional :: exists
  • private subroutine btree_find_i8_dp2d(tree, key, value, exists)

    Arguments

    TypeIntentOptionalAttributesName
    type(btree_i8_dp2d), intent(in) :: tree
    integer(kind=keyt), intent(in) :: key
    type(btree_data_dp2d), intent(out) :: value
    logical, intent(out), optional :: exists
  • private subroutine btree_find_i8_cp2d(tree, key, value, exists)

    Arguments

    TypeIntentOptionalAttributesName
    type(btree_i8_cp2d), intent(in) :: tree
    integer(kind=keyt), intent(in) :: key
    type(btree_data_cp2d), intent(out) :: value
    logical, intent(out), optional :: exists
  • private subroutine btree_find_i8_zp2d(tree, key, value, exists)

    Arguments

    TypeIntentOptionalAttributesName
    type(btree_i8_zp2d), intent(in) :: tree
    integer(kind=keyt), intent(in) :: key
    type(btree_data_zp2d), intent(out) :: value
    logical, intent(out), optional :: exists

public interface btree_delete

  • private subroutine btree_delete_i8_sp2d(tree, keys, values)

    Arguments

    TypeIntentOptionalAttributesName
    type(btree_i8_sp2d), intent(inout) :: tree
    integer(kind=keyt), intent(out), optional DIMENSION(:):: keys
    type(btree_data_sp2d), intent(out), optional DIMENSION(:):: values
  • private subroutine btree_delete_i8_dp2d(tree, keys, values)

    Arguments

    TypeIntentOptionalAttributesName
    type(btree_i8_dp2d), intent(inout) :: tree
    integer(kind=keyt), intent(out), optional DIMENSION(:):: keys
    type(btree_data_dp2d), intent(out), optional DIMENSION(:):: values
  • private subroutine btree_delete_i8_cp2d(tree, keys, values)

    Arguments

    TypeIntentOptionalAttributesName
    type(btree_i8_cp2d), intent(inout) :: tree
    integer(kind=keyt), intent(out), optional DIMENSION(:):: keys
    type(btree_data_cp2d), intent(out), optional DIMENSION(:):: values
  • private subroutine btree_delete_i8_zp2d(tree, keys, values)

    Arguments

    TypeIntentOptionalAttributesName
    type(btree_i8_zp2d), intent(inout) :: tree
    integer(kind=keyt), intent(out), optional DIMENSION(:):: keys
    type(btree_data_zp2d), intent(out), optional DIMENSION(:):: values

public interface btree_get_entries


Derived Types

type, public :: btree_data_sp2d

Components

TypeVisibilityAttributesNameInitial
real(kind=sp), public, DIMENSION(:,:), POINTER:: p
logical, public :: tr

type, public :: btree_data_dp2d

Components

TypeVisibilityAttributesNameInitial
real(kind=dp), public, DIMENSION(:,:), POINTER:: p
logical, public :: tr

type, public :: btree_data_cp2d

Components

TypeVisibilityAttributesNameInitial
complex(kind=sp), public, DIMENSION(:,:), POINTER:: p
logical, public :: tr

type, public :: btree_data_zp2d

Components

TypeVisibilityAttributesNameInitial
complex(kind=dp), public, DIMENSION(:,:), POINTER:: p
logical, public :: tr

type, private :: btree_node_i8_sp2d

Components

TypeVisibilityAttributesNameInitial
integer, public :: id
integer, public :: filled
integer(kind=keyt), public, DIMENSION(:), POINTER:: keys
type(btree_data_sp2d), public, DIMENSION(:), POINTER:: values
type(btree_node_p_i8_sp2d), public, DIMENSION(:), POINTER:: subtrees
type(btree_node_i8_sp2d), public, POINTER:: parent

type, private :: btree_node_p_i8_sp2d

Components

TypeVisibilityAttributesNameInitial
type(btree_node_i8_sp2d), public, POINTER:: node

Components

TypeVisibilityAttributesNameInitial
integer, public :: min_fill
integer, public :: max_fill
integer, public :: n
integer, public :: lastid
integer, public :: refcount
type(btree_node_i8_sp2d), public, POINTER:: root

type, public :: btree_i8_sp2d

Components

TypeVisibilityAttributesNameInitial
type(btree_node_structure_i8_sp2d), public :: b

type, private :: btree_node_i8_dp2d

Components

TypeVisibilityAttributesNameInitial
integer, public :: id
integer, public :: filled
integer(kind=keyt), public, DIMENSION(:), POINTER:: keys
type(btree_data_dp2d), public, DIMENSION(:), POINTER:: values
type(btree_node_p_i8_dp2d), public, DIMENSION(:), POINTER:: subtrees
type(btree_node_i8_dp2d), public, POINTER:: parent

type, private :: btree_node_p_i8_dp2d

Components

TypeVisibilityAttributesNameInitial
type(btree_node_i8_dp2d), public, POINTER:: node

Components

TypeVisibilityAttributesNameInitial
integer, public :: min_fill
integer, public :: max_fill
integer, public :: n
integer, public :: lastid
integer, public :: refcount
type(btree_node_i8_dp2d), public, POINTER:: root

type, public :: btree_i8_dp2d

Components

TypeVisibilityAttributesNameInitial
type(btree_node_structure_i8_dp2d), public :: b

type, private :: btree_node_i8_cp2d

Components

TypeVisibilityAttributesNameInitial
integer, public :: id
integer, public :: filled
integer(kind=keyt), public, DIMENSION(:), POINTER:: keys
type(btree_data_cp2d), public, DIMENSION(:), POINTER:: values
type(btree_node_p_i8_cp2d), public, DIMENSION(:), POINTER:: subtrees
type(btree_node_i8_cp2d), public, POINTER:: parent

type, private :: btree_node_p_i8_cp2d

Components

TypeVisibilityAttributesNameInitial
type(btree_node_i8_cp2d), public, POINTER:: node

Components

TypeVisibilityAttributesNameInitial
integer, public :: min_fill
integer, public :: max_fill
integer, public :: n
integer, public :: lastid
integer, public :: refcount
type(btree_node_i8_cp2d), public, POINTER:: root

type, public :: btree_i8_cp2d

Components

TypeVisibilityAttributesNameInitial
type(btree_node_structure_i8_cp2d), public :: b

type, private :: btree_node_i8_zp2d

Components

TypeVisibilityAttributesNameInitial
integer, public :: id
integer, public :: filled
integer(kind=keyt), public, DIMENSION(:), POINTER:: keys
type(btree_data_zp2d), public, DIMENSION(:), POINTER:: values
type(btree_node_p_i8_zp2d), public, DIMENSION(:), POINTER:: subtrees
type(btree_node_i8_zp2d), public, POINTER:: parent

type, private :: btree_node_p_i8_zp2d

Components

TypeVisibilityAttributesNameInitial
type(btree_node_i8_zp2d), public, POINTER:: node

Components

TypeVisibilityAttributesNameInitial
integer, public :: min_fill
integer, public :: max_fill
integer, public :: n
integer, public :: lastid
integer, public :: refcount
type(btree_node_i8_zp2d), public, POINTER:: root

type, public :: btree_i8_zp2d

Components

TypeVisibilityAttributesNameInitial
type(btree_node_structure_i8_zp2d), public :: b

Functions

private function btree_get_entries_i8_sp2d(tree) result(num_entries)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_sp2d), intent(inout) :: tree

Return Value integer

private function btree_get_entries_i8_dp2d(tree) result(num_entries)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_dp2d), intent(inout) :: tree

Return Value integer

private function btree_get_entries_i8_cp2d(tree) result(num_entries)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_cp2d), intent(inout) :: tree

Return Value integer

private function btree_get_entries_i8_zp2d(tree) result(num_entries)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_zp2d), intent(inout) :: tree

Return Value integer


Subroutines

private subroutine btree_new_i8_sp2d(tree, order)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_sp2d), intent(out) :: tree
integer, intent(in), optional :: order

private subroutine btree_adopt_subtrees_i8_sp2d(node)

Arguments

TypeIntentOptionalAttributesName
type(btree_node_i8_sp2d), POINTER:: node

private subroutine btree_delete_i8_sp2d(tree, keys, values)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_sp2d), intent(inout) :: tree
integer(kind=keyt), intent(out), optional DIMENSION(:):: keys
type(btree_data_sp2d), intent(out), optional DIMENSION(:):: values

private recursive subroutine btree_delete_node_i8_sp2d(node, pos, keys, values)

Arguments

TypeIntentOptionalAttributesName
type(btree_node_i8_sp2d), POINTER:: node
integer, intent(inout), optional :: pos
integer(kind=keyt), intent(inout), optional DIMENSION(:):: keys
type(btree_data_sp2d), intent(inout), optional DIMENSION(:):: values

private subroutine btree_add_i8_sp2d(tree, key, value, exists, existing_value, replace)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_sp2d), intent(inout) :: tree
integer(kind=keyt), intent(in) :: key
type(btree_data_sp2d), intent(in) :: value
logical, intent(out), optional :: exists
type(btree_data_sp2d), intent(out), optional :: existing_value
logical, intent(in), optional :: replace

private recursive subroutine btree_add_into_i8_sp2d(tree, node, key, value, before, subtree)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_sp2d), intent(inout) :: tree
type(btree_node_i8_sp2d), POINTER:: node
integer(kind=keyt), intent(in) :: key
type(btree_data_sp2d), intent(in) :: value
integer, intent(in), optional :: before
type(btree_node_i8_sp2d), optional POINTER:: subtree

private subroutine btree_simple_insertion_i8_sp2d(node, key, value, before, subtree)

Arguments

TypeIntentOptionalAttributesName
type(btree_node_i8_sp2d), intent(inout) :: node
integer(kind=keyt), intent(in) :: key
type(btree_data_sp2d), intent(in) :: value
integer, intent(in) :: before
type(btree_node_i8_sp2d), optional POINTER:: subtree

private subroutine btree_left_insertion_i8_sp2d(tree, node, new_node, key, value, before, split_pos, subtree)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_sp2d), intent(in) :: tree
type(btree_node_i8_sp2d), intent(inout) :: node
type(btree_node_i8_sp2d), intent(inout) :: new_node
integer(kind=keyt), intent(in) :: key
type(btree_data_sp2d), intent(in) :: value
integer, intent(in) :: before
integer, intent(in) :: split_pos
type(btree_node_i8_sp2d), optional POINTER:: subtree

private subroutine btree_right_insertion_i8_sp2d(tree, node, new_node, key, value, before, split_pos, subtree)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_sp2d), intent(in) :: tree
type(btree_node_i8_sp2d), intent(inout) :: node
type(btree_node_i8_sp2d), intent(inout) :: new_node
integer(kind=keyt), intent(in) :: key
type(btree_data_sp2d), intent(in) :: value
integer, intent(in) :: before
integer, intent(in) :: split_pos
type(btree_node_i8_sp2d), optional POINTER:: subtree

private subroutine btree_new_root_i8_sp2d(tree, key, value)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_sp2d), intent(inout) :: tree
integer(kind=keyt), intent(in) :: key
type(btree_data_sp2d), intent(in) :: value

private subroutine btree_new_node_i8_sp2d(tree, node)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_sp2d), intent(inout) :: tree
type(btree_node_i8_sp2d), POINTER:: node

private subroutine btree_free_node_i8_sp2d(node)

Arguments

TypeIntentOptionalAttributesName
type(btree_node_i8_sp2d), POINTER:: node

private subroutine btree_find_i8_sp2d(tree, key, value, exists)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_sp2d), intent(in) :: tree
integer(kind=keyt), intent(in) :: key
type(btree_data_sp2d), intent(out) :: value
logical, intent(out), optional :: exists

private subroutine btree_node_find_ge_pos_i8_sp2d(keys, key, position, filled)

Arguments

TypeIntentOptionalAttributesName
integer(kind=keyt), DIMENSION(:):: keys
integer(kind=keyt), intent(in) :: key
integer, intent(out) :: position
integer, intent(in) :: filled

private subroutine btree_node_find_gt_pos_i8_sp2d(keys, key, position, filled)

Arguments

TypeIntentOptionalAttributesName
integer(kind=keyt), DIMENSION(:):: keys
integer(kind=keyt), intent(in) :: key
integer, intent(out) :: position
integer, intent(in) :: filled

private subroutine btree_node_find_gte_pos_i8_sp2d(keys, key, position, filled, first)

Arguments

TypeIntentOptionalAttributesName
integer(kind=keyt), DIMENSION(:):: keys
integer(kind=keyt), intent(in) :: key
integer, intent(out) :: position
integer, intent(in) :: filled
integer, intent(in), optional :: first

private subroutine btree_find_full_i8_sp2d(tree, key, node, position, ge_position, short)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_sp2d), intent(in) :: tree
integer(kind=keyt), intent(in) :: key
type(btree_node_i8_sp2d), POINTER:: node
integer, intent(out) :: position
integer, intent(out), optional :: ge_position
logical, intent(in), optional :: short

private subroutine btree_find_leaf_i8_sp2d(tree, key, node, gti)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_sp2d), intent(in) :: tree
integer(kind=keyt), intent(in) :: key
type(btree_node_i8_sp2d), POINTER:: node
integer, intent(out) :: gti

private subroutine btree_new_i8_dp2d(tree, order)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_dp2d), intent(out) :: tree
integer, intent(in), optional :: order

private subroutine btree_adopt_subtrees_i8_dp2d(node)

Arguments

TypeIntentOptionalAttributesName
type(btree_node_i8_dp2d), POINTER:: node

private subroutine btree_delete_i8_dp2d(tree, keys, values)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_dp2d), intent(inout) :: tree
integer(kind=keyt), intent(out), optional DIMENSION(:):: keys
type(btree_data_dp2d), intent(out), optional DIMENSION(:):: values

private recursive subroutine btree_delete_node_i8_dp2d(node, pos, keys, values)

Arguments

TypeIntentOptionalAttributesName
type(btree_node_i8_dp2d), POINTER:: node
integer, intent(inout), optional :: pos
integer(kind=keyt), intent(inout), optional DIMENSION(:):: keys
type(btree_data_dp2d), intent(inout), optional DIMENSION(:):: values

private subroutine btree_add_i8_dp2d(tree, key, value, exists, existing_value, replace)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_dp2d), intent(inout) :: tree
integer(kind=keyt), intent(in) :: key
type(btree_data_dp2d), intent(in) :: value
logical, intent(out), optional :: exists
type(btree_data_dp2d), intent(out), optional :: existing_value
logical, intent(in), optional :: replace

private recursive subroutine btree_add_into_i8_dp2d(tree, node, key, value, before, subtree)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_dp2d), intent(inout) :: tree
type(btree_node_i8_dp2d), POINTER:: node
integer(kind=keyt), intent(in) :: key
type(btree_data_dp2d), intent(in) :: value
integer, intent(in), optional :: before
type(btree_node_i8_dp2d), optional POINTER:: subtree

private subroutine btree_simple_insertion_i8_dp2d(node, key, value, before, subtree)

Arguments

TypeIntentOptionalAttributesName
type(btree_node_i8_dp2d), intent(inout) :: node
integer(kind=keyt), intent(in) :: key
type(btree_data_dp2d), intent(in) :: value
integer, intent(in) :: before
type(btree_node_i8_dp2d), optional POINTER:: subtree

private subroutine btree_left_insertion_i8_dp2d(tree, node, new_node, key, value, before, split_pos, subtree)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_dp2d), intent(in) :: tree
type(btree_node_i8_dp2d), intent(inout) :: node
type(btree_node_i8_dp2d), intent(inout) :: new_node
integer(kind=keyt), intent(in) :: key
type(btree_data_dp2d), intent(in) :: value
integer, intent(in) :: before
integer, intent(in) :: split_pos
type(btree_node_i8_dp2d), optional POINTER:: subtree

private subroutine btree_right_insertion_i8_dp2d(tree, node, new_node, key, value, before, split_pos, subtree)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_dp2d), intent(in) :: tree
type(btree_node_i8_dp2d), intent(inout) :: node
type(btree_node_i8_dp2d), intent(inout) :: new_node
integer(kind=keyt), intent(in) :: key
type(btree_data_dp2d), intent(in) :: value
integer, intent(in) :: before
integer, intent(in) :: split_pos
type(btree_node_i8_dp2d), optional POINTER:: subtree

private subroutine btree_new_root_i8_dp2d(tree, key, value)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_dp2d), intent(inout) :: tree
integer(kind=keyt), intent(in) :: key
type(btree_data_dp2d), intent(in) :: value

private subroutine btree_new_node_i8_dp2d(tree, node)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_dp2d), intent(inout) :: tree
type(btree_node_i8_dp2d), POINTER:: node

private subroutine btree_free_node_i8_dp2d(node)

Arguments

TypeIntentOptionalAttributesName
type(btree_node_i8_dp2d), POINTER:: node

private subroutine btree_find_i8_dp2d(tree, key, value, exists)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_dp2d), intent(in) :: tree
integer(kind=keyt), intent(in) :: key
type(btree_data_dp2d), intent(out) :: value
logical, intent(out), optional :: exists

private subroutine btree_node_find_ge_pos_i8_dp2d(keys, key, position, filled)

Arguments

TypeIntentOptionalAttributesName
integer(kind=keyt), DIMENSION(:):: keys
integer(kind=keyt), intent(in) :: key
integer, intent(out) :: position
integer, intent(in) :: filled

private subroutine btree_node_find_gt_pos_i8_dp2d(keys, key, position, filled)

Arguments

TypeIntentOptionalAttributesName
integer(kind=keyt), DIMENSION(:):: keys
integer(kind=keyt), intent(in) :: key
integer, intent(out) :: position
integer, intent(in) :: filled

private subroutine btree_node_find_gte_pos_i8_dp2d(keys, key, position, filled, first)

Arguments

TypeIntentOptionalAttributesName
integer(kind=keyt), DIMENSION(:):: keys
integer(kind=keyt), intent(in) :: key
integer, intent(out) :: position
integer, intent(in) :: filled
integer, intent(in), optional :: first

private subroutine btree_find_full_i8_dp2d(tree, key, node, position, ge_position, short)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_dp2d), intent(in) :: tree
integer(kind=keyt), intent(in) :: key
type(btree_node_i8_dp2d), POINTER:: node
integer, intent(out) :: position
integer, intent(out), optional :: ge_position
logical, intent(in), optional :: short

private subroutine btree_find_leaf_i8_dp2d(tree, key, node, gti)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_dp2d), intent(in) :: tree
integer(kind=keyt), intent(in) :: key
type(btree_node_i8_dp2d), POINTER:: node
integer, intent(out) :: gti

private subroutine btree_new_i8_cp2d(tree, order)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_cp2d), intent(out) :: tree
integer, intent(in), optional :: order

private subroutine btree_adopt_subtrees_i8_cp2d(node)

Arguments

TypeIntentOptionalAttributesName
type(btree_node_i8_cp2d), POINTER:: node

private subroutine btree_delete_i8_cp2d(tree, keys, values)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_cp2d), intent(inout) :: tree
integer(kind=keyt), intent(out), optional DIMENSION(:):: keys
type(btree_data_cp2d), intent(out), optional DIMENSION(:):: values

private recursive subroutine btree_delete_node_i8_cp2d(node, pos, keys, values)

Arguments

TypeIntentOptionalAttributesName
type(btree_node_i8_cp2d), POINTER:: node
integer, intent(inout), optional :: pos
integer(kind=keyt), intent(inout), optional DIMENSION(:):: keys
type(btree_data_cp2d), intent(inout), optional DIMENSION(:):: values

private subroutine btree_add_i8_cp2d(tree, key, value, exists, existing_value, replace)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_cp2d), intent(inout) :: tree
integer(kind=keyt), intent(in) :: key
type(btree_data_cp2d), intent(in) :: value
logical, intent(out), optional :: exists
type(btree_data_cp2d), intent(out), optional :: existing_value
logical, intent(in), optional :: replace

private recursive subroutine btree_add_into_i8_cp2d(tree, node, key, value, before, subtree)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_cp2d), intent(inout) :: tree
type(btree_node_i8_cp2d), POINTER:: node
integer(kind=keyt), intent(in) :: key
type(btree_data_cp2d), intent(in) :: value
integer, intent(in), optional :: before
type(btree_node_i8_cp2d), optional POINTER:: subtree

private subroutine btree_simple_insertion_i8_cp2d(node, key, value, before, subtree)

Arguments

TypeIntentOptionalAttributesName
type(btree_node_i8_cp2d), intent(inout) :: node
integer(kind=keyt), intent(in) :: key
type(btree_data_cp2d), intent(in) :: value
integer, intent(in) :: before
type(btree_node_i8_cp2d), optional POINTER:: subtree

private subroutine btree_left_insertion_i8_cp2d(tree, node, new_node, key, value, before, split_pos, subtree)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_cp2d), intent(in) :: tree
type(btree_node_i8_cp2d), intent(inout) :: node
type(btree_node_i8_cp2d), intent(inout) :: new_node
integer(kind=keyt), intent(in) :: key
type(btree_data_cp2d), intent(in) :: value
integer, intent(in) :: before
integer, intent(in) :: split_pos
type(btree_node_i8_cp2d), optional POINTER:: subtree

private subroutine btree_right_insertion_i8_cp2d(tree, node, new_node, key, value, before, split_pos, subtree)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_cp2d), intent(in) :: tree
type(btree_node_i8_cp2d), intent(inout) :: node
type(btree_node_i8_cp2d), intent(inout) :: new_node
integer(kind=keyt), intent(in) :: key
type(btree_data_cp2d), intent(in) :: value
integer, intent(in) :: before
integer, intent(in) :: split_pos
type(btree_node_i8_cp2d), optional POINTER:: subtree

private subroutine btree_new_root_i8_cp2d(tree, key, value)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_cp2d), intent(inout) :: tree
integer(kind=keyt), intent(in) :: key
type(btree_data_cp2d), intent(in) :: value

private subroutine btree_new_node_i8_cp2d(tree, node)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_cp2d), intent(inout) :: tree
type(btree_node_i8_cp2d), POINTER:: node

private subroutine btree_free_node_i8_cp2d(node)

Arguments

TypeIntentOptionalAttributesName
type(btree_node_i8_cp2d), POINTER:: node

private subroutine btree_find_i8_cp2d(tree, key, value, exists)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_cp2d), intent(in) :: tree
integer(kind=keyt), intent(in) :: key
type(btree_data_cp2d), intent(out) :: value
logical, intent(out), optional :: exists

private subroutine btree_node_find_ge_pos_i8_cp2d(keys, key, position, filled)

Arguments

TypeIntentOptionalAttributesName
integer(kind=keyt), DIMENSION(:):: keys
integer(kind=keyt), intent(in) :: key
integer, intent(out) :: position
integer, intent(in) :: filled

private subroutine btree_node_find_gt_pos_i8_cp2d(keys, key, position, filled)

Arguments

TypeIntentOptionalAttributesName
integer(kind=keyt), DIMENSION(:):: keys
integer(kind=keyt), intent(in) :: key
integer, intent(out) :: position
integer, intent(in) :: filled

private subroutine btree_node_find_gte_pos_i8_cp2d(keys, key, position, filled, first)

Arguments

TypeIntentOptionalAttributesName
integer(kind=keyt), DIMENSION(:):: keys
integer(kind=keyt), intent(in) :: key
integer, intent(out) :: position
integer, intent(in) :: filled
integer, intent(in), optional :: first

private subroutine btree_find_full_i8_cp2d(tree, key, node, position, ge_position, short)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_cp2d), intent(in) :: tree
integer(kind=keyt), intent(in) :: key
type(btree_node_i8_cp2d), POINTER:: node
integer, intent(out) :: position
integer, intent(out), optional :: ge_position
logical, intent(in), optional :: short

private subroutine btree_find_leaf_i8_cp2d(tree, key, node, gti)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_cp2d), intent(in) :: tree
integer(kind=keyt), intent(in) :: key
type(btree_node_i8_cp2d), POINTER:: node
integer, intent(out) :: gti

private subroutine btree_new_i8_zp2d(tree, order)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_zp2d), intent(out) :: tree
integer, intent(in), optional :: order

private subroutine btree_adopt_subtrees_i8_zp2d(node)

Arguments

TypeIntentOptionalAttributesName
type(btree_node_i8_zp2d), POINTER:: node

private subroutine btree_delete_i8_zp2d(tree, keys, values)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_zp2d), intent(inout) :: tree
integer(kind=keyt), intent(out), optional DIMENSION(:):: keys
type(btree_data_zp2d), intent(out), optional DIMENSION(:):: values

private recursive subroutine btree_delete_node_i8_zp2d(node, pos, keys, values)

Arguments

TypeIntentOptionalAttributesName
type(btree_node_i8_zp2d), POINTER:: node
integer, intent(inout), optional :: pos
integer(kind=keyt), intent(inout), optional DIMENSION(:):: keys
type(btree_data_zp2d), intent(inout), optional DIMENSION(:):: values

private subroutine btree_add_i8_zp2d(tree, key, value, exists, existing_value, replace)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_zp2d), intent(inout) :: tree
integer(kind=keyt), intent(in) :: key
type(btree_data_zp2d), intent(in) :: value
logical, intent(out), optional :: exists
type(btree_data_zp2d), intent(out), optional :: existing_value
logical, intent(in), optional :: replace

private recursive subroutine btree_add_into_i8_zp2d(tree, node, key, value, before, subtree)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_zp2d), intent(inout) :: tree
type(btree_node_i8_zp2d), POINTER:: node
integer(kind=keyt), intent(in) :: key
type(btree_data_zp2d), intent(in) :: value
integer, intent(in), optional :: before
type(btree_node_i8_zp2d), optional POINTER:: subtree

private subroutine btree_simple_insertion_i8_zp2d(node, key, value, before, subtree)

Arguments

TypeIntentOptionalAttributesName
type(btree_node_i8_zp2d), intent(inout) :: node
integer(kind=keyt), intent(in) :: key
type(btree_data_zp2d), intent(in) :: value
integer, intent(in) :: before
type(btree_node_i8_zp2d), optional POINTER:: subtree

private subroutine btree_left_insertion_i8_zp2d(tree, node, new_node, key, value, before, split_pos, subtree)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_zp2d), intent(in) :: tree
type(btree_node_i8_zp2d), intent(inout) :: node
type(btree_node_i8_zp2d), intent(inout) :: new_node
integer(kind=keyt), intent(in) :: key
type(btree_data_zp2d), intent(in) :: value
integer, intent(in) :: before
integer, intent(in) :: split_pos
type(btree_node_i8_zp2d), optional POINTER:: subtree

private subroutine btree_right_insertion_i8_zp2d(tree, node, new_node, key, value, before, split_pos, subtree)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_zp2d), intent(in) :: tree
type(btree_node_i8_zp2d), intent(inout) :: node
type(btree_node_i8_zp2d), intent(inout) :: new_node
integer(kind=keyt), intent(in) :: key
type(btree_data_zp2d), intent(in) :: value
integer, intent(in) :: before
integer, intent(in) :: split_pos
type(btree_node_i8_zp2d), optional POINTER:: subtree

private subroutine btree_new_root_i8_zp2d(tree, key, value)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_zp2d), intent(inout) :: tree
integer(kind=keyt), intent(in) :: key
type(btree_data_zp2d), intent(in) :: value

private subroutine btree_new_node_i8_zp2d(tree, node)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_zp2d), intent(inout) :: tree
type(btree_node_i8_zp2d), POINTER:: node

private subroutine btree_free_node_i8_zp2d(node)

Arguments

TypeIntentOptionalAttributesName
type(btree_node_i8_zp2d), POINTER:: node

private subroutine btree_find_i8_zp2d(tree, key, value, exists)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_zp2d), intent(in) :: tree
integer(kind=keyt), intent(in) :: key
type(btree_data_zp2d), intent(out) :: value
logical, intent(out), optional :: exists

private subroutine btree_node_find_ge_pos_i8_zp2d(keys, key, position, filled)

Arguments

TypeIntentOptionalAttributesName
integer(kind=keyt), DIMENSION(:):: keys
integer(kind=keyt), intent(in) :: key
integer, intent(out) :: position
integer, intent(in) :: filled

private subroutine btree_node_find_gt_pos_i8_zp2d(keys, key, position, filled)

Arguments

TypeIntentOptionalAttributesName
integer(kind=keyt), DIMENSION(:):: keys
integer(kind=keyt), intent(in) :: key
integer, intent(out) :: position
integer, intent(in) :: filled

private subroutine btree_node_find_gte_pos_i8_zp2d(keys, key, position, filled, first)

Arguments

TypeIntentOptionalAttributesName
integer(kind=keyt), DIMENSION(:):: keys
integer(kind=keyt), intent(in) :: key
integer, intent(out) :: position
integer, intent(in) :: filled
integer, intent(in), optional :: first

private subroutine btree_find_full_i8_zp2d(tree, key, node, position, ge_position, short)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_zp2d), intent(in) :: tree
integer(kind=keyt), intent(in) :: key
type(btree_node_i8_zp2d), POINTER:: node
integer, intent(out) :: position
integer, intent(out), optional :: ge_position
logical, intent(in), optional :: short

private subroutine btree_find_leaf_i8_zp2d(tree, key, node, gti)

Arguments

TypeIntentOptionalAttributesName
type(btree_i8_zp2d), intent(in) :: tree
integer(kind=keyt), intent(in) :: key
type(btree_node_i8_zp2d), POINTER:: node
integer, intent(out) :: gti