Boost logo

Boost :

Subject: Re: [boost] Review request: extended complex number library
From: Ronald Garcia (rxg_at_[hidden])
Date: 2012-03-06 15:06:54

Hello Matthieu,

I have received your request and will add it to the review schedule.


On Mar 5, 2012, at 1:41 PM, Matthieu Schaller wrote:

> Dear all,
> Following the comments from V. Escriba, I formally propose my complex number library for review.
> The library is an extension of the std::complex class addressing two issues:
> - The standard does not guaranty the behaviour of the complex class if instantiated with types other than float/double/long double.
> - Some calculation where pure imaginary numbers (i.e. multiples of sqrt(-1)) appear are unnecessarily slowed down due to the lack of support for these numbers.
> The code I submit contains two interleaved classes boost::complex and boost::imaginary which can be instantiated with any type T provided T overloads the usual arithmetic operators and some basic (real) mathematical functions depending on which complex function will be used. It is thus an extended version of Thorsten Ottosen's n1869 proposal (
> Performance tests show some non-negligible speed-ups compared to std::complex for calculations where pure imaginary numbers are involved. A speed-up of 25% has been observed when solving the Schroedinger equation explicitly on a regular mesh and some comparable figures can be observed when computing the Mandelbrot set (the two examples snippets provided in the archive).
> Furthermore, the functions (sin(), exp(), log(),...) involving boost::imaginary numbers are more precise than their equivalent using a std::complex with the real part set to 0.
> The code and (doxygen) documentation is available in the repository
> A comprehensive zip archive can be found in the "download" and the code can also be checked-out via the SVN repository.
> The archive contains the class header, two examples, a comprehensive precision test, a brute-force performance test and the documentation.
> I'd be happy to answer any question from your side and to provide more detailed information if required.
> Regards,
> Matthieu
> --
> Matthieu Schaller
> PhD student - Durham University
> _______________________________________________
> Unsubscribe & other changes:

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