As mentioned in SIBR0013 document, several implementations return minus value with abs if argument was -0.0.
# (abs -0.0) => -0.0
inexact3-CHIBI_SCHEME
inexact3-DIGAMMA
inexact3-FOMENT
inexact3-KAWA
inexact3-STKLOS
Even on these implementations, (atan -0.0 1.0) is -0.0 thus we know they can handle -0.0 during computation.
It might be better to check truncation as well: shirok/Gauche@ca136f1#diff-84296dbbce35929ab06ca6deb1cac5abde4d8a0f896b2657491432061ca92e37R1839-R1841
As mentioned in
SIBR0013document, several implementations return minus value withabsif argument was-0.0.Even on these implementations,
(atan -0.0 1.0)is-0.0thus we know they can handle-0.0during computation.It might be better to check truncation as well: shirok/Gauche@ca136f1#diff-84296dbbce35929ab06ca6deb1cac5abde4d8a0f896b2657491432061ca92e37R1839-R1841