build_axis_powers Subroutine

public subroutine build_axis_powers(d, order, xpow, ypow, zpow)

3 軸の冪を order まで順に計算する。

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: d(3)
integer(kind=i32), intent(in) :: order

計算する最大次数。

real(kind=dp), intent(out) :: xpow(0:order)
real(kind=dp), intent(out) :: ypow(0:order)
real(kind=dp), intent(out) :: zpow(0:order)

Called by

proc~~build_axis_powers~~CalledByGraph proc~build_axis_powers build_axis_powers proc~core_build_plan_impl core_build_plan_impl proc~core_build_plan_impl->proc~build_axis_powers 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~build_axis_powers proc~core_eval_points_impl core_eval_points_impl proc~core_eval_points_impl->proc~build_axis_powers proc~core_eval_potential_point_impl core_eval_potential_point_impl proc~core_eval_potential_point_impl->proc~build_axis_powers proc~core_eval_potential_points_impl core_eval_potential_points_impl proc~core_eval_potential_points_impl->proc~build_axis_powers proc~precompute_periodic_root_operator->proc~build_axis_powers

Source Code

  subroutine build_axis_powers(d, order, xpow, ypow, zpow)
    real(dp), intent(in) :: d(3)
    integer(i32), intent(in) :: order
    real(dp), intent(out) :: xpow(0:order), ypow(0:order), zpow(0:order)
    integer(i32) :: k

    xpow(0) = 1.0d0
    ypow(0) = 1.0d0
    zpow(0) = 1.0d0
    do k = 1_i32, order
      xpow(k) = xpow(k - 1_i32)*d(1)
      ypow(k) = ypow(k - 1_i32)*d(2)
      zpow(k) = zpow(k - 1_i32)*d(3)
    end do
  end subroutine build_axis_powers