]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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 | ] |