1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- *DECK DWNLT3
- SUBROUTINE DWNLT3 (I, IMAX, M, MDW, IPIVOT, H, W)
- C***BEGIN PROLOGUE DWNLT3
- C***SUBSIDIARY
- C***PURPOSE Subsidiary to WNLIT
- C***LIBRARY SLATEC
- C***TYPE DOUBLE PRECISION (WNLT3-S, DWNLT3-D)
- C***AUTHOR Hanson, R. J., (SNLA)
- C Haskell, K. H., (SNLA)
- C***DESCRIPTION
- C
- C Perform column interchange.
- C Exchange elements of permuted index vector and perform column
- C interchanges.
- C
- C***SEE ALSO DWNLIT
- C***ROUTINES CALLED DSWAP
- C***REVISION HISTORY (YYMMDD)
- C 790701 DATE WRITTEN
- C 890620 Code extracted from WNLIT and made a subroutine. (RWC))
- C 900604 DP version created from SP version. (RWC)
- C***END PROLOGUE DWNLT3
- INTEGER I, IMAX, IPIVOT(*), M, MDW
- DOUBLE PRECISION H(*), W(MDW,*)
- C
- EXTERNAL DSWAP
- C
- DOUBLE PRECISION T
- INTEGER ITEMP
- C
- C***FIRST EXECUTABLE STATEMENT DWNLT3
- IF (IMAX.NE.I) THEN
- ITEMP = IPIVOT(I)
- IPIVOT(I) = IPIVOT(IMAX)
- IPIVOT(IMAX) = ITEMP
- C
- CALL DSWAP(M, W(1,IMAX), 1, W(1,I), 1)
- C
- T = H(IMAX)
- H(IMAX) = H(I)
- H(I) = T
- ENDIF
- RETURN
- END
|