123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 |
- [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).
- ]
|