Atualmente, estou lendo "O Fim do Erro - Unum Computing", de John Gustafson ( Youtube ). O que ainda não tenho certeza é como os casos tratados no IEEE por zero assinado negativamente são tratados com unums.
Portanto, antes de tudo, os unums permitem representar certos valores exatos (da mesma forma que os pontos flutuantes) e, adicionalmente, permitem representar os intervalos abertos que se situam entre os valores exatos (incluindo -∞ e exact). Portanto, a linha do número real completa é representada pela alternância de valores precisos e intervalos abertos:
-∞, (-∞, -maxreal), -maxreal, ... -smallsubnormal, (-smallsubnormal, 0),
0,
(0, smallsubnormal), smallsubnormal, ... maxreal, (maxreal, ∞), ∞
Dessa maneira, os valores excepcionais (na tradição IEEE), como subfluxo e excesso, são apenas alguns intervalos abertos. Em outras palavras: essas condições anteriormente especiais agora se transformam em casos regulares.
IEEE -∞ corresponde à união de {-∞} e (-∞, -maxreal).
E zero assinado agora pode ser os intervalos (-smallsubnormal, 0) e (0, smallsubnormal).
No entanto, 1 / (- smallsubnormal, 0) agora é (-∞, -maxreal) e não -∞ sozinho. Enquanto 1/0 é ∞.
O que ainda estou hesitando sobre isso é que no IEEE -0 e +0 se comparam iguais. Mas eles não fazem unum. Parece que o mapeamento não é 100%. Então, eu me pergunto se existem casos em que a diferença pode aparecer ((e se esses casos são realmente relevantes)).
(Estou ciente de Por que é zero negativo importante? , Usos para ponto flutuante valor negativo )
guess
) sugere que se pode mais ou menos (e como começo) traduzir as coisas literalmente. Estou perfeitamente ciente de que uma tradução literal não tira o máximo proveito dos unums.