IMPLICIT REAL*8 (A-H,O-Z) EXTERNAL FUNCA,FUNCB REAL*8 XFU(3,2),WF(3) INTEGER NN(3),NK(3) D12=0.2 XFU(1,1)=-D12 XFU(2,1)=-D12 XFU(3,1)=-D12 XFU(1,2)=D12 XFU(2,2)=D12 XFU(3,2)=D12 SIZE=100.0 WF(1)=SIZE WF(2)=SIZE WF(3)=SIZE C IFL=70 AF=25.0 BT=0.0 GM=-20.0 ED=150.0 EL=1500.0 CALL AYPSTR(IFL) CALL AYORIG(20.0,20.0) CALL TPERSP(XFU,WF,AF,BT,GM,ED,EL) CALL TPTRAC(1) CALL TPSCHG(-1) EF=0.0 CALL TPHILP(EF) CALL TPHILD(0.0, 0,0,0,0) N161=161 DO 11 I=1,3 NN(I)=N161 NK(I)=2 11 CONTINUE CALL LINEWD(0.5) CALL TPFXYZ(FUNCB,EF,NN,NK,0) CALL PTIME(TA) TE=(TA-TB)*60.0*60.0 TB=TA WRITE(6,*) ' END OF TPFXYZ MINUS',TE CALL LINEWD(0.1) CALL TPFXYZ(FUNCA,EF,NN,NK,0) CALL PTIME(TA) TE=(TA-TB)*60.0*60.0 TB=TA WRITE(6,*) ' END OF TPFXYZ PLUS',TE CALL LINEWD(1.2) X1=-D12 Y1=0.0 Z1=0.0 X2=D12 Y2=0.0 Z2=0.0 CALL TPLINE(X1,Y1,Z1,X2,Y2,Z2,30) X1=0.0 X2=0.0 Y1=-D12 Y2=D12 CALL TPLINE(X1,Y1,Z1,X2,Y2,Z2,30) Y1=0.0 Y2=0.0 Z1=-D12 Z2=D12 CALL TPLINE(X1,Y1,Z1,X2,Y2,Z2,30) CALL AYPEND WRITE(6,*) ' END' STOP END FUNCTION FUNCD(XA) IMPLICIT REAL*8(A-H,O-Z) DIMENSION XA(3) FUNCD=0.0 RETURN END INTEGER FUNCTION LFUNC(X) IMPLICIT REAL*8(A-H,O-Z) REAL*4 X(3) LFUNC=0 RETURN END FUNCTION FUNC(XX) REAL*4 XX(3) WA=FUNCA(XX) WB=FUNCB(XX) IF(WA.GE.WB) THEN FUNC=WA ELSE FUNC=WB END IF RETURN END FUNCTION FUNCB(XX) IMPLICIT REAL*8(A-H,O-Z) REAL*8 KB DIMENSION XX(3) RR=XX(1)**2+XX(2)**2+XX(3)**2 R4=RR*RR FUNCB=XX(1)*XX(2)*XX(3)-R4 RETURN END FUNCTION FUNCA(XX) IMPLICIT REAL*8(A-H,O-Z) REAL*8 KB DIMENSION XX(3) RR=XX(1)**2+XX(2)**2+XX(3)**2 R4=RR*RR FUNCA=-XX(1)*XX(2)*XX(3)-R4 RETURN END SUBROUTINE CLOCKM(ITIME) C C FOR UNIX C DIMENSION TERY(2) C C etime for AIX FORTRAN CALL ETIME_(TERY) C etime for SUN FORTARAN C CALL ETIME(TERY) ITIME=TERY(1)*1000 RETURN END SUBROUTINE PTIME(T) REAL*8 T CALL CLOCKM(IT) T=IT/3600000.0 RETURN END