Télécharger flot.eso

Retour à la liste

Numérotation des lignes :

  1. C FLOT SOURCE BP208322 16/05/24 21:15:07 8932
  2. C
  3.  
  4. C=======================================================================
  5. C
  6. C CONVERTIT : - UN ENTIER EN FLOTTANT
  7. C - OU UN LISTENTI/MOT/LISTMOTS EN LISTREEL
  8. C
  9. C=======================================================================
  10.  
  11. SUBROUTINE FLOT(CHA8,IVALIN,CHARIN,IOBIN,XVALRE,IOBRE)
  12. IMPLICIT REAL*8 (A-H,O-Z)
  13. IMPLICIT INTEGER(I-N)
  14.  
  15. -INC CCOPTIO
  16. -INC SMLENTI
  17. -INC SMLREEL
  18. -INC SMLMOTS
  19.  
  20. REAL*8 XVALRE
  21. CHARACTER*32 CHARIN
  22. CHARACTER*8 CHA8,CHAFMT
  23.  
  24. * Initialisations
  25. XVALRE=0.D0
  26. IOBRE=0
  27.  
  28. * Conversion d'un LISTENTI en LISTREEL
  29. IF (CHA8.EQ.'LISTENTI') THEN
  30. MLENTI=IOBIN
  31. SEGACT MLENTI
  32. JG=LECT(/1)
  33. SEGINI MLREEL
  34. DO IG=1,JG
  35. PROG(IG)=LECT(IG)
  36. ENDDO
  37. SEGDES MLREEL
  38. SEGDES MLENTI
  39. IOBRE=MLREEL
  40. RETURN
  41.  
  42. * Conversion d'un ENTIER en FLOTTANT
  43. ELSEIF (CHA8.EQ.'ENTIER') THEN
  44. XVALRE=IVALIN
  45. RETURN
  46.  
  47. * Conversion d'un LISTMOTS en LISTREEL
  48. ELSEIF (CHA8.EQ.'LISTMOTS') THEN
  49. MLMOTS=IOBIN
  50. SEGACT MLMOTS
  51. JG=MOTS(/2)
  52. SEGINI MLREEL
  53. DO IG=1,JG
  54. READ(MOTS(IG),FMT='(F4.0)',ERR=999) PROG(IG)
  55. ENDDO
  56. SEGDES MLREEL
  57. SEGDES MLMOTS
  58. IOBRE=MLREEL
  59. RETURN
  60.  
  61. * Conversion d'un MOT en FLOTTANT
  62. ELSEIF (CHA8.EQ.'MOT') THEN
  63. WRITE(CHAFMT,FMT='("(F",I2,".0)")') IVALIN
  64. READ(CHARIN(1:IVALIN),FMT=CHAFMT,ERR=999) XVALRE
  65. RETURN
  66.  
  67. ENDIF
  68.  
  69. C=======================================================================
  70. C ERREURS
  71. C=======================================================================
  72.  
  73. * /!\ ERREUR : AUCUN OBJET COMPATIBLE TROUVE
  74. 998 MOTERR(1:40)='ENTIER FLOTTANTLISTENTIMOT LISTMOTS'
  75. CALL ERREUR(471)
  76. RETURN
  77.  
  78. * /!\ ERREUR LORS DE LA CONVERSION MOT=>FLOTTANT
  79. 999 CALL ERREUR(21)
  80. RETURN
  81.  
  82. END
  83.  

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