1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| const
VECTOR_COMPONENTS_COUNT = 150;
DATA_ENTRIES_COUNT = 10000;
type
TVector = array [0 .. VECTOR_COMPONENTS_COUNT - 1] of Real;
TData = array [0 .. DATA_ENTRIES_COUNT - 1] of TVector;
TDistances = array [0 .. DATA_ENTRIES_COUNT - 1] of Real;
function Distance(var Vector1, Vector2: TVector): Real;
var
I: Integer;
begin
Result := 0;
for I := 0 to VECTOR_COMPONENTS_COUNT - 1 do
Result := Result + Sqr(Vector1[I] - Vector2[I]);
Result := SqRt(Result)
end;
procedure DoIt(var Distances: TDistances; var Data: TData; var Vector: TVector);
var
I: Integer;
begin
for I := 0 to DATA_ENTRIES_COUNT - 1 do
Distances[I] := Distance(Data[I], Vector)
end; |