C ------ a_slave.f ----------------------------------- 1997...2001 ---- C M.Pester C asynchrone Mandelbrot-Version: Slave-Prozess C berechnet ein vorgegebenes Rechteck und gibt C Farbwerte pro Pixel an Master zurück C ====== subroutine a_slave(A) include 'include/trnet.inc' Integer ncols(2),ncol,ncol0,A(*) Logical JULIA DOUBLE PRECISION X0,Y0,dX,dY,x,y,XJ,YJ COMMON /daten/ X0,Y0,dX,dY,XJ,YJ,JULIA,nw,nh ! fuer Recv(15,..) EQUIVALENCE (ncols(1),ncol),(ncols(2),ncol0) call ATree_Down_0(1,ITMAX) call Init_Time 1 CONTINUE call Recv_Async_0(2,ncols,1) if (ncol .EQ. 0) goto 9 call Recv_Async_0(15,X0,1) jA=0 DO j=1,nh y=Y0+(j-1)*dY DO i=1,nw x=X0+(i-1)*dX jA=jA+1 if (JULIA) then It=ITER(XJ,YJ,x,y,ITMAX) else It=ITER(x,y,0d0,0d0,ITMAX) endif If (It .EQ. ITMAX) then A(jA)=0 else A(jA)=ncol0+MOD(It,ncol) endif ENDDO ENDDO call Send_Async_0(1,ncol,1) call Send_Async_0(nh*nw,A,1) goto 1 9 CONTINUE call Get_Times(A) call Time_Graf(A) return END