CTITLEMCROSS -- COMPUTES CROSS CORRELATION 00000010 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA AUTHOR D. D. THOMPSON 00000020 CA DESIGNER D. D. THOMPSON 00000030 CA LANGUAGE FORTRAN 77 00000040 CA SYSTEM IBM & CRAY 00000041 CA WRITTEN 1972 00000050 C REVISED MO-DA-YR 00000060 C REVISED 05-20-85 TWH. ADAPTED TO IBM & CRAY. 00000061 C 00000070 CA 00000080 CA 00000090 CA CALL MCROSS (NX, X, NY, Y, IT, R) 00000100 CA INPUT NX = LENGTH OF X I4 00000110 CA INPUT X = INPUT VECTOR R4 00000120 CA INPUT NY = LENGTH OF Y I4 00000130 CA INPUT Y = INPUT VECTOR R4 00000140 CA INPUT IT = NUMBER OF LAGS TO COMPUTE IN I4 00000150 CA ADDITION TO ZERO LAG 00000160 CA OUTPUT R = RETURNED CORRELATION VECTOR R4 00000170 CA 00000180 CA 00000190 CA 00000200 CA THIS ROUTINE COMPUTES THE CROSS CORRELATION 00000210 CA BETWEEN TWO INPUT VECTORS. 00000220 CA 00000230 CA 00000240 CA 00000250 C 00000260 C SUBROUTINES CALLED: NONE 00000270 C 00000280 C EJECT 00000290 C 00000300 SUBROUTINE MCROSS (NX, X, NY, Y, IT, R) 00000310 CAEND 00000320 C 00000330 DIMENSION X(1),Y(1),R(1) 00000340 ITP1=IT+1 00000350 C 00000360 DO 20 00000370 * I=1,ITP1 00000380 ITOW=I-1 00000390 IB=NX 00000400 IF(NX+ITOW.GT.NY) IB=NY-ITOW 00000410 Q=0. 00000420 C 00000430 DO 10 00000440 * J=1,IB 00000450 C 00000460 10 Q=Q+X(J)*Y(J+ITOW) 00000470 C 00000480 20 R(I)=Q/IB 00000490 C 00000500 RETURN 00000510 END 00000520