Dear Boost developers,
I believe the histogram library is now ready to be presented here and I am looking for endorsement.
Histogram is a C++11 header-only library that provides a safe, convenient, and fast multi-dimensional histogram for statistical analysis and visualisation. The library has a unique feature set, among it a safety guarantee that the counts in the histogram cannot overflow. It is easily customisable for power users, while providing defaults that just work for the occasional user. Meta-programming is used to provide an especially fast histogram implementation that can be used when the histogram configuration is known at compile-time. A dynamic implementation is also provided for the other case when the configuration is only known at run-time. The two implementations share a common interface, so it is easy to switch between them. Python bindings are included for the dynamic implementation. The Python interface supports Numpy arrays to greatly speed up the exchange of data between the Python and C++ side. I tested the performance of the library in benchmarks against other libraries , which have fewer features, and this library beats them in almost all cases.
[snip] The histogram classes look quite useful, especially the property that you can add histograms and thus accumulate data in parallel is important in many scientific contexts. Did you also intend to provide estimates of mean, variance and possibly higher order statistical moments of the whole distribution? This can be achieved with so-called on-line algorithms (even in the multi-variate case) and would help to get more information about your data. This can also be implemented such that the summation of histograms still work (and probably also the scaling). Best, Fabian