delete_from_linked_list Subroutine

private subroutine delete_from_linked_list(level, tree)

Uses

  • proc~~delete_from_linked_list~~UsesGraph proc~delete_from_linked_list delete_from_linked_list module~mod_forest mod_forest proc~delete_from_linked_list->module~mod_forest

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: level
type(tree_node_ptr) :: tree

Called by

proc~~delete_from_linked_list~~CalledByGraph proc~delete_from_linked_list delete_from_linked_list proc~coarsen_tree_leaf coarsen_tree_leaf proc~coarsen_tree_leaf->proc~delete_from_linked_list proc~refine_tree_leaf refine_tree_leaf proc~refine_tree_leaf->proc~delete_from_linked_list proc~amr_coarsen_refine amr_coarsen_refine proc~amr_coarsen_refine->proc~coarsen_tree_leaf proc~amr_coarsen_refine->proc~refine_tree_leaf proc~resettree resettree proc~resettree->proc~amr_coarsen_refine proc~resettree_convert resettree_convert proc~resettree_convert->proc~amr_coarsen_refine proc~settree settree proc~settree->proc~amr_coarsen_refine proc~main main proc~main->proc~resettree_convert proc~main->proc~settree proc~timeintegration timeintegration proc~main->proc~timeintegration proc~timeintegration->proc~resettree program~agile agile program~agile->proc~main

Source Code

  subroutine delete_from_linked_list(level,tree)
    use mod_forest
    implicit none

    integer, intent(in) :: level
    type(tree_node_ptr) :: tree

    type(tree_node_ptr) :: next, prev

    prev%node => tree%node%prev%node
    next%node => tree%node%next%node
    if (associated(next%node).and.associated(prev%node)) then
       prev%node%next%node => next%node
       next%node%prev%node => prev%node
    else if (associated(prev%node)) then
       level_tail(level)%node => prev%node
       nullify(prev%node%next%node)
    else if (associated(next%node)) then
       level_head(level)%node => next%node
       nullify(next%node%prev%node)
    else
       nullify(level_head(level)%node)
       nullify(level_tail(level)%node)
    end if

  end subroutine delete_from_linked_list