SUBROUTINE JMNFM (XL,YL,SIDEX,SIDEY,NITER,CR,CI,COL,MCPAX,MCPAY) C C COPYRIGHT (C) 1985-1992 BY ART MATRIX. ALL RIGHTS RESERVED. C IMPLICIT REAL*8 (A-H,O-Z) C INTEGER*2 COL(0:MCPAX,0:MCPAY) C COMPLEX*16 Z,C C C*********************************************************************** C*********************************************************************** C CALL DRVID ('FM ',102,2,1,8) C C*********************************************************************** C*********************************************************************** C C = DCMPLX(CR,CI) C C ESC = 4 ESC = 10000 C DO 2000 IY = 0,MCPAY C Y = YL + (IY*SIDEY)/MCPAY C CALL SHOWIY (10,IY,Y) C DO 1000 IX = 0,MCPAX C X = XL + (IX*SIDEX)/MCPAX C C*********************************************************************** C*********************************************************************** C Z = DCMPLX(X,Y) C DO 400 I = 1,NITER C Z = Z*Z + C C IF (DREAL(Z)*DREAL(Z) + IMAG(Z)*IMAG(Z) .GT. ESC) GOTO 420 C 400 CONTINUE C COL(IX,IY) = 0 GOTO 1000 C 420 IF (ABS(IMAG(Z)) .LT. .1*ABS(DREAL(Z))) THEN IF (IMAG(Z) .GE. 0) THEN COL(IX,IY) = 7 + 8*I ELSE COL(IX,IY) = 7 + 8*I ENDIF ELSE IF (IMAG(Z) .GE. 0) THEN COL(IX,IY) = 4 + 8*I ELSE COL(IX,IY) = 2 + 8*I ENDIF ENDIF C C*********************************************************************** C*********************************************************************** C 1000 CONTINUE 2000 CONTINUE C RETURN END