active_tree_child_idx Function

public pure function active_tree_child_idx(plan, use_target_tree, child_k, node_idx)

有効な木の子ノード番号を返す。

Arguments

Type IntentOptional Attributes Name
type(fmm_plan_type), intent(in) :: plan

FMM 計画。

logical, intent(in) :: use_target_tree

target 木を使うなら .true.

integer(kind=i32), intent(in) :: child_k

子の連番。

integer(kind=i32), intent(in) :: node_idx

子の連番。 親ノード番号。

Return Value integer(kind=i32)


Called by

proc~~active_tree_child_idx~~CalledByGraph proc~active_tree_child_idx active_tree_child_idx proc~core_build_plan_impl core_build_plan_impl proc~core_build_plan_impl->proc~active_tree_child_idx proc~precompute_periodic_root_operator precompute_periodic_root_operator proc~core_build_plan_impl->proc~precompute_periodic_root_operator proc~core_eval_point_impl core_eval_point_impl proc~core_eval_point_impl->proc~active_tree_child_idx proc~core_eval_points_impl core_eval_points_impl proc~core_eval_points_impl->proc~active_tree_child_idx proc~core_eval_potential_point_impl core_eval_potential_point_impl proc~core_eval_potential_point_impl->proc~active_tree_child_idx proc~core_eval_potential_points_impl core_eval_potential_points_impl proc~core_eval_potential_points_impl->proc~active_tree_child_idx proc~precompute_periodic_root_operator->proc~active_tree_child_idx

Source Code

  pure integer(i32) function active_tree_child_idx(plan, use_target_tree, child_k, node_idx)
    type(fmm_plan_type), intent(in) :: plan
    logical, intent(in) :: use_target_tree
    integer(i32), intent(in) :: child_k, node_idx

    if (use_target_tree) then
      active_tree_child_idx = plan%target_child_idx(child_k, node_idx)
    else
      active_tree_child_idx = plan%child_idx(child_k, node_idx)
    end if
  end function active_tree_child_idx