Absichtlich return NaN
Schreibe ich ein ray tracer, und Teil des Prozesses ist das abfeuern eines Strahls kann oder nicht, trifft ein Objekt (geometrische Objekt). Eine Reihe von Gleichungen, die Objekte zurückgeben NaN-natürlich, wenn keine Kreuzung passiert ist (die Schnittmenge ist das imaginäre), aber nicht alle Objekte zurück NaN, wenn keine Kreuzung passiert.
Ich weiß, dass ich könnte, zwingen Rückkehr sqrt(-1) wenn keine Kreuzung passiert ist, aber ich Frage mich, ob es einen Weg zurück in eine weniger teure Art und Weise.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollte dies funktionieren:
Ich weiß, es ist eine alte Frage, aber mit C++11 haben Sie die
nan(const char*)
Familie von Funktionen (nan
für Doppel -,nanl
für lange verdoppelt undnanf
für Schwimmer). Das argument ist die Umsetzung spezifischer, sondern ein leerer string übergeben (z.B.nan("")
) gibt eine generische NaN-Wert.nan
Funktion: cplusplus.com/reference/cmath/nan-function