Files
histogram/doc/histogram.qbk
hans.dembinski@gmail.com c2667a3647 change wording
2017-04-12 11:20:26 +02:00

42 lines
2.4 KiB
Plaintext

[library Boost.Histogram
[quickbook 1.6]
[authors [Dembinski, Hans]]
[copyright 2016-2017 Hans Dembinski]
[id histogram]
[dirname histogram]
[license
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
]
]
[section Abstract]
This `C++11` library provides an easy-to-use powerful n-dimensional [@https://en.wikipedia.org/wiki/Histogram histogram] class for your statistics needs. It is very customisable through policy classes, but the default policies were carefully designed so that most users won't need to customize anything. The library has a convenient uniform interface, is memory efficient, and very fast. If the default policies are used, bin counts *cannot overflow* or *be capped*.
The histogram class comes in two implementations with a common interface. The *static* variant uses compile-time information to provide maximum performance, at the cost of potentially larger executables and reduced runtime flexibility. The *dynamic* variant makes the opposite trade-off. Python bindings for the latter are included, implemented with [@boost:/libs/python/index.html Boost.Python]. Optional serialization support is implemented with [@boost:/libs/serialization/index.html Boost.Serialization].
The histogram supports value semantics. Move operations and trips over the language boundary from C++ to Python are cheap. Histogram instances can be streamed from/to files and pickled in Python. [@http://www.numpy.org Numpy] is supported to speed up operations in Python: histograms can be filled with Numpy arrays at high speed (faster than numpy's own histogram functions) and are convertible into Numpy arrays without copying data.
My goal is to submit this project to [@http://www.boost.org Boost], that's why it uses the Boost directory structure and namespace. The code is released under the [@http://www.boost.org/LICENSE_1_0.txt Boost Software License].
[endsect]
[section Acknowledgments]
Klemens Morgenstern helped me to make this library boost-compliant, converting the documentation, and adding Jamfiles, and provided code improvements.
[endsect]
[include motivation.qbk]
[include build.qbk]
[include tutorial.qbk]
[include guide.qbk]
[include benchmarks.qbk]
[include rationale.qbk]
[include concepts.qbk]
[xinclude autodoc.xml]
[include changelog.qbk]
[include references.qbk]