
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Christopher Kormanyos Sent: Sunday, April 29, 2012 10:47 PM To: boost@lists.boost.org Subject: [boost] [complex] Feedback and Potential Review Manager
Hi Matthieu,
Boost.Complex appears to have two main goals: A) Provide acceleration for pure imaginary numbers. B) Allow complex to be used with user-defined types.
For goal B), I have briefly tested parts of the Boost.Complex code with the cpp_dec_float multiprecision data type proposed for Boost.Multiprecision by John Maddock.
My Tests include: * Test some elementary transcendental functions. * Test the overall package via computation of orthogonal polynomials.* My test file (complex.cpp) is included in this e-mail. * Visual Studio 2010, SP1. * Proposed Boost.Multiprecision and boost trunk.
Remarks: 1) Various functions use macros like M_PI_2. These macros do not provide enough precision for a multiprecision type.
Which is a reason why Boost.Math constants were produced. And they will be inefficient for
some fixed-point types. Perhaps you need to "bite the bullet" and use boost::math::constants. (Is M_PI_2 even part of C++, or is it only lurking around in <math.h> of GCC?)
2) Ditto for the LN_10 and LN_2 constants. Does boost::math::constants support ln_ten()? I do know that it has ln_two().
The obvious constant LN_10 = ln(10) = 2.30258509 seems to have slipped through the Boost.Math constants net. But we do have the equal valued one_div_log10_e = "2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982 9834196778404e+00") But we should probably add ln(10) as people are more likely to be looking for that? Paul PS Might Matthieu be qualified as a review manager for Boost.Multiprecision? Boost badly needs this reviewed soon (and preferably accepted!) --- Paul A. Bristow, Prizet Farmhouse, Kendal LA8 8AB UK +44 1539 561830 07714330204 pbristow@hetp.u-net.com