dcubrt Function

private pure function dcubrt(x) result(c)

Cube root computed accurately, by incorporating one Newton-Raphson iteration.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: x

Return Value real(kind=wp)


Called by

proc~~dcubrt~~CalledByGraph proc~dcubrt gooding_module::dcubrt proc~dcbsol gooding_module::dcbsol proc~dcbsol->proc~dcubrt proc~shkepl gooding_module::shkepl proc~shkepl->proc~dcubrt proc~ekepl gooding_module::ekepl proc~ekepl->proc~dcbsol proc~els2pv gooding_module::els2pv proc~els2pv->proc~dcbsol proc~els2pv->proc~shkepl proc~els2pv->proc~ekepl proc~els3pv gooding_module::els3pv proc~els3pv->proc~els2pv proc~propagate gooding_module::propagate proc~propagate->proc~els3pv

Source Code

    pure function dcubrt(x) result(c)

    implicit none

    real(wp)            :: c
    real(wp),intent(in) :: x

    real(wp) :: y

    if (x==zero) then
        c = zero
    else
        y = abs(x)
        c = y**athird
        c = c - athird*(c - y/c**2)
        c = sign(c,x)
    end if

    end function dcubrt