Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards


Directory and File Structure



Prototype defining the essential features of a RealType class (see real_concept.hpp). Most applications will use double as the RealType (and short typedef names of distributions are reserved for this type where possible), a few will use float or long double, but it is also possible to use higher precision types like NTL::RR, GNU Multiple Precision Arithmetic Library, GNU MPFR library, Boost.Multiprecision like cpp_bin_float_50 that conform to the requirements specified by real_concept.


Templated definition of some highly accurate math constants (constants.hpp).


Distributions used in mathematics and, especially, statistics: Gaussian, Students-t, Fisher, Binomial etc


Policy framework, for handling user requested behaviour modifications.


Math functions generally regarded as 'special', like beta, cbrt, erf, gamma, lgamma, tgamma ... (Some of these are specified in C++, and C99/TR1, and perhaps TR2).


Tools used by functions, like evaluating polynomials, continued fractions, root finding, precision and limits, and by tests. Some will find application outside this package.



Documentation source files in Quickbook format processed into html and pdf formats.


Examples and demos of using math functions and distributions.


Performance testing and tuning program.


Test files, in many .cpp files, most using Boost.Test (some with test data as .ipp files, usually generated using NTL RR type with ample precision for the type, often for precisions suitable for up to 256-bit significand real types).


Programs used to generate test data. Also changes to the NTL released package to provide a few additional (and vital) extra features.