@winni. @Niesl
Jetzt bin ich schon ein wenig verwirrt.
1. bin ich ein derartiges anfahren aus diesem Forum nicht gewöhnt (oder auf meine alten Tage zu empfindlich)
2. bin ich mir keiner Schuld bewusst.
Ich hab hier ein Projekt an dem ich arbeite und eine Esoterische Frage gehabt entsprechend auch esoterische antworten erwartet und bekommen, danke.
Der eigentliche Bug war dass ich ein Array aufsteigend anstatt absteigend sortiert hatte, falls ihr das meintet ?
Durch die Abweichungen der Tanh funktion wurde das aber verdeckt bzw. konnte ich es so nicht sehen. Wie ich den Fehler letztendes gefunden habe habe ich in meinem Post beschrieben und auch dass dazu eine Toleranz von 0.0015 notwendig war. Bezogen auf den Thread sehe ich hier keine Frage offen.
Zum Schluß habe ich Werbung für das Stuttgarter Lazarustreffen gemacht, auch hier kann ich kein Vergehen erkennen. Im Gegenteil wer am Treffen leider nicht teilnehmen kann, kann jederzeit die Protokolle von Linkat einsehen (diese postet er in der Regel immer nach dem Treffen) und bei interesse dort dann nach hacken..
Ich hoffe es sind nun keine weiteren Fragen offen, wenn Doch gerne via PN (falls nicht tanh bezogen) auf mich zu kommen.
C++ tanh function liefert andere Ergebnisse als FPC tanh function [gelöst]
-
- Beiträge: 825
- Registriert: Mi 3. Jun 2020, 07:18
- OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
- CPU-Target: Aarch64 bis Z80 ;)
- Wohnort: München
Re: C++ tanh function liefert andere Ergebnisse als FPC tanh function
Jain. Aus mathematischer Sicht hast du zwar recht: tanh liefert für den gleichen Eingabewert immer den gleichen Ausgabewert zurück. Aus Informatikersicht ist das aber nicht unbedingt der Fall: tanh ist in der Math Unit deklariert mit dem Typ Float was (in dieser Unit) dem Fließkommatyp mit der höchsten Genauigkeit entspricht, das heißt Extended auf allen X86 Systemen (i8086, i386, x86_64) mit Ausnahme von Win64 und Double auf allen anderen Plattformen und x86_64-win64. Wenn du nun also auf z.B. i386-win32 und x86_64-win64 den gleichen Wert reingibst, kann es trotzdem sein, dass du leicht unterschiedliche Werte herauskommen, da des Ergebnis unterschiedliche Genauigkeit auf beiden Plattformen hat.Niesi hat geschrieben: ↑Mi 30. Nov 2022, 11:05Zweitens ist tanh eine mathematische Funktion, die immer ein eindeutiges Resultat liefert. Die darf auch in Gaensefuesschen nicht abweichen - so etwas schmerzt. Die Ungenauigkeiten sind sicher Rundungsfehler, schon mit einer einfachen tan-Funktion kann es da erhebliche Abweichungen geben.
Und zum Beispiel C++ setzt auf Windows standardmäßig Double ein, während FPC eben den Fließkommatyp mit der höchsten Genauigkeit bevorzugt (was je nach Plattform Extended sein kann).
FPC Compiler Entwickler
- Niesi
- Lazarusforum e. V.
- Beiträge: 331
- Registriert: So 26. Jun 2016, 19:44
- OS, Lazarus, FPC: Linux Mint Cinnamon (Windows wenn notwendig), Lazarus 3.0 FPC 3.3.1
Re: C++ tanh function liefert andere Ergebnisse als FPC tanh function
@PascalDragon
Aber vielleicht mache ich hier in Baoding im kommenden Jahr mal ein Lazarustreffen, da kann ich das dann genauer zeigen ...
Exakt - genau das meinte ich mit Rundungsfehler. Du hast diese Abweichungen auch mit einer tan-Funktion. Das ist aber wichtiges Grundwissen, sonst kann es passieren, dass lange Fehler gesucht werden, die im eigentlichen Sinne gar keine sind ...Wenn du nun also auf z.B. i386-win32 und x86_64-win64 den gleichen Wert reingibst, kann es trotzdem sein, dass du leicht unterschiedliche Werte herauskommen, da des Ergebnis unterschiedliche Genauigkeit auf beiden Plattformen hat.
Aber vielleicht mache ich hier in Baoding im kommenden Jahr mal ein Lazarustreffen, da kann ich das dann genauer zeigen ...
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...
- Niesi
- Lazarusforum e. V.
- Beiträge: 331
- Registriert: So 26. Jun 2016, 19:44
- OS, Lazarus, FPC: Linux Mint Cinnamon (Windows wenn notwendig), Lazarus 3.0 FPC 3.3.1
Re: C++ tanh function liefert andere Ergebnisse als FPC tanh function
Winni hat geschrieben: ↑Mi 30. Nov 2022, 18:31Hi!
Kurzer komprimierter Rundschlag:
https://artemoppermann.com/de/aktivierungsfunktionen/
Winni
Danke, das liest sich gut ...
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...