CTITLEMLDST -- FIND THE LEAST DISTANCE BETWEEN POINTS 00010001 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA AUTHOR PAM COOPER 00020001 CA DESIGNER PAM COOPER 00030001 CA LANGUAGE VS FORTRAN 00040001 CA SYSTEM S/370 00050001 CA WRITTEN 12-04-86 00060001 C REVISED MO-DA-YR BY PROGRAMMER FOR REASON 00070001 C REVISED 00080001 CA 00090001 CA CALL MLDST (XARRAY, YARRAY, NUM, LDST) 00100001 CA 00110001 CA IN/OUT ARGUMENT TYPE DESCRIPTION 00120001 CA 00130001 CA IN XARRAY R4 X COORDINATES 00140001 CA IN YARRAY R4 Y COORDINATES 00141001 CA IN NUM I4 NUMBER OF ELEMENTS IN ARRAY 00150001 CA OUT LDST R4 LEAST DISTANCE 00160001 CA 00170001 CA MLDST FINDS THE LEAST DISTANCE BETWEEN POINTS OF TWO ARRAY. 00180001 C 00190000 SUBROUTINE MLDST (XARRAY, YARRAY, NUM, LDST) 00200001 C 00210001 C REAL VARIABLES 00220001 C 00230001 REAL XARRAY (NUM) 00240001 REAL YARRAY (NUM) 00241001 REAL ZARRAY (20000) 00242001 REAL TEMP1 00250001 REAL TEMP2 00251001 REAL LDST 00260001 C 00280001 LDST = 99999999999. 00281001 ENDDO = NUM 00281101 IF (NUM .GT. 20000) ENDDO = 20000 00281201 C 00282001 C FIND LEAST DISTANCE 00290001 C 00300001 DO 20 I = 1, ENDDO 00310001 J1 = I + 1 00320001 C 00330001 DO 10 J = J1, ENDDO 00340001 TEMP1 = (XARRAY(I)-XARRAY(J)) * (XARRAY(I)-XARRAY(J)) 00350001 TEMP2 = (YARRAY(I)-YARRAY(J)) * (YARRAY(I)-YARRAY(J)) 00351001 ZARRAY(J) = (TEMP1+TEMP2) 00352001 10 CONTINUE 00380001 C 00380101 DO 15 J = J1, ENDDO 00380201 IF (ZARRAY(J) .NE. 0.0 .AND. ZARRAY(J) .LT. LDST) LDST=ZARRAY(J)00380401 15 CONTINUE 00380501 C 00390001 20 CONTINUE 00400001 C 00401001 LDST = SQRT (LDST) 00402001 C 00410000 RETURN 00420001 END 00430001