AMath.pas ersetzt komplett Delphi’s System.Math.pas und verbessert zahlreiche Fehler und Unzulänglichkeiten.
Das ist nicht so ganz richtig - es fehlen z.B. CompareValue, SimpleRoundTo und auch der "Typ" TRoundToRange - damit braucht man die System Math-
Unit leider immer noch.
Fehlende und von Dir benötige Routinen kannst Du aus System.Math.pas rauskopieren...
Außerdem kommt auch bei dieser beim Aufruf
als Ergebnis
Wieso? Ich verstehe das nicht
"Mein" Delphi liefert den korrekten Wert:
AMath.Frac(9.0) = 0.00000000000000E+0000
Ich habe die Enterprise-Version von Delphi7 - da ist ja der Quellcode dabei, aber ich finde den Code von Frac() dort nicht...
(nur in der von SynopseRTL gepatchten Version - und dort steht "{$IFDEF NEWRTL}" drüber, was erst ab Delphi
2005 definiert ist...)
Frac(..) ist in System.pas deklariert:
Delphi-Quellcode:
function Frac(const X: Extended): Extended;
begin
Result := X - Int(X);
end;