Mam sytuację, w której uzasadnione jest podzielenie przez 0,0 lub przez -0,0, gdzie oczekiwałbym odpowiednio + Inf i -Inf jako wyników. Wygląda na to, że Python lubi rzucić w obu przypadkach jeden rzutnik. Oczywiście, pomyślałem, że mogę po prostu zawinąć to z testem na 0,0. Jednak nie mogę znaleźć sposobu na rozróżnienie między +0,0 a -0,0. (FYI można łatwo uzyskać -0,0, wpisując go lub za pomocą typowych obliczeń, takich jak -1.0 * 0.0).Jak uzyskać podział Pythona o -0,0 i 0,0, aby uzyskać odpowiednio wartości "Inf i Inf"?
IEEE radzi sobie z tym bardzo ładnie, ale Python wydaje się usilnie starać się ukryć dobrze przemyślane zachowanie IEEE. W rzeczywistości fakt, że 0.0 == -0.0 jest rzeczywiście funkcją IEEE, więc zachowanie Pythona poważnie psuje rzeczy. Działa doskonale w językach C, Java, Tcl, a nawet JavaScript.
Sugestie?
+1, zdecydowanie czystsze niż moje rozwiązanie. – Blender
Bardzo ładne - nie pomyślałoby o zrobieniu tego w ten sposób;) +1 –