Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ray3DPt), | intent(inout) | :: | ray1 | |||
type(ray3DPt), | intent(in) | :: | ray0 | |||
real(kind=8), | intent(in) | :: | h | |||
complex(kind=8), | intent(in) | :: | d_phi | |||
real(kind=8), | intent(in) | :: | d_p_tilde(2) | |||
real(kind=8), | intent(in) | :: | d_p_hat(2) | |||
real(kind=8), | intent(in) | :: | d_q_tilde(2) | |||
real(kind=8), | intent(in) | :: | d_q_hat(2) |
SUBROUTINE UpdateRayPQ ( ray1, ray0, h, d_phi, d_p_tilde, d_p_hat, d_q_tilde, d_q_hat ) TYPE( ray3DPt ), INTENT( INOUT ) :: ray1 TYPE( ray3DPt ), INTENT( IN ) :: ray0 REAL( KIND=8 ), INTENT( IN ) :: h COMPLEX( KIND=8 ), INTENT( IN ) :: d_phi REAL( KIND=8 ), INTENT( IN ) :: d_p_tilde( 2 ), d_p_hat( 2 ), d_q_tilde( 2 ), d_q_hat( 2 ) ray1%phi = ray0%phi + h * d_phi ray1%p_tilde = ray0%p_tilde + h * d_p_tilde ray1%q_tilde = ray0%q_tilde + h * d_q_tilde ray1%p_hat = ray0%p_hat + h * d_p_hat ray1%q_hat = ray0%q_hat + h * d_q_hat ! LP: no longer missing the hw0 / hw1 blend ! ray1%f = ray0%f + h * d_f ! ray1%g = ray0%g + h * d_g ! ray1%h = ray0%h + h * d_h ! ray1%DetP = ray0%DetP + h * d_DetP ! ray1%DetQ = ray0%DetQ + h * d_DetQ END SUBROUTINE UpdateRayPQ