]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/math/doc/overview/structure.qbk
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / math / doc / overview / structure.qbk
CommitLineData
7c673cae
FG
1[section:navigation Navigation]
2
3[indexterm1 navigation]
4
5Boost.Math documentation is provided in both HTML and PDF formats.
6
7* [*Tutorials] are listed in the ['Table of Contents] and
8include many examples that should help you get started quickly.
9* [*Source code] of the many ['Examples] will often be your quickest starting point.
10* [*Index] (general) includes all entries.
11* [*Specific Indexes] list only functions, class signatures, macros and typedefs.
12
13[h5 Using the Indexes]
14
15The main index will usually help,
16especially if you know a word describing what it does,
17without needing to know the exact name chosen for the function.
18
19[tip When using the index, keep in mind that clicking on an index term
20only takes you to the [*section] containing the index entry.
21This section may be several pages long,
22so you may need to use the [*find] facility of your browser or PDF reader
23to get to the index term itself.]
24
25[tip A PDF reader usually allows a [*global] find; this can be really useful
26if the term you expect to be indexed is not the one chosen by the authors.
27You might find searching the PDF version and viewing the HTML version
28will locate an elusive item.]
29
30[endsect] [/section:navigation Navigation]
31
32[section:conventions Document Conventions]
33
34[indexterm1 conventions]
35
36This documentation aims to use of the following naming and formatting conventions.
37
38* C++ Code is in `fixed width font` and is syntax-highlighted in color, for example `double`.
39* Other code is in block [^teletype fixed-width font].
40* Replaceable text that [*you] will need to supply is in [~italics].
41* If a name refers to a free function, it is specified like this:
42 `free_function()`; that is, it is in [~code font] and its name is followed by `()`
43 to indicate that it is a free function.
44* If a name refers to a class template, it is specified like this:
45 `class_template<>`; that is, it is in code font and its name is followed by `<>`
46 to indicate that it is a class template.
47* If a name refers to a function-like macro, it is specified like this: `MACRO()`;
48 that is, it is uppercase in code font and its name is followed by `()` to
49 indicate that it is a function-like macro. Object-like macros appear without the
50 trailing `()`.
51* Names that refer to ['concepts] in the generic programming sense
52(like template parameter names) are specified in CamelCase.
53
54
55[endsect] [/section:conventions Document Conventions]
56
57[section:hints Other Hints and tips]
58
59* If you have a feature request,
60or if it appears that the implementation is in error,
61please search first in the [@https://svn.boost.org/trac/boost/ Boost Trac].
62
63* [@https://svn.boost.org/trac/boost/ Trac] entries may indicate that
64updates or corrections that solve your problem are in
65[@http://svn.boost.org/svn/boost/trunk Boost-trunk]
66where changes are being assembled and tested ready for the next release.
67You may, at your own risk, download new versions from there.
68
69* If you do not understand why things work the way they do, see the ['rationale] section.
70
71* If you do not find your idea/feature/complaint,
72please reach the author preferably through the Boost
73development list, or email the author(s) direct.
74
75[h5 Admonishments]
76
77[note In addition, notes such as this one specify non-essential information that
78provides additional background or rationale.]
79
80[tip These blocks contain information that you may find helpful while coding.]
81
82[important These contain information that is imperative to understanding a concept.
83Failure to follow suggestions in these blocks will probably result in undesired behavior.
84Read all of these you find.]
85
86[warning Failure to heed this will lead to incorrect,
87and very likely undesired, results.]
88
89[endsect] [/section:hints Other Hints and tips]
90
91
92[section:directories Directory and File Structure]
93
94[h4 boost\/math]
95
96[variablelist
97[[\/concepts\/]
98 [Prototype defining the *essential* features of a RealType
99 class (see real_concept.hpp). Most applications will use `double`
100 as the RealType (and short `typedef` names of distributions are
101 reserved for this type where possible), a few will use `float` or
102 `long double`, but it is also possible to use higher precision types
103 like __NTL_RR, __GMP, __MPFR
104that conform to the requirements specified by real_concept.]]
105
106[[\/constants\/]
107 [Templated definition of some highly accurate math
108 constants (in constants.hpp).]]
109
110[[\/distributions\/]
111 [Distributions used in mathematics and, especially, statistics:
112 Gaussian, Students-t, Fisher, Binomial etc]]
113
114[[\/policies\/]
115 [Policy framework, for handling user requested behaviour modifications.]]
116
117[[\/special_functions\/]
118 [Math functions generally regarded as 'special', like beta,
119 cbrt, erf, gamma, lgamma, tgamma ... (Some of these are specified in
120 C++, and C99\/TR1, and perhaps TR2).]]
121
122[[\/tools\/]
123 [Tools used by functions, like evaluating polynomials, continued fractions,
124 root finding, precision and limits, and by tests. Some will
125 find application outside this package.]]
126]
127
128[h4 boost\/libs]
129
130[variablelist
131[[\/doc\/]
132 [Documentation source files in Quickbook format processed into
133 html and pdf formats.]]
134
135[[\/examples\/]
136 [Examples and demos of using math functions and distributions.]]
137
138[[\/performance\/]
139 [Performance testing and tuning program.]]
140
141[[\/test\/]
142 [Test files, in many .cpp files, most using Boost.Test
143 (some with test data as .ipp files, usually generated using NTL RR
144 type with ample precision for the type, often for precisions
145 suitable for up to 256-bit significand real types).]]
146
147[[\/tools\/]
148 [Programs used to generate test data. Also changes to the
149 [@http://shoup.net/ntl/ NTL] released package to provide a few additional
150 (and vital) extra features.]]
151]
152
153[endsect] [/section:directories Directory and File Structure]
154
155[section:namespaces Namespaces]
156
157All math functions and distributions are in `namespace boost::math`
158
159So, for example, the Students-t distribution template in `namespace boost::math` is
160
161 template <class RealType> class students_t_distribution
162
163and can be instantiated with the help of the reserved name `students_t`(for `RealType double`)
164
165 typedef students_t_distribution<double> students_t;
166
167 student_t mydist(10);
168
169[warning Some distribution names are also used in std random library,
170so to avoid the risk of ambiguity it is better to make explicit using declarations,
171for example: `using boost::math::students_t_distribution`]
172
173Functions not intended for use by applications are in `boost::math::detail`.
174
175Functions that may have more general use, like `digits`
176(significand), `max_value`, `min_value` and `epsilon` are in
177`boost::math::tools`.
178
179__Policy and configuration information is in namespace `boost::math::policies`.
180
181[tip Many code snippets assume implicit namespace(s),
182for example, `std::` or `boost::math`.]
183
184
185[endsect] [/section:namespaces Namespaces]
186
187
188[/ structure.qbk
189 Copyright 2006, 2010, 2012 John Maddock and Paul A. Bristow.
190 Distributed under the Boost Software License, Version 1.0.
191 (See accompanying file LICENSE_1_0.txt or copy at
192 http://www.boost.org/LICENSE_1_0.txt).
193]