elliptic_nome_by_epsilon_09_horner Function

private elemental function elliptic_nome_by_epsilon_09_horner(pw01_eps, pw04_eps, pre_step) result(q)

Calculate the following for the given and :

Arguments

Type IntentOptional Attributes Name
real(kind=real128), intent(in) :: pw01_eps

auxiliary parameter

real(kind=real128), intent(in) :: pw04_eps

real(kind=real128), intent(in) :: pre_step

Return Value real(kind=real128)

elliptic nome


Calls

proc~~elliptic_nome_by_epsilon_09_horner~2~~CallsGraph proc~elliptic_nome_by_epsilon_09_horner~2 elliptic_nome_by_epsilon_09_horner proc~elliptic_nome_by_epsilon_05_horner~2 elliptic_nome_by_epsilon_05_horner proc~elliptic_nome_by_epsilon_09_horner~2->proc~elliptic_nome_by_epsilon_05_horner~2

Called by

proc~~elliptic_nome_by_epsilon_09_horner~2~~CalledByGraph proc~elliptic_nome_by_epsilon_09_horner~2 elliptic_nome_by_epsilon_09_horner proc~elliptic_nome_by_epsilon_09~2 elliptic_nome_by_epsilon_09 proc~elliptic_nome_by_epsilon_09~2->proc~elliptic_nome_by_epsilon_09_horner~2 proc~elliptic_nome_by_epsilon_13_horner~2 elliptic_nome_by_epsilon_13_horner proc~elliptic_nome_by_epsilon_13_horner~2->proc~elliptic_nome_by_epsilon_09_horner~2 proc~elliptic_nome_09_real128 elliptic_nome_09_real128 proc~elliptic_nome_09_real128->proc~elliptic_nome_by_epsilon_09~2 proc~elliptic_nome_auto_real128 elliptic_nome_auto_real128 proc~elliptic_nome_auto_real128->proc~elliptic_nome_by_epsilon_09~2 proc~elliptic_nome_by_epsilon_13~2 elliptic_nome_by_epsilon_13 proc~elliptic_nome_auto_real128->proc~elliptic_nome_by_epsilon_13~2 proc~elliptic_nome_by_epsilon_17~2 elliptic_nome_by_epsilon_17 proc~elliptic_nome_auto_real128->proc~elliptic_nome_by_epsilon_17~2 proc~elliptic_nome_by_epsilon_21~2 elliptic_nome_by_epsilon_21 proc~elliptic_nome_auto_real128->proc~elliptic_nome_by_epsilon_21~2 proc~elliptic_nome_by_epsilon_25~2 elliptic_nome_by_epsilon_25 proc~elliptic_nome_auto_real128->proc~elliptic_nome_by_epsilon_25~2 proc~elliptic_nome_by_epsilon_29~2 elliptic_nome_by_epsilon_29 proc~elliptic_nome_auto_real128->proc~elliptic_nome_by_epsilon_29~2 proc~elliptic_nome_by_epsilon_33~2 elliptic_nome_by_epsilon_33 proc~elliptic_nome_auto_real128->proc~elliptic_nome_by_epsilon_33~2 proc~elliptic_nome_by_epsilon_13~2->proc~elliptic_nome_by_epsilon_13_horner~2 proc~elliptic_nome_by_epsilon_17_horner~2 elliptic_nome_by_epsilon_17_horner proc~elliptic_nome_by_epsilon_17_horner~2->proc~elliptic_nome_by_epsilon_13_horner~2 interface~elliptic_nome_09 elliptic_nome_09 interface~elliptic_nome_09->proc~elliptic_nome_09_real128 interface~elliptic_nome_auto elliptic_nome_auto interface~elliptic_nome_auto->proc~elliptic_nome_auto_real128 proc~elliptic_nome_13_real128 elliptic_nome_13_real128 proc~elliptic_nome_13_real128->proc~elliptic_nome_by_epsilon_13~2 proc~elliptic_nome_by_epsilon_17~2->proc~elliptic_nome_by_epsilon_17_horner~2 proc~elliptic_nome_by_epsilon_21_horner~2 elliptic_nome_by_epsilon_21_horner proc~elliptic_nome_by_epsilon_21_horner~2->proc~elliptic_nome_by_epsilon_17_horner~2 interface~elliptic_nome_13 elliptic_nome_13 interface~elliptic_nome_13->proc~elliptic_nome_13_real128 proc~elliptic_nome_17_real128 elliptic_nome_17_real128 proc~elliptic_nome_17_real128->proc~elliptic_nome_by_epsilon_17~2 proc~elliptic_nome_by_epsilon_21~2->proc~elliptic_nome_by_epsilon_21_horner~2 proc~elliptic_nome_by_epsilon_25_horner~2 elliptic_nome_by_epsilon_25_horner proc~elliptic_nome_by_epsilon_25_horner~2->proc~elliptic_nome_by_epsilon_21_horner~2 interface~elliptic_nome_17 elliptic_nome_17 interface~elliptic_nome_17->proc~elliptic_nome_17_real128 proc~elliptic_nome_21_real128 elliptic_nome_21_real128 proc~elliptic_nome_21_real128->proc~elliptic_nome_by_epsilon_21~2 proc~elliptic_nome_by_epsilon_25~2->proc~elliptic_nome_by_epsilon_25_horner~2 proc~elliptic_nome_by_epsilon_29_horner~2 elliptic_nome_by_epsilon_29_horner proc~elliptic_nome_by_epsilon_29_horner~2->proc~elliptic_nome_by_epsilon_25_horner~2 interface~elliptic_nome_21 elliptic_nome_21 interface~elliptic_nome_21->proc~elliptic_nome_21_real128 proc~elliptic_nome_25_real128 elliptic_nome_25_real128 proc~elliptic_nome_25_real128->proc~elliptic_nome_by_epsilon_25~2 proc~elliptic_nome_by_epsilon_29~2->proc~elliptic_nome_by_epsilon_29_horner~2 proc~elliptic_nome_by_epsilon_33_horner~2 elliptic_nome_by_epsilon_33_horner proc~elliptic_nome_by_epsilon_33_horner~2->proc~elliptic_nome_by_epsilon_29_horner~2 interface~elliptic_nome_25 elliptic_nome_25 interface~elliptic_nome_25->proc~elliptic_nome_25_real128 proc~elliptic_nome_29_real128 elliptic_nome_29_real128 proc~elliptic_nome_29_real128->proc~elliptic_nome_by_epsilon_29~2 proc~elliptic_nome_by_epsilon_33~2->proc~elliptic_nome_by_epsilon_33_horner~2 interface~elliptic_nome_29 elliptic_nome_29 interface~elliptic_nome_29->proc~elliptic_nome_29_real128 proc~elliptic_nome_33_real128 elliptic_nome_33_real128 proc~elliptic_nome_33_real128->proc~elliptic_nome_by_epsilon_33~2 interface~elliptic_nome_33 elliptic_nome_33 interface~elliptic_nome_33->proc~elliptic_nome_33_real128

Source Code

    elemental function elliptic_nome_by_epsilon_09_horner(pw01_eps, pw04_eps, pre_step) result(q)
        !! Calculate the following for the given \( \varepsilon \) and \( { \varepsilon }^{ 4 } \):
        !! $$
        !! \begin{aligned}
        !! \varepsilon \cdot {}
        !! & ( 1 + { \varepsilon }^{ 4 } \cdot \\
        !! & ( 2 + { \varepsilon }^{ 4 } \cdot \texttt{pre_step} ) \\
        !! & ) \\
        !! \end{aligned}
        !! $$

        real(real128), intent(in) :: pw01_eps !! auxiliary parameter \( \varepsilon \)

        real(real128), intent(in) :: pw04_eps !! \( { \varepsilon }^{ 4 } \)

        real(real128), intent(in) :: pre_step



        real(real128) :: q !! elliptic nome \( q \)



        q = &!
            elliptic_nome_by_epsilon_05_horner(&!
                pw01_eps = pw01_eps                   , &!
                pw04_eps = pw04_eps                   , &!
                pre_step = pw04_eps * pre_step + c_05   &!
            )

    end function elliptic_nome_by_epsilon_09_horner