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 :
© Cast3M 2003 - All rights reserved.
Disclaimer