Beliebige IEEE754 (r) -konforme Implementierungen für Java?

8

Gibt es vollständig kompatible IEEE754r-Implementierungen, die für Java verfügbar sind und die Unterstützung für alle Features bieten, die von Java ausgeschlossen wurden (oder besser gesagt, Hochsprachen generell weglassen):

  • Fallen
  • Sticky flags
  • Gerichtete Rundungsmodi
  • Erweitert / lang doppelt
  • Quad-Präzision
  • DPD (dicht gepackte Dezimalzahlen)

Klärung, bevor irgendjemand falsch liegt: Ich suche nicht nach der JVM, die irgendeine Unterstützung für das Obige bietet, nur einige Klassen, die die Typen und Operationen in Software implementieren, im Grunde genommen etwas im Stil des bereits existierenden primitve Wrappers Klassen Float / Double.

    
Durandal 13.07.2012, 16:21
quelle

2 Antworten

5

Nein, es gibt keine vollständig konforme IEEE754R-Implementierung. Nicht nur in Java, sondern in allen derzeit verfügbaren Sprachen (Stand Juli 2012).

EDIT: Das Poster bat um IEEE754 R Unterstützung, die identisch mit IEEE 754-2008 ist. Wenn ich alle Gründe hinzufügen möchte, warum es so etwas nicht gibt, wäre das lang.

  • Traps: Nein, das Aufrufen eigener Routinen mit OVERFLOW, UNDERFLOW, INEXACT usw. mit SIGFPE ist nicht möglich      eine Falle. Siehe IEEE754 (der alte) p. 21 für was eine Falle ausmacht.      Signalisierung NaNs. NaN Nutzlast Zugang. Zugriff kennzeichnen.      Zählen Sie Sprachen auf, die das können.

  • Rundungsmodi: Der neue Standard definiert roundTiesToAway (S. 16) als neuen Rundungsmodus.               Leider gibt es AFAIK keine Prozessoren, die diesen Modus unterstützen und               keine Software-Emulation.

  • Quad-Genauigkeit: Wird nur in sehr wenigen Compilern und noch weniger Compilern unterstützt, die nicht beschädigt sind.

  • Dicht gepackte Dezimalzahlen: Wird wahrscheinlich nur in Sprachen unterstützt, die Dezimalzahlen verwenden,                        z.B. COBOL.

Schnittmenge aller Sets: Leeres Set. Keiner. Nichts.

    
Thorsten S. 14.07.2012, 19:37
quelle
0

Dies mit dem folgenden Quelle implementierte Funktionen unten:

%Vor%

"Alle diese Routinen haben auch float-Varianten, die sich nur in Argument- und Rückgabetypen unterscheiden. Die Klasse ist org.dosereality.util.IEEE754"

Sun Bug-Referenz 2003

    
Woot4Moo 13.07.2012 16:41
quelle

Tags und Links