C C ******* Cube_Cat : Jeder Prozessor hat Paket (N,Xin(N Worte)) C (N variabel!), C das unter Vereinigung mit allen anderen C zu allen anderen Prozessoren zu schicken ist C Output-Feld : Hout C C SUBROUTINE Cube_Cat(N,Xin,Nout,Hout) DIMENSION Xin(*),Hout(*) LOGICAL Btest INCLUDE 'trnet.inc' L=N Nint = N Iadr = N+1 CALL VIcopy(N,Hout,1,Xin,1) DO 1 I=1,NCUBE IF ( Btest(ICH,I-1) ) THEN CALL Recv_Chan(L,Hout(Iadr),I) CALL Send_Chan(Nint,Hout,I) ELSE CALL Send_Chan(Nint,Hout,I) CALL Recv_Chan(L,Hout(Iadr),I) ENDIF Nint = Nint + L Iadr = Iadr + L 1 CONTINUE Nout = Nint RETURN END