home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d4xx / d499 / diglib.lha / Diglib / diglib.lzh / source / LAXIS.for < prev    next >
Encoding:
Text File  |  1991-04-13  |  971 b   |  32 lines

  1.         SUBROUTINE LAXIS(ALOW,AHIGH,MAXTCK,BMIN,BMAX,BTICK)
  2.         IMPLICIT NONE
  3.         REAL*4 ALOW,AHIGH,BMIN,BMAX,BTICK,SMLREL,RANGE,BLOW,BHIGH
  4.         INTEGER MAXTCK,ISTRT,I,IMAX,NTCKS
  5. C
  6. C       THIS ROUTINE FINDS A SUITABLE TICK FOR LOG AXES
  7. C
  8.         DATA SMLREL /1E-38/
  9. C
  10.         BLOW = ALOG10(AMAX1(SMLREL,AMIN1(AHIGH,ALOW)))
  11.         BHIGH = ALOG10(AMAX1(ALOW,AHIGH,1E2*SMLREL))
  12.         RANGE = BHIGH-BLOW
  13. C       1E-2 IS FUZZ FACTOR
  14.         IF (RANGE .LE. 1E-2) RANGE = 1.0
  15.         ISTRT = 1
  16.         IMAX = 5
  17. 30      DO 50 I=ISTRT,IMAX,ISTRT
  18.         NTCKS = RANGE/I + 0.999
  19.     IF (NTCKS .LE. 1) NTCKS = 1
  20.         IF (NTCKS .LE. MAXTCK) GO TO 60
  21. 50      CONTINUE
  22.         ISTRT = 10
  23.         IMAX = 80
  24.         GO TO 30
  25. 60      BTICK = I
  26.         BMIN = BTICK*AINT(BLOW/BTICK)
  27.         BMAX = BTICK*AINT(BHIGH/BTICK)
  28.         IF ((BMIN-BLOW)/RANGE .GT. 0.001) BMIN = BMIN - BTICK
  29.         IF ((BHIGH-BMAX)/RANGE .GT. 0.001) BMAX = BMAX + BTICK
  30.         RETURN
  31.         END
  32.