Ich lese gerade "Das Ende des Fehlers - Unum Computing" von John Gustafson ( Youtube ). Was ich immer noch nicht sicher bin, ist, wie die Fälle, die in IEEE durch negativ vorzeichenbehaftete Null behandelt werden, mit Unums behandelt werden.
Unums erlaubt es also zunächst, bestimmte exakte Werte darzustellen (ähnlich wie Gleitkommawerte) und zusätzlich die offenen Intervalle darzustellen, die zwischen exakten Werten liegen (einschließlich exakter -∞ und ∞). Die gesamte reelle Zahlenlinie wird also durch abwechselnde genaue Werte und offene Intervalle dargestellt:
-∞, (-∞, -maxreal), -maxreal, ... -smallsubnormal, (-smallsubnormal, 0),
0,
(0, smallsubnormal), smallsubnormal, ... maxreal, (maxreal, ∞), ∞
Auf diese Weise sind die (in der IEEE-Tradition) außergewöhnlichen Werte wie Unterlauf und Überlauf nur einige offene Intervalle. Mit anderen Worten: Diese ehemals besonderen Bedingungen werden nun zu regulären Fällen.
IEEEs -∞ entspricht der Vereinigung von {-∞} und (-∞, -maxreal).
Und die vorzeichenbehaftete Null kann jetzt die Intervalle (-smallsubnormal, 0) und (0, smallsubnormal) sein.
1 / (- smallsubnormal, 0) ist jetzt (-∞, -maxreal) und nicht -∞ allein. Während 1/0 ∞ ist.
Was ich immer noch zögere, ist, dass in IEEE -0 und +0 gleich verglichen werden. Aber sie sind nicht in Unums. Es scheint, dass das Mapping nicht 100% ist. Ich frage mich also, ob es Eckfälle gibt, in denen sich der Unterschied zeigen kann ((und ob diese Fälle wirklich relevant sind).
(Mir ist bewusst, warum negative Null wichtig ist. , Verwendet für negativen Gleitkommawert )
guess
) darauf hindeutet, dass man Dinge mehr oder weniger (und zu Beginn) wörtlich übersetzen kann. Mir ist völlig bewusst, dass eine wörtliche Übersetzung unums nicht voll ausnutzt.