diff -uNr topdraw-1.4c.ORIG/topdrawer/Imakefile.def topdraw-1.4c/topdrawer/Imakefile.def --- topdraw-1.4c.ORIG/topdrawer/Imakefile.def 1998-03-09 16:45:37.000000000 +0900 +++ topdraw-1.4c/topdrawer/Imakefile.def 2005-11-16 01:20:47.000000000 +0900 @@ -8,14 +8,20 @@ /* #define DigitalArchitecture */ /* #define FreeBSDArchitecture */ -UGS = /home/common/ugs/ugs.a +UGS = ../ugs/ugs.a /*-------------- Do not change the followings ---------------*/ #if ( defined(LinuxAoutArchitecture) || defined(LinuxElfArchitecture) ) ARCH = __LINUX -FFLAGS = -O2 +#if __GNUC__ < 4 +FC = g77 +FFLAGS = -O2 -fno-automatic -finit-local-zero -fno-backslash -fno-globals -Wno-globals +#else +FC = gfortran +FFLAGS = -O2 -fno-automatic -fno-backslash -I. +#endif CFLAGS = -O2 AR = ar ARFLAGS = rvs @@ -53,6 +59,21 @@ RANCMD = $(RANLIB) $(LIB) #endif +#if defined(DarwinArchitecture) +ARCH = __APPLE__ +#if __GNUC__ < 4 +FC = g77 +FFLAGS = -O2 -fno-automatic -finit-local-zero -fno-backslash -fno-globals -Wno-globals +#else +FC = gfortran +FFLAGS = -O2 -fno-automatic -fno-backslash -I. +#endif +CFLAGS = -O0 -DIUCLC=0001000 +AR = ar +ARFLAGS = rv +RANCMD = $(RANLIB) $(LIB) +#endif + /*--------------------- General Rules ------------------------*/ .f.o:;\ diff -uNr topdraw-1.4c.ORIG/topdrawer/misc/Imakefile topdraw-1.4c/topdrawer/misc/Imakefile --- topdraw-1.4c.ORIG/topdrawer/misc/Imakefile 1997-08-19 19:31:12.000000000 +0900 +++ topdraw-1.4c/topdrawer/misc/Imakefile 2005-11-16 01:20:47.000000000 +0900 @@ -8,7 +8,7 @@ GEN_OBJ = freq.o gamma.o intrac.o sigwait.o minuit.o noarg.o clock.o -#if ( defined(LinuxAoutArchitecture) || defined(LinuxElfArchitecture) ) +#if (( defined(LinuxAoutArchitecture) || defined(LinuxElfArchitecture) )) && __GNUC__ < 4 SYS_OBJ = exit.o time.o fdate.o #endif diff -uNr topdraw-1.4c.ORIG/topdrawer/src/Imakefile topdraw-1.4c/topdrawer/src/Imakefile --- topdraw-1.4c.ORIG/topdrawer/src/Imakefile 1998-03-20 22:08:10.000000000 +0900 +++ topdraw-1.4c/topdrawer/src/Imakefile 2005-11-16 01:20:47.000000000 +0900 @@ -40,6 +40,10 @@ txxug77.o \ td2ugs.o +#if __GNUC__ >= 4 +OBJ += fdate.o +#endif + AllTarget($(LIB)) $(LIB):: $(OBJ) diff -uNr topdraw-1.4c.ORIG/topdrawer/src/fdate.c topdraw-1.4c/topdrawer/src/fdate.c --- topdraw-1.4c.ORIG/topdrawer/src/fdate.c 2005-11-16 01:20:47.000000000 +0900 +++ topdraw-1.4c/topdrawer/src/fdate.c 2005-11-16 01:20:47.000000000 +0900 @@ -0,0 +1,10 @@ +#include + +void myfdate_(char *date, int len) +{ + time_t t; + int i; + time(&t); + char *cdate = ctime(&t); + for (i=0; i>> +c CHARACTER*24 FSTR, FDATE + CHARACTER*24 FSTR +c FSTR = FDATE ( ) + call myFDATE (fstr) +c>>> STR = FSTR (12:19) END SUBROUTINE DATE(STR) CHARACTER *(*) STR - CHARACTER*24 FSTR, FDATE +c>>> +c CHARACTER*24 FSTR, FDATE + CHARACTER*24 FSTR +c>>> * Format of FSTR is "Day Mon dd hh:mm:ss yyyy" - FSTR = FDATE ( ) +c>>> +c FSTR = FDATE ( ) + call myFDATE (fstr) +c>>> STR = FSTR(9:10) //'-'// FSTR(5:7) //'-'// FSTR(23:24) RETURN END diff -uNr topdraw-1.4c.ORIG/topdrawer/src/readpr_.c topdraw-1.4c/topdrawer/src/readpr_.c --- topdraw-1.4c.ORIG/topdrawer/src/readpr_.c 1996-02-19 21:55:35.000000000 +0900 +++ topdraw-1.4c/topdrawer/src/readpr_.c 2005-11-16 01:20:47.000000000 +0900 @@ -186,7 +186,7 @@ #endif /* !MSDOS && !ATARI && !_Windows */ -#if !defined(ATARI) +#if !defined(ATARI) && !defined(__APPLE__) && __GNUC__ < 4 /* is it or ? just declare what we need */ extern int strlen(); extern char *strcpy(); diff -uNr topdraw-1.4c.ORIG/topdrawer/src/t2cntr.f topdraw-1.4c/topdrawer/src/t2cntr.f --- topdraw-1.4c.ORIG/topdrawer/src/t2cntr.f 1996-08-16 14:08:31.000000000 +0900 +++ topdraw-1.4c/topdrawer/src/t2cntr.f 2005-11-16 01:20:47.000000000 +0900 @@ -264,7 +264,13 @@ IMAX=NINT(FRTO(4)) DO 10091 I=1,IMAX NUM=NUM+1 - IF (NUM.gt.NBUFSIZ) GOTO 10100 +c>>> gfortran +c IF (NUM.gt.NBUFSIZ) GOTO 10100 + IF (NUM.gt.NBUFSIZ) then + CALL T2ERR(INFOIN,CARDIN,('*** ERROR *** Too many contours'),4) + RETURN + endif +c>>> TEMP=FRTO(1)+(I-1)*FRTO(3) BUFFER(NUM)=TEMP IF (LLAB) THEN diff -uNr topdraw-1.4c.ORIG/topdrawer/src/t2del.f topdraw-1.4c/topdrawer/src/t2del.f --- topdraw-1.4c.ORIG/topdrawer/src/t2del.f 1995-09-15 23:48:43.000000000 +0900 +++ topdraw-1.4c/topdrawer/src/t2del.f 2005-11-16 01:20:47.000000000 +0900 @@ -1562,8 +1562,8 @@ JTEST1=ICHAR('X') JTEST2=ICHAR('Y') IF (.not.LSET) THEN - JTEST1=ICHAR(CXYZ(IXYZ)) - JTEST2=ICHAR(CXYZ(IXYZ)) + JTEST1=ICHAR(CXYZ(IXYZ)(1:1)) + JTEST2=ICHAR(CXYZ(IXYZ)(1:1)) ENDIF CALL T2CURS(J,XYZ0,XYZ1,XYZ2,LF1,LF2) IT=4 diff -uNr topdraw-1.4c.ORIG/topdrawer/src/t2fit.f topdraw-1.4c/topdrawer/src/t2fit.f --- topdraw-1.4c.ORIG/topdrawer/src/t2fit.f 1997-09-18 00:11:37.000000000 +0900 +++ topdraw-1.4c/topdrawer/src/t2fit.f 2005-11-16 01:20:47.000000000 +0900 @@ -407,7 +407,15 @@ * IF (ISETC(NBTYPE,2).eq.2 .and. .not. FLAGS(23)) FLAGS(23)=.not. CF *T(DATBUF(J),DATBUF(J+1), NPTS*NLIN,NLIN, NPTS*NLIN,4) - IF (FLAGS(23)) GOTO 10260 +c>>> gfortran +c IF (FLAGS(23)) GOTO 10260 + IF (FLAGS(23)) then + CALL T2ERR(INFOIN,CARDIN,'*** ERROR *** FFT failure (CFT)',4) + CALL T2RMLS + CALL T2RMLS + RETURN + endif +c>>> TNORM=1.0 10231 CONTINUE 10232 CONTINUE @@ -5056,7 +5064,9 @@ J=1 IF (LXLOG) J=2 MIN_COFF=0 +c>>> IF (IFIT .eq. 8) THEN +c>>> MIN_COFF=3 NTERMS=MAX(NTERMS,3) SEXPR='Height;Center;Width/2;Constant;' @@ -5098,7 +5108,9 @@ 12712 CONTINUE ENDIF ENDIF +c>>> ELSEIF (IFIT .eq. 9) THEN +c>>> MIN_COFF=2 SEXPR='Height;1/Width;Constant;' NTERMS=MAX(NTERMS,2) @@ -5118,7 +5130,9 @@ 12732 CONTINUE ENDIF ENDIF +c>>> ELSEIF (IFIT .eq. 10) THEN +c>>> LLINEAR=.false. MIN_COFF=5 NTERMS=MIN(MAX(NTERMS,5),8) @@ -5128,8 +5142,30 @@ *' SEXPR='Height;XCenter;XWidth/2;YCenter;Ywidth/2;Constant;' K=6 - if (NTERMS .gt. K) GOTO 12740 +c>>> +c if (NTERMS .gt. K) GOTO 12740 + if (NTERMS .gt. K) then + DO 12742 I=1,5 + DO 12752 L=0,I + K=K+1 + if (K .gt. NTERMS) GOTO 12761 + IF (L .eq. 0) THEN + WRITE(SEXPR(T2BTRIM(SEXPR)+1:),'(3(A,I2.2))') CX(J)(:T2BTRIM(CX(J + *)))//'**',I,';' + ELSEIF (L .eq. I) THEN + WRITE(SEXPR(T2BTRIM(SEXPR)+1:),'(3(A,I2.2))') '[Y]**',L,';' + ELSE + WRITE(SEXPR(T2BTRIM(SEXPR)+1:),'(3(A,I2.2))') CX(J)(:T2BTRIM(CX(J + *)))//'**',I-L, '*[Y]**',L,';' + ENDIF +12752 CONTINUE +12742 CONTINUE +12761 CONTINUE + endif +c>>> +c>>> ELSEIF (IFIT .eq. 11) THEN +c>>> FITSTR(T2BTRIM(FITSTR)+1:)='Polynomial(X,Y)' SEXPR='Constant;' K=1 @@ -5148,11 +5184,20 @@ *)))//'**',I-L, '*[Y]**',L,';' ENDIF 12751 CONTINUE -12752 CONTINUE +c>>> +c12752 CONTINUE +c>>> 12741 CONTINUE -12742 CONTINUE +c>>> +c12742 CONTINUE +c>>> 12760 CONTINUE +c>>> ELSE + goto 12720 + endif + goto 12772 +c>>> 12720 CONTINUE IF (IFIT.gt.0) THEN FITSTR(T2BTRIM(FITSTR)+1:)=CFIT(MAX(IFIT+1,1)) @@ -5182,9 +5227,14 @@ *(MAX(IFIT+1,1))(L+1:N) ,';' ENDIF 12771 CONTINUE -12772 CONTINUE - ENDIF +c>>> +c12772 CONTINUE +c>>> ENDIF +c>>> +c ENDIF +12772 CONTINUE +c>>> DO 12781 I=1,MIN_COFF If (.not. (LCOFF(I) .or. LFIT(I))) THEN WRITE(OUTSTR,12790)I @@ -5320,7 +5370,10 @@ ENDIF CALL TDSTAT(FIT_LIM(1,3),N1_FIT,N2_FIT,N3_FIT,N4_FIT ,NS1_FIT,NS2_ *FIT,.true.,N_FIT_LIM,C_SELECT(:N_SELECT)) - IF (.not. LLINEAR) THEN +c>>>>>> +c IF (.not. LLINEAR) THEN + IF (LLINEAR) goto 12982 +c>>>>>> DTEMP=MAX( ABS(DATXMN-XOFF), ABS(DATXMX-XOFF)) IF (IFIT .eq. 7) THEN LGRADIENT=.false. @@ -5406,7 +5459,13 @@ J=1 IF ( DTOLER .gt. 0) J=2 CALL MNEXCM(T2_FCN, C_MINUIT(I_MINUIT),ARGLIS,J,IERR,0) - IF (IERR .ne. 0) GOTO 12950 +c>>> +c IF (IERR .ne. 0) GOTO 12950 + IF (IERR .ne. 0) then + CALL T2ERR(INFOIN,CARDIN,('*** ERROR *** Failure to fit'),4) + GOTO 12130 + endif +c>>> CALL MNSTAT(A1, A2, A3, I, J, IERR) FTEST=A2 IF (IERR .ne. 3) THEN @@ -5418,7 +5477,13 @@ * L=T2_CONFIRM('Continue (A=infinite)') IF (L .eq. 1 .or. L .eq. 4) goto 12940 - IF (L .eq. 3) GOTO 12950 +c>>> +c IF (L .eq. 3) GOTO 12950 + IF (L .eq. 3) then + CALL T2ERR(INFOIN,CARDIN,('*** ERROR *** Failure to fit'),4) + GOTO 12130 + endif +c>>> ENDIF ENDIF J=0 @@ -5441,8 +5506,11 @@ DO 12981 I=1,ITERMS**2 XSUM(I)=XSUM(I)/FREEN 12981 CONTINUE +c>>>>>> + goto 12951 12982 CONTINUE - ELSE +c ELSE +c>>>>>> D_CHISQ=0 12990 CONTINUE IPASS=IPASS+1 @@ -5559,12 +5627,17 @@ CALL T2DVAL(NFIT,NPFIT,EMATRX,YSUM,Y2SUM,ACOEF,DACOEF,CHISQR, FTES *T,RMUL,B,XSUM) IF (CHISQR.lt.0 .or. (LGAUSS.and.ACOEF(3).gt.-1.0E-35) ) THEN +c>>> 12950 CONTINUE CALL T2ERR(INFOIN,CARDIN,('*** ERROR *** Failure to fit'),4) GOTO 12130 +c>>> ENDIF ENDIF - ENDIF +c>>>>>> +c ENDIF +12951 continue +c>>>>>> J=0 DO 13161 I=1,NTERMS IF (LFIT(I)) THEN @@ -7336,10 +7409,12 @@ 13990 CONTINUE 13980 CONTINUE IF (INTEG.lt.1 .or. INTEG.gt.IDSETS) THEN +c>>> 14000 CONTINUE WRITE(OUTSTR,*)'*** ERROR *** Nonexistant data set (',IDSETS,')' CALL T2ERR(INFOIN,CARDIN,OUTSTR,-4) RETURN +c>>> ENDIF 14010 CONTINUE IF (NSET.gt.2 .or. ISET(JSET).ne.0) THEN @@ -7372,7 +7447,14 @@ EWEIGHT(JSET)=FLOTNG GOTO 13951 14100 CONTINUE - IF (NTERMS.le.0) goto 14000 +c>>> +c IF (NTERMS.le.0) goto 14000 + IF (NTERMS.le.0) then + WRITE(OUTSTR,*)'*** ERROR *** Nonexistant data set (',IDSETS,')' + CALL T2ERR(INFOIN,CARDIN,OUTSTR,-4) + RETURN + endif +c>>> GOTO 14010 14110 CONTINUE CALL T2XYZC(INFOIN,CARDIN,TLIM,2,NLIM) @@ -8128,9 +8210,15 @@ IF (ITSAVE.eq.0) ITSAVE=INFOIN(5) I=INTEG CALL TOKEN(INFOIN,CARDIN,';') - IF(INTERP.NE.3.AND.INTERP.NE.4)THEN +c>>>> +c IF(INTERP.NE.3.AND.INTERP.NE.4)THEN + IF(INTERP.eq.3.or.INTERP.eq.4) go to 14710 +c>>>> CALL T2ERR(INFOIN,CARDIN,' ',5) - ELSE +c>>>> + goto 14661 +c ELSE +c>>>> 14710 CONTINUE IF (LSET(I)) THEN 14720 CONTINUE @@ -8144,7 +8232,9 @@ ELSE CALL T2ERR(INFOIN,CARDIN,('*** ERROR *** Value too small'),4) ENDIF - ENDIF +c>>>> +c ENDIF +c>>>> GOTO 14661 14670 GOTO ( 14690,14690,14690,14690,14690,14690,14690,14665),KEYORD 14740 CONTINUE diff -uNr topdraw-1.4c.ORIG/topdrawer/src/t2main.f topdraw-1.4c/topdrawer/src/t2main.f --- topdraw-1.4c.ORIG/topdrawer/src/t2main.f 1997-08-21 00:18:28.000000000 +0900 +++ topdraw-1.4c/topdrawer/src/t2main.f 2005-11-16 01:20:47.000000000 +0900 @@ -4033,7 +4033,14 @@ IF ( C_TIT_SUBSTITUTE(:1) .ne. CHAR(0) .or. C_TIT_ESCAPE .ne. CHAR *(0) ) THEN DO WHILE (I .le. NSTRING) - IF (NTITLE .ge. LEN(TITLE)) GOTO 13510 +c>>> gfortran +c IF (NTITLE .ge. LEN(TITLE)) GOTO 13510 + IF (NTITLE .ge. LEN(TITLE)) then + CALL T2ERR(0,' ','*** ERROR *** Title string too long',3) + NTITLE=LEN(TITLE) + return + endif +c>>> IF (C_TIT_ESCAPE .eq. STRING(I:I) .and. I.lt.NSTRING-1) THEN NTITLE=NTITLE+1 I=I+1 @@ -5110,7 +5117,10 @@ character com*(*),arg*(*),temp1*1024,temp2*1024 integer*4 i1(narg),i2(narg),lkey(narg),t2btrim character key(narg)*4,delim - byte typtab(0:255) +c>>> gfortran +c byte typtab(0:255) + integer*1 typtab(0:255) +c>>> common /t2toknc/typtab data key/'!:1','!:2','!:3','!:4','!:5', & '!:6','!:7','!:8','!:9','!^' ,'!$','!*'/ diff -uNr topdraw-1.4c.ORIG/topdrawer/src/t2plot.f topdraw-1.4c/topdrawer/src/t2plot.f --- topdraw-1.4c.ORIG/topdrawer/src/t2plot.f 1997-05-27 22:33:39.000000000 +0900 +++ topdraw-1.4c/topdrawer/src/t2plot.f 2005-11-16 01:20:47.000000000 +0900 @@ -2803,7 +2803,13 @@ ENDIF GOTO 12161 12200 CONTINUE - IF (ICEN.gt.0.or.MODCIR(1).ne.0) GOTO 12210 +c>>> +c IF (ICEN.gt.0.or.MODCIR(1).ne.0) GOTO 12210 + IF (ICEN.gt.0.or.MODCIR(1).ne.0) then + CALL T2ERR(INFOIN,CARDIN,('*** ERROR *** Conflicting options'),4) + RETURN + endif +c>>> NSTJOU=LSTJOU IF (LFRTO(IFRTO).gt.0) THEN IMIN=IFRTO @@ -2857,15 +2863,23 @@ 12320 CONTINUE MODCIR(1) = IOR(MODCIR(1),1) IF (LFRTO(IFRTO).ne.1) MODCIR(1)=3 ! modified to correct SIZE for FROM|TO - IF (LF1) GOTO 12210 +c>>> +c IF (LF1) GOTO 12210 + IF (LF1) then + CALL T2ERR(INFOIN,CARDIN,('*** ERROR *** Conflicting options'),4) + RETURN + endif +c>>> GOTO 12161 12330 CONTINUE I=1 IF (LFRTO(IFRTO) .ne.0)IFRTO=2 IF (LFRTO(IFRTO).ne.0.or.LFRTO(1).eq.INTEG) THEN +c>>> 12210 CONTINUE CALL T2ERR(INFOIN,CARDIN,('*** ERROR *** Conflicting options'),4) RETURN +c>>> ELSE ICEN=0 LFRTO(IFRTO)=INTEG @@ -2875,10 +2889,22 @@ GOTO 12350 12360 CONTINUE MODCIR(1) = 3 - IF (LF1) GOTO 12210 +c>>> +c IF (LF1) GOTO 12210 + IF (LF1) then + CALL T2ERR(INFOIN,CARDIN,('*** ERROR *** Conflicting options'),4) + RETURN + endif +c>>> 12350 CONTINUE IF (LFRTO(IFRTO) .ne.0) IFRTO=2 - IF (LFRTO(IFRTO) .ne.0.or.LFRTO(1).eq.4) GOTO 12210 +c>>> +c IF (LFRTO(IFRTO) .ne.0.or.LFRTO(1).eq.4) GOTO 12210 + IF (LFRTO(IFRTO) .ne.0.or.LFRTO(1).eq.4) then + CALL T2ERR(INFOIN,CARDIN,('*** ERROR *** Conflicting options'),4) + RETURN + endif +c>>> CIRCEN(1,IFRTO)=FLOTNG CIRCEN(2,IFRTO)=FLOTNG LFRTO(IFRTO)=4 @@ -3916,7 +3942,10 @@ IHIDE=2 IF (IAND(JTYPE,4) .ne.0 ) IHIDE=6 12880 CONTINUE - IF (JJTYPE.EQ.1) THEN +c>>> gfortran +c IF (JJTYPE.EQ.1) THEN + IF (JJTYPE.ne.1) goto 12890 +c>>> IF (JMAX.LT.4) THEN CALL T2ERR(0,' ',('*** WARNING *** Spline fit needs 4 points. Gene *ral fit used.'),3) @@ -4036,7 +4065,10 @@ CALL T2_MESH_DRAW(BUFFER(ILX),LP1,IHIDE) 12981 CONTINUE 12982 CONTINUE - ELSE +c>>> + goto 12869 +c ELSE +c>>> 12890 CONTINUE CLOSED=JMAX.GT.2 .and. LEVEL.gt.1 IF (XEXIST) THEN @@ -4116,7 +4148,10 @@ CALL TXFILL(XVALS,YVALS,ZVALS,INCRMT,-JMAX,ISC,IHIDE) ENDIF ! ^^^ ENDIF - ENDIF +c>>> +c ENDIF +12869 continue +c>>> IF (IHIDE .eq. 6) THEN CALL T2_MESH_FLUSH IHIDE=5 diff -uNr topdraw-1.4c.ORIG/topdrawer/src/t2set.f topdraw-1.4c/topdrawer/src/t2set.f --- topdraw-1.4c.ORIG/topdrawer/src/t2set.f 1998-01-22 23:53:29.000000000 +0900 +++ topdraw-1.4c/topdrawer/src/t2set.f 2005-11-16 01:20:47.000000000 +0900 @@ -2906,12 +2906,17 @@ NXY=0 I2OF=0 13080 CONTINUE - IF (LSET(IXY,IFRTO)) THEN +c>>> +c IF (LSET(IXY,IFRTO)) THEN + IF (.not. LSET(IXY,IFRTO)) goto 13181 +c>>> 13060 CONTINUE CALL T2ERR(INFOIN,CARDIN,('*** ERROR *** Redundant options'),4) RETURN - ENDIF - GOTO 13181 +c>>> +c ENDIF +c GOTO 13181 +c>>> 13210 CONTINUE XYSAVE(IXY,1)=XYSAVE(IXY,1)+SIGN(FLOTNG,XYSAVE(IXY,1)) GOTO 13220 @@ -2926,17 +2931,26 @@ LSET(IXY,1)=.true. GOTO 13240 13250 CONTINUE - IF (I2OF*((I2OF-INTEG)/2) .ne. 0) THEN +c>>> +c IF (I2OF*((I2OF-INTEG)/2) .ne. 0) THEN + IF (I2OF*((I2OF-INTEG)/2) .ne. 0) goto 13170 + goto 13171 +c>>> 13170 CONTINUE CALL T2ERR(INFOIN,CARDIN,('*** ERROR *** Conflicting options'),4) RETURN - ELSE +c>>> +c ELSE +13171 continue +c>>> IF (NXY.eq.1) THEN IXY=1 endif IFRTO=MOD(ABS(INTEG),10) I2OF=INTEG - ENDIF +c>>> +c ENDIF +c>>> GOTO 13181 13190 GOTO ( 13210,13210,13230,13230,13250,13250,13250,13250,13250,13185 *),KEYORD @@ -3098,14 +3112,21 @@ ENDIF 13391 CONTINUE 13392 CONTINUE - IF (LWERR) THEN +c>>> +c IF (LWERR) THEN + IF (LWERR) goto 13300 + goto 13421 +c>>> 13300 CONTINUE WRITE(OUTSTR,13420)(XYWLIM(I,2),I=1,2) CALL T2ERR(INFOIN,CARDIN,OUTSTR,4) 13420 FORMAT ('*** ERROR *** Window must lie within ', 'limits (X 0.0 to *',f6.2,', Y 0.0 to',f6.2,')') RETURN - ENDIF +c>>> +c ENDIF +13421 continue +c>>> IWINLEV=ILEV DO 13431 I=1,2 DO 13441 IXY=1,2 @@ -4258,13 +4279,24 @@ ENDIF GOTO 14401 14630 CONTINUE - IF(ISCAL.eq.-2.or.ISCAL.eq.-3) THEN +c>>> +c IF(ISCAL.eq.-2.or.ISCAL.eq.-3) THEN + IF(ISCAL.eq.-2.or.ISCAL.eq.-3) goto 14631 + goto 14620 +14631 continue +c>>> N1=IAND(N1,2**10-1)+INTEG*2**10 - ELSE +c>>> + goto 14621 +c ELSE +c>>> 14620 CONTINUE CALL T2ERR(INFOIN,CARDIN,'*** ERROR *** Illegal if not LOG scale', *4) - ENDIF +c>>> +c ENDIF +14621 continue +c>>> GOTO 14401 14640 CONTINUE N1=ABS(N1) @@ -6870,7 +6902,10 @@ INTEGER*4 INTEG COMMON /TOKENC/ INTERP, INTEG, FLOTNG, KEYORD, NSTRNG, MAXSTR, ST *RNG, NSTJOU, LSTJOU, STJOU, LTOKEN, NTOKEN - BYTE TYPTAB(256),TYPTB2(256) +c>>> gfortran +c BYTE TYPTAB(256),TYPTB2(256) + integer*1 TYPTAB(256),TYPTB2(256) +c>>> CHARACTER*256 UPCHAR,OKCHAR,DNCHAR INTEGER INFOTOKK(3),IINDEX(3) COMMON /T2TOKNC/ TYPTAB,TYPTB2,INFOTOKK,IINDEX diff -uNr topdraw-1.4c.ORIG/topdrawer/src/t2setc.f topdraw-1.4c/topdrawer/src/t2setc.f --- topdraw-1.4c.ORIG/topdrawer/src/t2setc.f 1997-05-19 20:26:52.000000000 +0900 +++ topdraw-1.4c/topdrawer/src/t2setc.f 2005-11-16 01:20:47.000000000 +0900 @@ -264,16 +264,16 @@ INTEGER REMAIN_VAR PARAMETER (REMAIN_VAR=19-5) REAL SYM0,SYM1,SYM2,SYM3,SYM4,SYM5,SYM6,SYM7,SYM8,SYM9 - PARAMETER (SYM0=FLOAT(Z'304F')) !ICHAR('O')+256*ICHAR('0')) - PARAMETER (SYM1=FLOAT(Z'314F')) !ICHAR('O')+256*ICHAR('1')) - PARAMETER (SYM2=FLOAT(Z'324F')) !ICHAR('O')+256*ICHAR('2')) - PARAMETER (SYM3=FLOAT(Z'334F')) !ICHAR('O')+256*ICHAR('3')) - PARAMETER (SYM4=FLOAT(Z'344F')) !ICHAR('O')+256*ICHAR('4')) - PARAMETER (SYM5=FLOAT(Z'354F')) !ICHAR('O')+256*ICHAR('5')) - PARAMETER (SYM6=FLOAT(Z'364F')) !ICHAR('O')+256*ICHAR('6')) - PARAMETER (SYM7=FLOAT(Z'374F')) !ICHAR('O')+256*ICHAR('7')) - PARAMETER (SYM8=FLOAT(Z'384F')) !ICHAR('O')+256*ICHAR('8')) - PARAMETER (SYM9=FLOAT(Z'394F')) !ICHAR('O')+256*ICHAR('9')) + PARAMETER (SYM0=Z'304F') !ICHAR('O')+256*ICHAR('0')) + PARAMETER (SYM1=Z'314F') !ICHAR('O')+256*ICHAR('1')) + PARAMETER (SYM2=Z'324F') !ICHAR('O')+256*ICHAR('2')) + PARAMETER (SYM3=Z'334F') !ICHAR('O')+256*ICHAR('3')) + PARAMETER (SYM4=Z'344F') !ICHAR('O')+256*ICHAR('4')) + PARAMETER (SYM5=Z'354F') !ICHAR('O')+256*ICHAR('5')) + PARAMETER (SYM6=Z'364F') !ICHAR('O')+256*ICHAR('6')) + PARAMETER (SYM7=Z'374F') !ICHAR('O')+256*ICHAR('7')) + PARAMETER (SYM8=Z'384F') !ICHAR('O')+256*ICHAR('8')) + PARAMETER (SYM9=Z'394F') !ICHAR('O')+256*ICHAR('9')) INTEGER M1_CYCLE , M2_CYCLE PARAMETER (M1_CYCLE=MAX_CYCLE-7 ) PARAMETER (M2_CYCLE=MAX_CYCLE-10) diff -uNr topdraw-1.4c.ORIG/topdrawer/src/t2show.f topdraw-1.4c/topdrawer/src/t2show.f --- topdraw-1.4c.ORIG/topdrawer/src/t2show.f 1998-01-23 01:13:00.000000000 +0900 +++ topdraw-1.4c/topdrawer/src/t2show.f 2005-11-16 01:20:47.000000000 +0900 @@ -838,6 +838,7 @@ LTOTAL=LTOTAL .and. ITOTAL.gt.1 IF (LTEMP1) CALL T2STSM(XFAC,YFAC,DTOTAL,DTERR,LTEMP3) 10790 CONTINUE +c>>> IF (LTOTAL .and. IFILE.gt.0) THEN IF (DATPTS.gt.0) THEN IF (IBTYPE.eq.2 .or. (DATBUF(I3).ne.HNONE.and.FLAGS(56))) THEN @@ -866,6 +867,7 @@ WRITE(6,10160)'Data - none available' ENDIF ENDIF +c>>> ENDIF GOTO 10062 10800 CONTINUE @@ -1430,7 +1432,37 @@ ELSE IFILE=6 LTOTAL=.true. - GOTO 10790 +c>>> gfortran +c GOTO 10790 + IF (LTOTAL .and. IFILE.gt.0) THEN + IF (DATPTS.gt.0) THEN + IF (IBTYPE.eq.2 .or. (DATBUF(I3).ne.HNONE.and.FLAGS(56))) THEN + IDEP=N_ZDATA + ELSE + IDEP=N_YDATA + ENDIF + WRITE(IFILE, '(4x,1p,5(A,1p,G15.6))') 'Total Pts= ',DATPTS + WRITE(IFILE, '(4x,A,1p,5(A,1p,G15.6))') CORDER(N_XDATA),' Min= ', + *DATXMN,' Max= ',DATXMX + WRITE(IFILE, '(4x,A,1p,5(A,1p,G15.6))') CORDER(N_YDATA),' Min= ', + *DATYMN,' Max= ',DATYMX + IF (DATZMN.le.DATZMX) WRITE(IFILE, '(4x,A,1p,5(A,1p,G15.6))') CORD + *ER(N_ZDATA),' Min= ',DATZMN,' Max= ',DATZMX + WRITE(IFILE, '(4x,A,1p,5(A,1p,G15.6))') CORDER(IDEP), ' Sum= ',DAT + *SUM,' Ave= ',DATAVE,'/Point' + IF (ERRSUM.gt.0) WRITE(IFILE, '(11x,1p,5(A,1p,G15.6))') ' Err= ',E + *RRSUM,' Err= ',ERRAVE + IF (DATSUM.ne.0) THEN + WRITE(IFILE, '(4x,A,1p,5(A,1p,G15.6))') CORDER(N_XDATA),' Mean=', + *DATCEN,' Std= ',DATSTD + IF (ERRCEN.gt.0) WRITE(IFILE, '(11x,1p,5(A,1p,G15.6))') ' Err= ',E + *RRCEN,' Err= ',ERRSTD + ENDIF + ELSE + WRITE(6,10160)'Data - none available' + ENDIF + ENDIF +c>>> ENDIF GOTO 10062 11560 CONTINUE @@ -4296,7 +4328,10 @@ INTEGER*4 INTEG COMMON /TOKENC/ INTERP, INTEG, FLOTNG, KEYORD, NSTRNG, MAXSTR, ST *RNG, NSTJOU, LSTJOU, STJOU, LTOKEN, NTOKEN - BYTE TYPTAB(256),TYPTB2(256) +c>>> gfortran +c BYTE TYPTAB(256),TYPTB2(256) + integer*1 TYPTAB(256),TYPTB2(256) +c>>> CHARACTER*256 UPCHAR,OKCHAR,DNCHAR INTEGER INFOTOKK(3),IINDEX(3) COMMON /T2TOKNC/ TYPTAB,TYPTB2,INFOTOKK,IINDEX diff -uNr topdraw-1.4c.ORIG/topdrawer/src/t2spline.f topdraw-1.4c/topdrawer/src/t2spline.f --- topdraw-1.4c.ORIG/topdrawer/src/t2spline.f 1995-09-15 23:48:44.000000000 +0900 +++ topdraw-1.4c/topdrawer/src/t2spline.f 2005-11-16 01:20:47.000000000 +0900 @@ -297,7 +297,10 @@ *'*') JSETS=JSETS+1 ZEXIST=ISETC(NZDATA) .ne. 1 - IF (JJTYPE.EQ.1) THEN +c>>> gfortran +c IF (JJTYPE.EQ.1) THEN + IF (JJTYPE.ne.1) goto 10180 +c>>> IF (JMAX.LT.4) THEN CALL T2ERR(INFOIN,CARDIN,('*** WARNING *** Spline fit needs 4 poin *ts. General fit used.'),4) @@ -425,7 +428,10 @@ ENDIF 10301 CONTINUE 10302 CONTINUE - ELSE +c>>> + go to 10312 +c ELSE +c>>> 10180 CONTINUE CLOSED=JMAX.GT.2 .and. LEVEL.gt.1 TEMP1=DATBUF(ISETC(NXDATA)) @@ -544,7 +550,9 @@ IF(IMAX .ge. LAST)GOTO 10312 10311 CONTINUE 10312 CONTINUE - ENDIF +c>>> +c ENDIF +c>>> IF (LMONITOR .and. IBTYPE .eq. 1) THEN CALL TXVOID IF (NDSETS .gt. IDSETS+1) CALL T2WAIT('Interpolate:',LTEST) diff -uNr topdraw-1.4c.ORIG/topdrawer/src/t2tabl.f topdraw-1.4c/topdrawer/src/t2tabl.f --- topdraw-1.4c.ORIG/topdrawer/src/t2tabl.f 1995-09-15 23:48:44.000000000 +0900 +++ topdraw-1.4c/topdrawer/src/t2tabl.f 2005-11-16 01:20:47.000000000 +0900 @@ -140,7 +140,11 @@ LLIM=TLIM(1,1) .ne. HNONE WIDTH=LBLSIZ/10. X0=1.0E35 - LEDGE = XOR ( LTOP, LSCREV(IDEP) ) +c>>> gfortran +c LEDGE = XOR ( LTOP, LSCREV(IDEP) ) + LEDGE = (LTOP .and. (.not. LSCREV(IDEP))) .or. + > ((.not. ltop) .and. lscrev(idep)) +c>>> DO 10021 NPASS=MINPAS,1 SCHSIZ=SYSIZ*REDUCE(2)/10 IF (LOFFSET) THEN diff -uNr topdraw-1.4c.ORIG/topdrawer/src/td.f topdraw-1.4c/topdrawer/src/td.f --- topdraw-1.4c.ORIG/topdrawer/src/td.f 1997-08-19 22:39:49.000000000 +0900 +++ topdraw-1.4c/topdrawer/src/td.f 2005-11-16 01:21:58.000000000 +0900 @@ -131,7 +131,9 @@ COMMON /T2PRMP/NPRMP1, PRMP1, NPRMP2, PRMP2 LOGICAL LTEMP,INTRAC EXTERNAL INTRAC - INTEGER I +c>>> +c INTEGER I +c>>> CHARACTER DEVNAM*256 CHARACTER TDINIT*20,DEFVAL*80,DEFSTR*80 LOGICAL T2_VIRT,TDSHOW,DMMY,SIGREF @@ -141,6 +143,17 @@ DATA DEVNAM/' '/,ISAFILE/.FALSE./ DATA TDINIT/'/.topdrawrc'/ DATA DEFVAL,DEFSTR/2*' '/ +c>>> gfortran + external ugdupl, ugnucl, ugsimp + external t2_mesh_data, t2setc, t2_hist_data, tokdat + call dummysub(ugdupl) + call dummysub(ugnucl) + call dummysub(ugsimp) + call dummysub(t2_mesh_data) + call dummysub(t2setc) + call dummysub(t2_hist_data) + call dummysub(tokdat) +c>>> OUTFIL=-8 INPFIL=9 DBGFIL=8 @@ -917,7 +930,10 @@ RETURN END SUBROUTINE PDUMP(F,L,I) - BYTE F(1) +c>>> gfortran +c BYTE F(1) + integer*1 F(1) +c>>> END SUBROUTINE T2DTBF(ISIZE) COMMON /T2FLGC/ FLAGS(200), LTRAP,LHANDL,LSYERR,LSCREV @@ -1132,3 +1148,7 @@ SUBROUTINE T2_FREE_MEMORY(BUFFER,ILOC,ISIZE) RETURN END +c>>> + subroutine dummysub(a) + return + end diff -uNr topdraw-1.4c.ORIG/topdrawer/src/token.f topdraw-1.4c/topdrawer/src/token.f --- topdraw-1.4c.ORIG/topdrawer/src/token.f 1998-03-20 22:07:51.000000000 +0900 +++ topdraw-1.4c/topdrawer/src/token.f 2005-11-16 01:20:47.000000000 +0900 @@ -1,6 +1,9 @@ C MORTRAN 2.79 (BRACKETED KEYWORD MACROS OF 09/28/81) BLOCK DATA TOKDAT - BYTE TYPTAB(256),TYPTB2(256) +c>>> gfortran +c BYTE TYPTAB(256),TYPTB2(256) + integer*1 TYPTAB(256),TYPTB2(256) +c>>> CHARACTER*256 UPCHAR,OKCHAR,DNCHAR INTEGER INFOTOKK(3),IINDEX(3) COMMON /T2TOKNC/ TYPTAB,TYPTB2,INFOTOKK,IINDEX @@ -257,7 +260,10 @@ EQUIVALENCE (IENDAT,ISETD(NENDAT)) INTEGER I,J,K,II INTEGER IAGAIN - BYTE TYPTAB(256),TYPTB2(256) +c>>> gfortran +c BYTE TYPTAB(256),TYPTB2(256) + integer*1 TYPTAB(256),TYPTB2(256) +c>>> CHARACTER*256 UPCHAR,OKCHAR,DNCHAR INTEGER INFOTOKK(3),IINDEX(3) COMMON /T2TOKNC/ TYPTAB,TYPTB2,INFOTOKK,IINDEX @@ -673,8 +679,13 @@ 10032 CONTINUE IF (NSTRNG.lt.LEN(STRNG)) STRNG(NSTRNG+1:NSTRNG+1)=' ' INFOIN(3)=ICOL-1 - IF ((INTERP.eq.9.or.INTERP.eq.6.or.INTERP.eq.2).and.IAGAIN.eq.0) T - *HEN +c>>> gfortran +c IF ((INTERP.eq.9.or.INTERP.eq.6.or.INTERP.eq.2).and.IAGAIN.eq.0) T +c *HEN + IF ((INTERP.eq.9.or.INTERP.eq.6.or.INTERP.eq.2).and.IAGAIN.eq.0) + * go to 10010 + go to 10150 +c>>> 10010 CONTINUE MAXCHR=LEN(KEYS) IF (MAXCHR.le.2) THEN @@ -792,7 +803,10 @@ MINCOL=INEXT 10411 CONTINUE 10412 CONTINUE - ENDIF +c>>> gfortran +c ENDIF +c>>> + 10150 CONTINUE IF (INPFIL.ne.9.or.JOUFIL.eq.0.or.INFOIN(2).lt.-1) RETURN LSTJOU=NSTJOU @@ -890,7 +904,10 @@ LOGICAL FLAGS, LTRAP,LHANDL,LSYERR,LSCREV(3) INTEGER RELFLAG PARAMETER (RELFLAG=151) - BYTE TYPTAB(256),TYPTB2(256) +c>>> gfortran +c BYTE TYPTAB(256),TYPTB2(256) + integer*1 TYPTAB(256),TYPTB2(256) +c>>> CHARACTER*256 UPCHAR,OKCHAR,DNCHAR INTEGER INFOTOKK(3),IINDEX(3) COMMON /T2TOKNC/ TYPTAB,TYPTB2,INFOTOKK,IINDEX @@ -1026,7 +1043,10 @@ IMPLICIT NONE CHARACTER STRNG*(*) INTEGER I,J - BYTE TYPTAB(256),TYPTB2(256) +c>>> gfortran +c BYTE TYPTAB(256),TYPTB2(256) + integer*1 TYPTAB(256),TYPTB2(256) +c>>> CHARACTER*256 UPCHAR,OKCHAR,DNCHAR INTEGER INFOTOKK(3),IINDEX(3) COMMON /T2TOKNC/ TYPTAB,TYPTB2,INFOTOKK,IINDEX @@ -1041,7 +1061,10 @@ IMPLICIT NONE CHARACTER STRNG*(*) INTEGER I,J - BYTE TYPTAB(256),TYPTB2(256) +c>>> gfortran +c BYTE TYPTAB(256),TYPTB2(256) + integer*1 TYPTAB(256),TYPTB2(256) +c>>> CHARACTER*256 UPCHAR,OKCHAR,DNCHAR INTEGER INFOTOKK(3),IINDEX(3) COMMON /T2TOKNC/ TYPTAB,TYPTB2,INFOTOKK,IINDEX @@ -1059,7 +1082,10 @@ INTEGER MINMCH PARAMETER (MINMCH=2) CHARACTER*1 CCHAR - BYTE TYPTAB(256),TYPTB2(256) +c>>> gfortran +c BYTE TYPTAB(256),TYPTB2(256) + integer*1 TYPTAB(256),TYPTB2(256) +c>>> CHARACTER*256 UPCHAR,OKCHAR,DNCHAR INTEGER INFOTOKK(3),IINDEX(3) COMMON /T2TOKNC/ TYPTAB,TYPTB2,INFOTOKK,IINDEX @@ -1650,7 +1676,10 @@ INTEGER LISTPT,NPTMAX,NDSETS REAL DATBUF(10248) COMMON /T2XPNT/ LISTPT,NPTMAX,NDSETS,DATBUF - BYTE TYPTAB(256),TYPTB2(256) +c>>> gfortran +c BYTE TYPTAB(256),TYPTB2(256) + integer*1 TYPTAB(256),TYPTB2(256) +c>>> CHARACTER*256 UPCHAR,OKCHAR,DNCHAR INTEGER INFOTOKK(3),IINDEX(3) COMMON /T2TOKNC/ TYPTAB,TYPTB2,INFOTOKK,IINDEX @@ -2105,7 +2134,10 @@ REAL FSTK(MAXSTK) INTEGER IOPSTK(MAXSTK),ITRSTK(MAXSTK),ISTK COMMON /T2EXST/ISTK,FSTK,IOPSTK,ITRSTK - BYTE TYPTAB(256),TYPTB2(256) +c>>> gfortran +c BYTE TYPTAB(256),TYPTB2(256) + integer*1 TYPTAB(256),TYPTB2(256) +c>>> CHARACTER*256 UPCHAR,OKCHAR,DNCHAR INTEGER INFOTOKK(3),IINDEX(3) COMMON /T2TOKNC/ TYPTAB,TYPTB2,INFOTOKK,IINDEX @@ -2156,9 +2188,13 @@ *RT:12,RANDOM:13,ABSOLUTE:14,DEGREES:15,RADIANS:16,'// 'INTEGER:17 *,FRACTION:18,NINTEGER:19,'// 'ERF:21,ERFC:22,FREQ:23,;') ENDIF - IF (LESAVE) THEN +c>>> gfortran +c IF (LESAVE) THEN + IF (.not. LESAVE) goto 11240 +c>>> IEIND=IEIND+1 11230 CONTINUE +c>>> IF (IEIND.le.NSEXPR) THEN SEXPR(IEIND-1)=MIN(INFOIN(3),2**16-1)+INTERP*2**16 IF (INTERP.eq.4) THEN @@ -2168,7 +2204,9 @@ SEXPR(IEIND-1)=SEXPR(IEIND-1)+KEYORD*2**20+INTEG*2**24 ENDIF ENDIF - ENDIF +c>>> gfortran +c ENDIF +c>>> 11240 GOTO (11250,11260,11270,11280,11290,11300,11310,11320,11330),INTER *P 11300 CONTINUE @@ -2646,7 +2684,10 @@ INTEGER*4 INTEG COMMON /TOKENC/ INTERP, INTEG, FLOTNG, KEYORD, NSTRNG, MAXSTR, ST *RNG, NSTJOU, LSTJOU, STJOU, LTOKEN, NTOKEN - BYTE TYPTAB(256),TYPTB2(256) +c>>> gfortran +c BYTE TYPTAB(256),TYPTB2(256) + integer*1 TYPTAB(256),TYPTB2(256) +c>>> CHARACTER*256 UPCHAR,OKCHAR,DNCHAR INTEGER INFOTOKK(3),IINDEX(3) COMMON /T2TOKNC/ TYPTAB,TYPTB2,INFOTOKK,IINDEX diff -uNr topdraw-1.4c.ORIG/topdrawer/src/txxug77.f topdraw-1.4c/topdrawer/src/txxug77.f --- topdraw-1.4c.ORIG/topdrawer/src/txxug77.f 1997-08-19 19:26:51.000000000 +0900 +++ topdraw-1.4c/topdrawer/src/txxug77.f 2005-11-16 01:20:47.000000000 +0900 @@ -67,7 +67,10 @@ COMMON/TXCOM/PLIM,ZSCRN, XLLINE,YLLINE,XTLINE,YTLINE,XFRMFC, IPA *T,NPAT,PAT,PATTOT, NPTS,IDDEVC,CCSCIS,LMOVE,IROTAX,DISPL,IROTAF,P *ATCUM,PATMOD, RESOL - BYTE JCHAR +c>>> gfortran +c BYTE JCHAR + integer*1 JCHAR +c>>> INTEGER IA(8) CHARACTER*8 STRING X=0