
Zitat von
Khabarakh:

Zitat von
xZise:
Meine Frage ist, wo kann man den Logaritmus so optimieren (in richtung Log10) gegenüber ln?
Hast du wirklich gemessen, dass Log10 schneller ist als Ln? Bei dem zweiten Ansatz kommt schließlich noch die Division hinzu.
Naja. Kommt auf die sichtweise drauf an.
Ob log10 schneller als ln ist, weiß ich nicht.
Aber es gilt ja:
Code:
log10(X) = ln(X) / ln(10)
Also müsste man sagen: Das "ln"-Konstrukt ist langsamer als log10 liefert aber gleiche Ergebnisse. Und rein theoretisch müssten beide Operatioen gleich schnell ablaufen, da ich, um log10 zu simulieren, das "ln"-Konstrukt verwenden würde.
Aber den scheint nicht so zu sein, oder Borland hat den log10-Algorythmus optimiert, weil ja die... ehm Basis? ... immer gleich ist, und man irgendwo kürzen könnte.
Ich weiß aber nicht, ob sie auch einfach ein anderen Rechenweg verwenden.
Wegen Lazarus/OpenPascal: Ich besitze es nicht

und kann deshalb auch keine aussage darüber machen.
Und nur deshalb das zu downloaden wäre etwas zu overkill

Vielleicht gibt es jemand anderen, der den log10-Algorythmus posten kann. Ich könnte den in den Testprogramm integrieren.
MfG
xZise
[edit]omfg ... sry, aber es steht ja als Kommentar da:
{ Log.10(X) := Log.2(X) * Log.10(2) }
Meine, zwar noch auf math basieren, aber ggf. bald nicht mehr:
Delphi-Quellcode:
function Log10(const X : Extended) : Extended;
begin
Result := Log2(X) * LogN(10, 2);
end;
[/edit]