指定深さのレベル範囲を返す。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(fmm_plan_type), | intent(in) | :: | plan |
FMM 計画。 |
||
| logical, | intent(in) | :: | use_target_tree |
target 木を使うなら |
||
| integer(kind=i32), | intent(in) | :: | depth |
深さ。 |
||
| integer(kind=i32), | intent(out) | :: | level_start_pos |
レベル先頭位置。 |
||
| integer(kind=i32), | intent(out) | :: | level_end_pos |
レベル先頭位置。 レベル末尾位置。 |
pure subroutine active_tree_level_bounds(plan, use_target_tree, depth, level_start_pos, level_end_pos) type(fmm_plan_type), intent(in) :: plan logical, intent(in) :: use_target_tree integer(i32), intent(in) :: depth integer(i32), intent(out) :: level_start_pos, level_end_pos if (use_target_tree) then level_start_pos = plan%target_level_start(depth + 1_i32) level_end_pos = plan%target_level_start(depth + 2_i32) - 1_i32 else level_start_pos = plan%node_level_start(depth + 1_i32) level_end_pos = plan%node_level_start(depth + 2_i32) - 1_i32 end if end subroutine active_tree_level_bounds