Zitat von
himitsu:
Dann stimmt aber die Implementierung nicht, denn
RandomRange gibt einen zufälligen Integer-Wert im Bereich von AFrom bis ATo zurück (inklusive)
Mag sein, jedenfalls passen Source und Hile nicht zusammen. Aber grottenschlechte Programmierniveaux sind wie ja leider gewöhnt.
Begin OT: Ich erinnere nur an sin(1e20) = 1e20 etc. Den Gipfel an Programmierkunst in Math stellt ev.
Delphi-Quellcode:
function Tanh(const X: Extended): Extended;
begin
if IsZero(X) then
Result := 0
else
Result := SinH(X) / CosH(X);
end;
dar. Nicht nur daß tanh(1e-20) = 0 ist statt 1e-20, tanh crasht für moderate Argumente statt gegen 1 zu gegehen. Außerdem werden 4(!!) exp-Aufrufe durchgeführt statt nur einem! Tanh war OK in Delpi6, wurde dann offensichtlich verschlimmbessert (von einem Informatik-Erstsemester??).
Aber auch D6 ist saumäßig: Ausgesprochen skandalös ist die völlig falsche Implementation der inversen trigonometrischen Funktionen in D6, Bsp:
Delphi-Quellcode:
function ArcSec(const X: Extended): Extended;
begin
Result := Cos(1 / X);
end;
statt
Result := ArcCos(1 / X);
End OT: