split_points Subroutine

public pure subroutine split_points(x, p)

Points x(3, n) into p(xyz and distance, high/low, n): the floats nearest, and the rest (the distances are left as they are).

Arguments

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

(3, n)

real(kind=c_float), intent(inout) :: p(:,:,:)

(4, 2, n)


Called by

proc~~split_points~~CalledByGraph proc~split_points split_points proc~update_ribbon_tail RibbonArtist%update_ribbon_tail proc~update_ribbon_tail->proc~split_points proc~update_tail CurveArtist%update_tail proc~update_tail->proc~split_points proc~write_curve CurveArtist%write_curve proc~write_curve->proc~split_points proc~write_intermediates write_intermediates proc~write_intermediates->proc~split_points proc~write_marker write_marker proc~write_marker->proc~split_points proc~write_ribbon RibbonArtist%write_ribbon proc~write_ribbon->proc~split_points proc~write_segments write_segments proc~write_segments->proc~split_points proc~write_segments~2 write_segments proc~write_segments~2->proc~split_points proc~add_intermediates add_intermediates proc~add_intermediates->proc~write_intermediates proc~marker_update MarkerArtist%marker_update proc~marker_update->proc~write_marker proc~marker_update->proc~add_intermediates proc~segment_update SegmentArtist%segment_update proc~segment_update->proc~write_segments proc~segments_late_update CustomLineSegments%segments_late_update proc~segments_late_update->proc~write_segments~2

Source Code

    pure subroutine split_points(x, p)
        real(wp), intent(in) :: x(:,:)              !! (3, n)
        real(c_float), intent(inout) :: p(:,:,:)    !! (4, 2, n)
        p(1:3, 1, :) = real(x, c_float)
        p(1:3, 2, :) = real(x - real(p(1:3, 1, :), wp), c_float)
    end subroutine split_points