On 01/31/2014 10:29 AM, Marc Feeley wrote:
Unfortunately the C code in those library function is very low-level (it directly accesses the bit pattern of the floats). So I don’t consider them very portable.
They look at the bits because all processors now put the bits in the same place. If a function isn't written in assembler, I'd consider it portable.
On the bright side I have tested MSCV and sinh, cosh, tanh are available in math.h (at least in versions 10, 11 and 12). So that leaves asinh, acosh, atanh, scalbn, ilogb, expm1, and log1p to implement.
Brad: we’ll definitely need some unit tests for these functions to make sure that switching to the Gambit internal implementation has the precision we need.
To have the same precision as glibc, for example, is an unreasonable goal; I'm not the world expert on implementing elementary functions. Having reasonable precision is a reasonable goal.
Brad