Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer | :: | n | ||||
doubleprecision | :: | dx(*) | ||||
integer | :: | incx | ||||
doubleprecision | :: | dy(*) | ||||
integer | :: | incy | ||||
doubleprecision | :: | c | ||||
doubleprecision | :: | s |
subroutine mat_rrot(n,dx,incx,dy,incy,c,s) ! ident_27="@(#)M_LA::mat_rrot(3f): Applies a plane rotation." integer :: n doubleprecision :: dx(*) integer :: incx doubleprecision :: dy(*) integer :: incy doubleprecision :: c doubleprecision :: s doubleprecision :: dtemp integer :: i integer :: ix integer :: iy ! if (n.gt.0) then ix = 1 iy = 1 if (incx.lt.0) ix = (-n+1)*incx + 1 if (incy.lt.0) iy = (-n+1)*incy + 1 do i = 1,n dtemp = mat_flop(c*dx(ix) + s*dy(iy)) dy(iy) = mat_flop(c*dy(iy) - s*dx(ix)) dx(ix) = dtemp ix = ix + incx iy = iy + incy enddo endif end subroutine mat_rrot