Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer | :: | n | ||||
doubleprecision | :: | xr(*) | ||||
doubleprecision | :: | xi(*) | ||||
integer | :: | incx | ||||
doubleprecision | :: | yr(*) | ||||
doubleprecision | :: | yi(*) | ||||
integer | :: | incy |
subroutine mat_wswap(n,xr,xi,incx,yr,yi,incy) integer :: n doubleprecision :: xr(*) doubleprecision :: xi(*) integer :: incx doubleprecision :: yr(*) doubleprecision :: yi(*) integer :: incy doubleprecision :: t integer :: i integer :: ix integer :: iy if (n .le. 0) return 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 t = xr(ix) xr(ix) = yr(iy) yr(iy) = t t = xi(ix) xi(ix) = yi(iy) yi(iy) = t ix = ix + incx iy = iy + incy enddo end subroutine mat_wswap