histogram/doc/histogram.qbk
hans.dembinski@gmail.com 782a6740b7 improving docs
2017-02-12 23:23:03 +00:00

36 lines
2.1 KiB
Plaintext

[library Boost.Histogram
[quickbook 1.6]
[authors [Dembinski, Hans] [Morgenstern, Klemens]]
[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 implements two easy-to-use and powerful n-dimensional [@https://en.wikipedia.org/wiki/Histogram histogram] classes, using a policy-based design, optimized for convenience, customizability, and highest performance.
Two histogram implementations in C++ are included. [classref boost::histogram::static_histogram static_histogram] exploits compile-time information as much as possible to provide the maximum performance, but has no run-time flexibility. [classref boost::histogram::dynamic_histogram dynamic_histogram] makes the opposite trade-off. The two classes share an interface. Optional Python bindings for the [classref boost::histogram::dynamic_histogram dynamic_histogram] are included, based on [@boost:/libs/python/index.html Boost.Python]. Optional serialization support is implemented, based on [@boost:/libs/serialization/index.html Boost.Serialization].
The histograms have value semantics. Move operations and trips over the language boundary from C++ to Python and back are cheap. Histograms 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]
[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]