Forum: Object-Pascal / Delphi-Language
Delphi
by Jürgen Thomas,
8. Sep 2006
Ich glaube nicht, dass der Compiler diese Funktion so gut optimiert wird und merkt, dass er eigentlich gar nicht rechnen muss. Denn eine Abs()-Rechnung und eine Division und ein Cast dürften aufwändiger ablaufen als zwei if-Abfragen. Du hast ja selbst gesagt:
Gruß Jürgen
Forum: Object-Pascal / Delphi-Language
Delphi
by Jürgen Thomas,
8. Sep 2006
Wenn Du mit allen Vorschlägen - vor allem der konsequenten Lösung von 3_of_8 - nicht zufrieden bist, dann schreib Dir doch Deine Funktion selbst:
function Vorzeichen( const dValue: double ): integer;
begin
if dValue >= 0 then
begin
if dValue = 0
then Result := 0
else Result := 1;
end
else Result := -1;