[Haskell-cafe] Default implementation of Floating (**)

Fabrício Olivetti de França fabricio.olivetti at gmail.com
Wed May 19 14:50:22 UTC 2021


Hi,

I was using Numeric.Interval in my code and found an issue with the
(**) operator, if the interval contains negative values, it will
return a wrong result (as reported in this open issue
https://github.com/ekmett/intervals/issues/50).

Investigating the source of this problem, I found that it uses the
default implementation of (**) from base defined as x ** y = exp (log
x * y).

So I was wondering, is there any reason to have this (potentially
dangerous) default implementation on base?

Best,
Fabricio Olivetti de França


More information about the Haskell-Cafe mailing list