]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/math/doc/overview/structure.qbk
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / math / doc / overview / structure.qbk
1 [section:navigation Navigation]
2
3 [indexterm1 navigation]
4
5 Boost.Math documentation is provided in both HTML and PDF formats.
6
7 * [*Tutorials] are listed in the ['Table of Contents] and
8 include 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
15 The main index will usually help,
16 especially if you know a word describing what it does,
17 without 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
20 only takes you to the [*section] containing the index entry.
21 This section may be several pages long,
22 so you may need to use the [*find] facility of your browser or PDF reader
23 to get to the index term itself.]
24
25 [tip A PDF reader usually allows a [*global] find; this can be really useful
26 if the term you expect to be indexed is not the one chosen by the authors.
27 You might find searching the PDF version and viewing the HTML version
28 will locate an elusive item.]
29
30 [endsect] [/section:navigation Navigation]
31
32 [section:conventions Document Conventions]
33
34 [indexterm1 conventions]
35
36 This 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,
60 or if it appears that the implementation is in error,
61 please 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
64 updates or corrections that solve your problem are in
65 [@http://svn.boost.org/svn/boost/trunk Boost-trunk]
66 where changes are being assembled and tested ready for the next release.
67 You 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,
72 please reach the author preferably through the Boost
73 development 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
78 provides 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.
83 Failure to follow suggestions in these blocks will probably result in undesired behavior.
84 Read all of these you find.]
85
86 [warning Failure to heed this will lead to incorrect,
87 and 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
104 that 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
157 All math functions and distributions are in `namespace boost::math`
158
159 So, for example, the Students-t distribution template in `namespace boost::math` is
160
161 template <class RealType> class students_t_distribution
162
163 and 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,
170 so to avoid the risk of ambiguity it is better to make explicit using declarations,
171 for example: `using boost::math::students_t_distribution`]
172
173 Functions not intended for use by applications are in `boost::math::detail`.
174
175 Functions 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),
182 for 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 ]