NaNs

08/02/2011 - 16:45 von Jan Bruns | Report spam
Hallo.

Ist es eigentlich überall so wie Intel das für ihre x86-CPUs dokumentiert,
daß "IEEE754 quiet NaNs" über das MSB der Mantisse (zusammen natürlich mit
Exponent und evtl. Sign) eindeutig als solche zu identifizieren sind?

Hintergrund der Frage ist folgender:
Soweit ich weiss erzeugen IEEE754 Operationen keine solchen signalling
NaNs, sondern ausschliesslich quiet-NaNs. Daher würde ich gern signalling
NaNs für anwendungsspezifische Codierungen verwenden.

Die Frage ist also nur, welche Form signalling NaNs haben dürfen.

Laut Intel ist es bei denen wie gesagt das MSB der Mantisse, daß
zwischen quiet und signalling unterscheidet, so daß dort der ganze
Rest der Mantisse für eigene Codes zur Verfügung stehen müsste.

Gruss

Jan Bruns

Ein paar Fotos: http://abnuto.de/gal/
 

Lesen sie die antworten

#1 Jan Bruns
10/02/2011 - 23:36 | Warnen spam
Jan Bruns:

Laut Intel ist es bei denen wie gesagt das MSB der Mantisse, daß
zwischen quiet und signalling unterscheidet, so daß dort der ganze Rest
der Mantisse für eigene Codes zur Verfügung stehen müsste.



Also bei meinem Athlon64 scheint das auch so zu sein.
Der scheint auch bei Rechnungen mit S-NaNs die Ergebnisse
(laut IEEE754 immer Q-NaNs) einfach als Kopie der S-NaN,
nur eben mit diesem einen Bit Unterschied zu erzeugen.

Ist das aber auch auf àlteren AMDs so? Das ist ja nicht notwendig,
damit eine x87-FPU (oder SSE) IEEE-konform rechnet (dort heisst
es nur: es soll mindestens je eine SNaN und QNaN geben, Rechnungen
mit irgendwelchen NaNs führen zu QNaNs, Rechnungen mit QNaNs führen
zur gleichen QNaN).

Und man sieht in diversen libs auch stàndig, daß da solcherlei
Sachen immer bevorzugt zur Laufzeit "ausprobiert" werden, was
ja doch irgendwie unsinnig wàre, wenn man sich auf völlig gleiches
Verhalten verlassen könnte.

Gruss

Jan Bruns

Ein paar Fotos: http://abnuto.de/gal/

Ähnliche fragen