Boost logo

Boost :

From: John Maddock (john_at_[hidden])
Date: 2005-04-06 05:07:57

>> log1p:
>> ~~~~
>> This algorithm is part of C99, but by no means all compilers support it
>> yet,
>> I used a Taylor series expansion for small x: I'm aware that there are
>> much
>> more efficient methods, but optimizing compilers completely trash the
>> logic
>> of these (Intel C++ proved to be particularly bad).
> I had planed to work on it (and a few related such as expm1...)
> something liketwo years ago and had planed to add it to the same special
> functions library. They really are important.

Agreed: how were you planning to implement expm1? The obvious series

expm1(z) = SUM[k=1, INF] (z^k / k!)

would converge in less than B steps for a B bit floating point type and |z|
< 0.5 (in other words reasonable but not astounding performance), in fact it
would be trivial to plug that into my existing series summation code.

Alternatively there's a table based method
( which claims to be
particularly accurate.

Any others? You've got my curiosity roused...


Boost list run by bdawes at, gregod at, cpdaniel at, john at