Standard IEEE 754 definiuje pierwiastek kwadratowy z ujemnego zera jako zero ujemne. Wybór ten jest łatwy do zracjonalizowania, ale inne opcje, takie jak definiowanie sqrt(-0.0)
jako NaN
, również mogą być zracjonalizowane i łatwiejsze do wdrożenia w sprzęcie. Jeśli obawiano się, że programiści będą pisać if (x >= 0.0) then sqrt(x) else 0.0
i zostaną ukąszeni przez to wyrażenie, oceniając NaN
, gdy x
jest -0.0
, wówczas sqrt(-0.0)
można było zdefiniować jako +0.0
(w rzeczywistości dla tego konkretnego wyrażenia wyniki byłyby jeszcze bardziej spójne).Jaki algorytm numeryczny jest uproszczony, definiując sqrt (-0.0) jako -0.0?
Czy istnieje algorytm numeryczny, w przypadku którego określenie sqrt(-0.0)
zdefiniowane jako -0.0
upraszcza logikę samego algorytmu?
Artykuł [wikipedia] (http://en.wikipedia.org/wiki/Negative_zero) jest przyzwoity. Prawdopodobnie powinieneś zapytać o to pod adresem math.se –