Télécharger mtconv.eso

Retour à la liste

Numérotation des lignes :

mtconv
  1. C MTCONV SOURCE OF166741 24/03/28 21:15:09 11811
  2.  
  3. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  4. C MTCONV : MED TYPE CONVERSION
  5. C Cette SUBROUTINE permet de convertir des types issus de
  6. C MED 4.x.x en REAL*8 pour Cast3M
  7. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  8.  
  9. SUBROUTINE MTCONV(mtype,IVALI4,IVALI8,XVALI4,XVALI8,ITAIL,
  10. & XVALOU,iret)
  11.  
  12. IMPLICIT INTEGER(I-N)
  13. IMPLICIT REAL*8(A-H,O-Z)
  14.  
  15. -INC PPARAM
  16. -INC CCOPTIO
  17.  
  18. -INC CCMED
  19.  
  20. INTEGER ITAIL, iret
  21. C Si MED nous a donne des INTEGER*4
  22. INTEGER*4 IVALI4(*)
  23. C Si MED nous a donne des INTEGER*8
  24. INTEGER IVALI8(*)
  25. C Si MED nous a donne des REAL*4
  26. REAL*4 XVALI4(*)
  27. C Si MED nous a donne des REAL*8
  28. REAL*8 XVALI8(*)
  29. C Restitution dans des REAL*8
  30. REAL*8 XVALOU(*)
  31.  
  32. iret = 0
  33.  
  34. C Cas des MED_INT32
  35. IF (mtype .EQ. MED_INT32) THEN
  36. DO ii = 1, ITAIL
  37. XVALOU(ii) = IVALI4(ii)
  38. ENDDO
  39.  
  40. C Cas des MED_INT64
  41. ELSE IF (mtype .EQ. MED_INT64) THEN
  42. DO ii = 1, ITAIL
  43. XVALOU(ii) = IVALI8(ii)
  44. ENDDO
  45.  
  46. C Cas des MED_FLOAT32
  47. ELSE IF (mtype .EQ. MED_FLOAT32) THEN
  48. DO ii = 1, ITAIL
  49. XVALOU(ii) = XVALI4(ii)
  50. ENDDO
  51.  
  52. C Cas des MED_FLOAT64
  53. ELSE IF (mtype .EQ. MED_FLOAT64) THEN
  54. DO ii = 1, ITAIL
  55. XVALOU(ii) = XVALI8(ii)
  56. ENDDO
  57.  
  58. ELSE
  59. iret = 1095
  60. INTERR(1) = mtype
  61. CALL ERREUR(iret)
  62. ENDIF
  63.  
  64. c RETURN
  65. END
  66.  
  67.  
  68.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales