00001
00002 c
00003 c Copyright (c) 1986,1987,1988,1989,1990,1991,1992,1993,
00004 c by Steve McMillan, Drexel University, Philadelphia, PA.
00005 c
00006 c All rights reserved.
00007 c
00008 c Redistribution and use in source and binary forms are permitted
00009 c provided that the above copyright notice and this paragraph are
00010 c duplicated in all such forms and that any documentation,
00011 c advertising materials, and other materials related to such
00012 c distribution and use acknowledge that the software was developed
00013 c by the author named above.
00014 c
00015 c THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
00016 c IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
00017 c WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00018 c
00019
00020
00021 subroutine fr lgset(x1,x2,xlen,mode,dexps,dexpm,dexpl)
00022 save
00023 c
00024 common/fr tik level/jtik level
00025 c
00026 c Find increments for small, major and labeled ticks for log plot.
00027 c
00028 x1=alog10(abs(x1))
00029 x2=alog10(abs(x2))
00030 call fr lndiv(x1,x2,xlen,dexps,dexpm,dexpl)
00031 if (abs(dexps).lt.1.) dexps=0.
00032 if (abs(dexpm).lt.1.) dexpm=dexpm/abs(dexpm)
00033 if (abs(dexpl).lt.1.) dexpl=dexpm
00034 if (mode.ne.-2) return
00035 c
00036 dfnc=dexpm
00037 if (dexps.ne.0.) dfnc=dexps
00038 call fr lnfnc(x1,x2,dfnc,2,fexp,nexp)
00039 c
00040 c dinch=xlen/abs(x2-x1)
00041 c if (jtik level.ne.1.or.dinch.le..5.or.abs(dexpm).ne.1.) then
00042 c
00043 c As in frlnset, force at least two numeric labels if mode = 2.
00044 c
00045 call fr lnfnc(x1,x2,abs(dexpl),1,fexp,nexp)
00046 if (fexp+abs(dexpl).gt.max(x1,x2)) dexpl=2.*dexpm
00047 c
00048 c end if
00049 c
00050 end