Mit meinem letzten Problem konnte mir leider niemand weiterhelfen,
aber nach längeren Herumprobieren hab ich es dann doch noch hinbekommen.
Die Lösung editiere ich sobald ich zeit hab in meinen vorigen Beitrag hinein.
Jetzt stehe ich vor einem neuen und aus meiner Sicht sehr seltsamen Problem:
Teste ich meine Funktion mit einer selbst geschriebenen Testbench, treten Ungenauigkeiten auf.
Eigentlich klar bei Fließkomma Berechnungen... Aber meine Testbench produziert korrekte Ergebnisse.
Als ich der Sache auf den Grund gegangen bin, musste ich feststellen, dass sich die Ungenauigkeiten immer ab einer bestimmten Potenz zeigen.
Ist das Ergebnis der Berechnung 1.234567890123_45 treten ab dem Unterstrich Fehler auf.
(normale Float Ungenauigkeit würde ich sagen)
Ist das Ergebnis 1.23_456789012345e-15 treten die Fehler viel früher auf.
Da die Exponenten bei Fließkomma Variablen doch getrennt gespeichert werden, bringt mich das gerade zum verzweifeln.
(Ergebnisse mit so kleinen Exponenten sind wahrscheinlich)
Man kann mich auch gerne weiterleiten zu Leuten die sich mehr mit solchen Dingen beschäftigen als der durchschnittliche PB Nutzer
Falls sich jemand das mal genauer anschauen will:
- Unter http://web254.rshost.de/PB/CASM/C.zip findet man den C und Assembler Code.
mit den Befehlen "make clean && make" kann man in der Konsole daraus die calc Executable erzeugen. - Unter http://web254.rshost.de/PB/CASM/Testbench.zip die Testbench
Wer mir nicht traut kann sie nochmal aus dem Code kompilierenAusführen sollte man sie über ./Testbench auf der Konsole.
Dann sieht man nämlich die Ausgaben und Fehlermeldungen die sie macht.
Im Moment ist sie so eingestellt, dass in ca 70% der Fälle Fehler unter den 200 Testwerten auftreten
oder mir sogar erzählen, wie man das komische Problem beheben kann.
Grüße
Macros