Télécharger boraxe.eso

Retour à la liste

Numérotation des lignes :

boraxe
  1. C BORAXE SOURCE CHAT 05/01/12 21:42:10 5004
  2. SUBROUTINE BORAXE(BINF,BSUP,ZLOG)
  3. IMPLICIT LOGICAL (Z)
  4. IMPLICIT INTEGER(I-N)
  5. IMPLICIT REAL*8 (A-H,O-Y)
  6. *
  7. * CONVERTIT LES BORNES EN LOG SI AXE LOGARITHMIQUE
  8. * AJOUTE UN DELTA SI BINF=BSUP
  9. *
  10.  
  11. *
  12. * BINF (E/S) BORNE INFERIEURE
  13. * BUSP (E/S) BORNE SUPERIEURE
  14. * ZLOG (E) LOGIQUE INDIQUANT SI AXE LOGARITHMIQUE
  15. *
  16. D=ABS(BSUP-BINF)
  17. IF (ZLOG) THEN
  18. BINF=LOG10(BINF)
  19. BSUP=LOG10(BSUP)
  20.  
  21. IF (BINF .LT. 0) THEN
  22. CORR1=-1
  23. ELSE
  24. CORR1=0
  25. ENDIF
  26. IF (BSUP .LT. 0 ) THEN
  27. CORR2=0
  28. ELSE
  29. CORR2=1
  30. ENDIF
  31. IF (BINF.NE.AINT(BINF)) BINF=AINT(BINF)+CORR1
  32. IF (BSUP.NE.AINT(BSUP)) BSUP=AINT(BSUP)+CORR2
  33. *
  34. * SI TRAIT HORIZONTAL ON PREND UNE DECADE EN PLUS DE CHAQUE
  35. * COTE
  36. *
  37. IF (BINF.EQ.BSUP) THEN
  38. BINF=BINF-1
  39. BSUP=BSUP+1
  40. ENDIF
  41. ELSE
  42. *
  43. * SI TRAIT HORIZONTAL ON PREND 1/1000 EN PLUS DE CHAQUE
  44. * COTE
  45. *
  46. IF (BINF.EQ.BSUP) THEN
  47. IP=ICALP(BINF,BSUP)
  48. BINF=(BINF/10**REAL(IP)-1)*10**REAL(IP)
  49. BSUP=(BSUP/10**REAL(IP)+1)*10**REAL(IP)
  50. ENDIF
  51. ENDIF
  52.  
  53. END
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  

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