wnlt3.f 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. *DECK WNLT3
  2. SUBROUTINE WNLT3 (I, IMAX, M, MDW, IPIVOT, H, W)
  3. C***BEGIN PROLOGUE WNLT3
  4. C***SUBSIDIARY
  5. C***PURPOSE Subsidiary to WNLIT
  6. C***LIBRARY SLATEC
  7. C***TYPE SINGLE PRECISION (WNLT3-S, DWNLT3-D)
  8. C***AUTHOR Hanson, R. J., (SNLA)
  9. C Haskell, K. H., (SNLA)
  10. C***DESCRIPTION
  11. C
  12. C Perform column interchange.
  13. C Exchange elements of permuted index vector and perform column
  14. C interchanges.
  15. C
  16. C***SEE ALSO WNLIT
  17. C***ROUTINES CALLED SSWAP
  18. C***REVISION HISTORY (YYMMDD)
  19. C 790701 DATE WRITTEN
  20. C 890620 Code extracted from WNLT and made a subroutine. (RWC))
  21. C***END PROLOGUE WNLT3
  22. INTEGER I, IMAX, IPIVOT(*), M, MDW
  23. REAL H(*), W(MDW,*)
  24. C
  25. EXTERNAL SSWAP
  26. C
  27. REAL T
  28. INTEGER ITEMP
  29. C
  30. C***FIRST EXECUTABLE STATEMENT WNLT3
  31. IF (IMAX.NE.I) THEN
  32. ITEMP = IPIVOT(I)
  33. IPIVOT(I) = IPIVOT(IMAX)
  34. IPIVOT(IMAX) = ITEMP
  35. C
  36. CALL SSWAP(M, W(1,IMAX), 1, W(1,I), 1)
  37. C
  38. T = H(IMAX)
  39. H(IMAX) = H(I)
  40. H(I) = T
  41. ENDIF
  42. RETURN
  43. END