[Haskell-cafe] Confused about logBase
MarLinn
monkleyon at googlemail.com
Wed Aug 24 21:51:45 UTC 2016
Hi,
I discovered that in base /logBase/, the functions representing
arbitrary logarithms, are defined in terms of two applications of /log/.
/log/, the functions representing the natural logarithm, just pass
responsibility on to some primitives. That is fine, mathematically
speaking. But from an implementation standpoint, I wonder why one would
do that.
The logarithm that should be the fastest and the most precise one to
approximate by a cpu should be the one to base two. In fact if one
already has a floating point representation, it should be almost
ridiculously easy to compute from the exponent.
I suppose it's probably a good idea to use primitive functions for the
harder cases to get some speed-up. What I don't see is why the choice
seems to have been an /xor/ instead of an /and/.
I am by absolutely no means an expert on these things, so I am probably
missing something here. Is there actually a good reason for this choice?
For example will ghc optimize such logarithms anyway?
Cheers,
MarLinn
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20160824/55b6a64f/attachment.html>
More information about the Haskell-Cafe
mailing list