C BORAXE    SOURCE    CHAT      05/01/12    21:42:10     5004
      SUBROUTINE BORAXE(BINF,BSUP,ZLOG)
      IMPLICIT LOGICAL (Z)
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8 (A-H,O-Y)
*
*     CONVERTIT LES BORNES EN LOG SI AXE LOGARITHMIQUE
*     AJOUTE UN DELTA SI BINF=BSUP
*

*
* BINF (E/S) BORNE INFERIEURE
* BUSP (E/S) BORNE SUPERIEURE
* ZLOG (E)  LOGIQUE INDIQUANT SI AXE  LOGARITHMIQUE
*
       D=ABS(BSUP-BINF)
       IF (ZLOG) THEN
          BINF=LOG10(BINF)
          BSUP=LOG10(BSUP)

          IF (BINF .LT. 0) THEN
             CORR1=-1
          ELSE
             CORR1=0
          ENDIF
          IF (BSUP .LT. 0 ) THEN
             CORR2=0
          ELSE
             CORR2=1
          ENDIF
          IF (BINF.NE.AINT(BINF)) BINF=AINT(BINF)+CORR1
          IF (BSUP.NE.AINT(BSUP)) BSUP=AINT(BSUP)+CORR2
*
*         SI TRAIT HORIZONTAL ON PREND UNE DECADE EN PLUS DE CHAQUE
*         COTE
*
          IF (BINF.EQ.BSUP) THEN
             BINF=BINF-1
             BSUP=BSUP+1
          ENDIF
       ELSE
*
*         SI TRAIT HORIZONTAL ON PREND 1/1000    EN PLUS DE CHAQUE
*         COTE
*
          IF (BINF.EQ.BSUP) THEN
             IP=ICALP(BINF,BSUP)
             BINF=(BINF/10**REAL(IP)-1)*10**REAL(IP)
             BSUP=(BSUP/10**REAL(IP)+1)*10**REAL(IP)
          ENDIF
      ENDIF

      END






