Wurde nicht vorhin noch der Index geliefert?
Jetzt das Max.
Der Compiler sollte aus Low(Values) eine konstante 0 machen,
also im Compilat gibt es keinen Unterschied zwischen Low(Values) und 0.
Eine Lösung für 10.4.2
Delphi-Quellcode:
function MaxFloatValue(
const Values:
array of Double): Double;
begin
if Length(Values) = 0
then
Exit(0);
// oder eine Exception
Result := Values[0];
// oder eben Result := Values[Low(Values)];
for var Value
in Values
do
if Value > Result
then
Result := Value;
end;
und noch was für alle Delphis/FreePascal/...
Delphi-Quellcode:
function MaxFloatValue(
const Values:
array of Double): Double;
begin
if Length(Values) = 0
then
Exit(0);
// oder eine Exception
Result := MaxValue(Values);
end;
Zitat von
System.Math.pas:
Delphi-Quellcode:
function MaxValue(const Data: array of Single): Single;
var
I: Integer;
begin
Result := Data[Low(Data)];
for I := Low(Data) + 1 to High(Data) do
if Result < Data[I] then
Result := Data[I];
end;