196 lines
8.2 KiB
Plaintext
196 lines
8.2 KiB
Plaintext
[section:navigation Navigation]
|
|
|
|
[indexterm1 navigation]
|
|
|
|
Boost.Math documentation is provided in both HTML and PDF formats.
|
|
|
|
* [*Tutorials] are listed in the ['Table of Contents] and
|
|
include many examples that should help you get started quickly.
|
|
* [*Source code] of the many ['Examples] will often be your quickest starting point.
|
|
* [*Index] (general) includes all entries.
|
|
* [*Specific Indexes] list only functions, class signatures, macros and typedefs.
|
|
|
|
[h5 Using the Indexes]
|
|
|
|
The main index will usually help,
|
|
especially if you know a word describing what it does,
|
|
without needing to know the exact name chosen for the function.
|
|
|
|
[tip When using the index, keep in mind that clicking on an index term
|
|
only takes you to the [*section] containing the index entry.
|
|
This section may be several pages long,
|
|
so you may need to use the [*find] facility of your browser or PDF reader
|
|
to get to the index term itself.]
|
|
|
|
[tip A PDF reader usually allows a [*global] find; this can be really useful
|
|
if the term you expect to be indexed is not the one chosen by the authors.
|
|
You might find searching the PDF version and viewing the HTML version
|
|
will locate an elusive item.]
|
|
|
|
[endsect] [/section:navigation Navigation]
|
|
|
|
[section:conventions Document Conventions]
|
|
|
|
[indexterm1 conventions]
|
|
|
|
This documentation aims to use of the following naming and formatting conventions.
|
|
|
|
* C++ Code is in `fixed width font` and is syntax-highlighted in color, for example `double`.
|
|
* Other code is in block [^teletype fixed-width font].
|
|
* Replaceable text that [*you] will need to supply is in [~italics].
|
|
* If a name refers to a free function, it is specified like this:
|
|
`free_function()`; that is, it is in [~code font] and its name is followed by `()`
|
|
to indicate that it is a free function.
|
|
* If a name refers to a class template, it is specified like this:
|
|
`class_template<>`; that is, it is in code font and its name is followed by `<>`
|
|
to indicate that it is a class template.
|
|
* If a name refers to a function-like macro, it is specified like this: `MACRO()`;
|
|
that is, it is uppercase in code font and its name is followed by `()` to
|
|
indicate that it is a function-like macro. Object-like macros appear without the
|
|
trailing `()`.
|
|
* Names that refer to ['concepts] in the generic programming sense
|
|
(like template parameter names) are specified in CamelCase.
|
|
|
|
[endsect] [/section:conventions Document Conventions]
|
|
|
|
[section:hints Other Hints and tips]
|
|
|
|
* Historial records of issues are at [@https://svn.boost.org/trac/boost/ Boost Trac], now read-only.
|
|
* Always ensure that you are using the [@https://www.boost.org/users/download/#live current release version].
|
|
* The current documentation for the release version is [@https://www.boost.org/doc/libs/release/libs/math/doc/html/index.html here].
|
|
* The current documentation for the version being developed is [@https://www.boost.org/doc/libs/develop/libs/math/doc/html/index.html here].
|
|
* See [@https://github.com/boostorg/math develop branch(es)] where changes are being assembled and tested ready for the next release.[br]
|
|
You may, at your own risk, download new versions from there.
|
|
* If you have a new feature request, raise a new [@https://github.com/boostorg/math/issues Boost.Math issue],
|
|
* If it appears that the implementation is in error,
|
|
please search first at [@https://github.com/boostorg/math/issues Boost.Math issues].
|
|
Entries may indicate that updates or corrections that solve your problem are in
|
|
[@https://github.com/boostorg/math Boost.Math on Github].
|
|
* If you have a suggested enhancements or fix,
|
|
you are most welcome to submit [@https://github.com/boostorg/math/pulls pull requests].
|
|
* If you do not understand why things work the way they do, see first the ['rationale] section.
|
|
* If you do not find satisfaction for your idea/feature/complaint,
|
|
please reach the author(s) preferably through the Boost user or
|
|
development lists [@https://www.boost.org/community/groups.html],
|
|
or raise a new [@https://github.com/boostorg/math/issues Boost.Math issue],
|
|
or email the author(s) direct.
|
|
|
|
[h5:admonishments Admonishments]
|
|
|
|
[note In addition, notes such as this one specify non-essential information that
|
|
provides additional background or rationale.]
|
|
|
|
[tip These blocks contain information that you may find helpful while coding.]
|
|
|
|
[important These contain information that is imperative to understanding a concept.
|
|
Failure to follow suggestions in these blocks will probably result in undesired behavior.
|
|
Read all of these you find.]
|
|
|
|
[warning Failure to heed this will lead to incorrect, and very likely undesired, results!]
|
|
|
|
[endsect] [/section:hints Other Hints and tips]
|
|
|
|
|
|
[section:directories Directory and File Structure]
|
|
|
|
[h4 boost\/math]
|
|
|
|
[variablelist
|
|
[[\/concepts\/]
|
|
[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, __GMP, __MPFR, __multiprecision like cpp_bin_float_50
|
|
that conform to the requirements specified by `real_concept`.]]
|
|
|
|
[[\/constants\/]
|
|
[Templated definition of some highly accurate math constants ([@https://github.com/boostorg/math/blob/develop/include/boost/math/constants/constants.hpp constants.hpp]).]]
|
|
|
|
[[\/distributions\/]
|
|
[Distributions used in mathematics and, especially, statistics:
|
|
Gaussian, Students-t, Fisher, Binomial etc]]
|
|
|
|
[[\/policies\/]
|
|
[Policy framework, for handling user requested behaviour modifications.]]
|
|
|
|
[[\/special_functions\/]
|
|
[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\/]
|
|
[Tools used by functions, like evaluating polynomials, continued fractions,
|
|
root finding, precision and limits, and by tests. Some will
|
|
find application outside this package.]]
|
|
]
|
|
|
|
[h4 boost\/libs]
|
|
|
|
[variablelist
|
|
[[\/doc\/]
|
|
[Documentation source files in Quickbook format processed into
|
|
html and pdf formats.]]
|
|
|
|
[[\/examples\/]
|
|
[Examples and demos of using math functions and distributions.]]
|
|
|
|
[[\/performance\/]
|
|
[Performance testing and tuning program.]]
|
|
|
|
[[\/test\/]
|
|
[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).]]
|
|
|
|
[[\/tools\/]
|
|
[Programs used to generate test data. Also changes to the
|
|
[@http://shoup.net/ntl/ NTL] released package to provide a few additional
|
|
(and vital) extra features.]]
|
|
]
|
|
|
|
[endsect] [/section:directories Directory and File Structure]
|
|
|
|
[section:namespaces Namespaces]
|
|
|
|
All math functions and distributions are in `namespace boost::math`.
|
|
|
|
So, for example, the Students-t distribution template in `namespace boost::math` is
|
|
|
|
template <class RealType> class students_t_distribution
|
|
|
|
and can be instantiated with the help of the reserved name `students_t`(for `RealType double`)
|
|
|
|
typedef students_t_distribution<double> students_t;
|
|
|
|
student_t mydist(10);
|
|
|
|
[warning Some distribution names are also used in std random library,
|
|
so to avoid the risk of ambiguity it is better to make explicit using declarations,
|
|
for example: `using boost::math::students_t_distribution`]
|
|
|
|
Functions not intended for use by applications are in `boost::math::detail`.
|
|
|
|
Functions that may have more general use, like `digits`
|
|
(significand), `max_value`, `min_value` and `epsilon` are in
|
|
`boost::math::tools`.
|
|
|
|
__Policy and configuration information is in `namespace` `boost::math::policies`.
|
|
|
|
[tip Many code snippets assume implicit namespace(s),
|
|
for example, `std::` or `boost::math`.]
|
|
|
|
[tip Start your work from a copy of the example source code; links usually provided.]
|
|
|
|
[endsect] [/section:namespaces Namespaces]
|
|
|
|
|
|
[/ structure.qbk
|
|
Copyright 2006, 2010, 2012 John Maddock and Paul A. Bristow.
|
|
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).
|
|
]
|