home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / fortran / library / ssp / matstor / convt.for < prev    next >
Text File  |  1985-11-29  |  2KB  |  77 lines

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE CONVT
  5. C
  6. C        PURPOSE
  7. C           CONVERT NUMBERS FROM SINGLE PRECISION TO DOUBLE PRECISION
  8. C           OR FROM DOUBLE PRECISION TO SINGLE PRECISION.
  9. C
  10. C        USAGE
  11. C           CALL CONVT (N,M,MODE,S,D,MS)
  12. C
  13. C        DESCRIPTION OF PARAMETERS
  14. C           N    - NUMBER OF ROWS IN MATRICES S AND D.
  15. C           M    - NUMBER OF COLUMNS IN MATRICES S AND D.
  16. C           MODE - CODE INDICATING TYPE OF CONVERSION
  17. C                    1 - FROM SINGLE PRECISION TO DOUBLE PRECISION
  18. C                    2 - FROM DOUBLE PRECISION TO SINGLE PRECISION
  19. C           S    - IF MODE=1, THIS MATRIX CONTAINS SINGLE PRECISION
  20. C                  NUMBERS AS INPUT.  IF MODE=2, IT CONTAINS SINGLE
  21. C                  PRECISION NUMBERS AS OUTPUT.  THE SIZE OF MATRIX S
  22. C                  IS N BY M.
  23. C           D    - IF MODE=1, THIS MATRIX CONTAINS DOUBLE PRECISION
  24. C                  NUMBERS AS OUTPUT.  IF MODE=2, IT CONTAINS DOUBLE
  25. C                  PRECISION NUMBERS AS INPUT.  THE SIZE OF MATRIX D IS
  26. C                  N BY M.
  27. C           MS   - ONE DIGIT NUMBER FOR STORAGE MODE OF MATRIX
  28. C                    0 - GENERAL
  29. C                    1 - SYMMETRIC
  30. C                    2 - DIAGONAL
  31. C
  32. C        REMARKS
  33. C           MATRIX D CANNOT BE IN THE SAME LOCATION AS MATRIX S.
  34. C           MATRIX D MUST BE DEFINED BY A DOUBLE PRECISION STATEMENT IN
  35. C           THE CALLING PROGRAM.
  36. C
  37. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  38. C           NONE
  39. C
  40. C        METHOD
  41. C           ACCORDING TO THE TYPE OF CONVERSION INDICATED IN MODE, THIS
  42. C           SUBROUTINE COPIES NUMBERS FROM MATRIX S TO MATRIX D OR FROM
  43. C           MATRIX D TO MATRIX S.
  44. C
  45. C     ..................................................................
  46. C
  47.       SUBROUTINE CONVT (N,M,MODE,S,D,MS)
  48.       DIMENSION S(1),D(1)
  49.       DOUBLE PRECISION D
  50. C
  51. C        FIND STORAGE MODE OF MATRIX AND NUMBER OF DATA POINTS
  52. C
  53.       IF(MS-1) 2, 4, 6
  54.     2 NM=N*M
  55.       GO TO 8
  56.     4 NM=((N+1)*N)/2
  57.       GO TO 8
  58.     6 NM=N
  59. C
  60. C        TEST TYPE OF CONVERSION
  61. C
  62.     8 IF(MODE-1) 10, 10, 20
  63. C
  64. C        SINGLE PRECISION TO DOUBLE PRECISION
  65. C
  66.    10 DO 15 L=1,NM
  67.    15 D(L)=S(L)
  68.       GO TO 30
  69. C
  70. C        DOUBLE PRECISION TO SINGLE PRECISION
  71. C
  72.    20 DO 25 L=1,NM
  73.    25 S(L)=D(L)
  74. C
  75.    30 RETURN
  76.       END
  77.