Forum: Algorithmen, Datenstrukturen und Klassendesign
by Rollo62,
22. Nov 2017
Hallo Uwe,
danke, genau diese Funktionen wollte ich nutzen.
Hallo Medium,
einfach ruhiger werden und einen Tee trinken.
Das Thema war schon seit mind. 4 Eintragen für mich erledigt.
Wenn du meine Punkte in der Anwendung unbedingt nicht verstehen möchtest, OK bittesehr.
Dein Tangens gehört ganz dir ...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Rollo62,
22. Nov 2017
Genau DAS will ich nicht, sondern diese Situationen möglichst elegant Vermeiden.
So das die Routinen möglichst fehlerfrei damit umgehen können.
Deshalb bin ich ja ein Verfechter von +/-Infinity, weil das dem entspricht was ich hier methematisch erwarte.
Die tan() Routinen liefern aber stattdessen irgendeinen Wert zurück.
Das Thema ist für mich erstmal erledigt, ich schaue mir die...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Rollo62,
22. Nov 2017
@TiGü
Ja logisch, ich hatte nur von der Kurve drauf geschlossen das es springt.
So gesehen macht es natürlich wunderbar Sinn.
@Medium
Mir ist das Alles schon klar, aber wie das jetzt implementiert ist FPU, GPU oder CPU interessiert mich nur am Rande.
Wichtig für mich wäre das es am Ende mathematisch korrekt interpretiert werden kann.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Rollo62,
21. Nov 2017
Dankesehr für die interessanten Ansätze.
Also liege ich mit meinem Ansatz NaN o.ä. nicht ganz falsch.
Das muss man aber wohl immer je nach Aufgabe abwägen, für mal schnell hier und da tan() benutzen ist das OK für mich.
@gammatester
DAMath und ähnliche werde ich mir mal in einer ruhigen Minute genauer ansehen, da steckt ja eine ganze Menge Gehirnschmalz drin.
Tolle Libraries :thumb:
Was...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Rollo62,
21. Nov 2017
Wie gesagt, die Gleitkomma-Arithmetik ist exakt, genau so exakt wie Integer-Arithmetik.
Was sollte denn die tan(90°) (Eingabe als Radian, natürlich Uwe) deiner Meinung nach zurückgeben ?
Der richtige Wert wäre vielleicht MAX_SINGLE als größtmögliche Näherung an Infinity ?
Obwohl ich bei tan(90°) nicht meine das es überhaupt + oder - Infinity ist, sondern einfach eine undefinierte Polstelle...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Rollo62,
20. Nov 2017
@Namenloser
Ja, genau dehalb bezeiche ich als "Bug", denn das genaue Verhalten ist ja nicht dokumentiert und bei Single, Double, etc. auch individuell anders.
Wie du schon sagts, es würde auch das Epsilon fehlen, das muss sich selbst der Aufrufer noch erraten (oder ertesten).
In der Praxis lege ich auch ein Epsilon fest, und selbst dabei kommt man in logische Probleme.
Habe nämlich...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Rollo62,
20. Nov 2017
Hallo TiGü,
if InRange(TanResult, -1.00001, 1.00001) then
wäre auch eine Alternative, aber du meinst sicher InRage innehalb gewisser Grenzen.
Damit könnte man den gültigen Bereich vorgeben, z.b. +/- 1000000.
Hätte auch seinen Charme, vielleicht auch um herauszufinden von welcher Seite man kommt.
Obwohl ich noch nicht genau den Nutzen/Anwendung sehe.
Trotzdem denke ich das eigentlich...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Rollo62,
20. Nov 2017
Hallo zusammen,
zu der tan() Funktion ist klar das es Polstellen bei 90° und Vielfachen davon gibt.
Was mir nicht klar ist warum das die tan() Funktion nicht korrekt abbildet.
LSingle := 90.0;
Result := tan ( DegToRag( LSingle ));