2
0
mirror of https://github.com/boostorg/math.git synced 2026-01-28 07:22:12 +00:00

Merge changes from Boost.Math to release.

New constants code, new Hankel and owens_t special functions, new skew normal distribution.
Updated docs.

[SVN r78472]
This commit is contained in:
John Maddock
2012-05-14 17:01:32 +00:00
569 changed files with 25837 additions and 10333 deletions

View File

@@ -16,7 +16,7 @@ project
#<toolset>gcc:<cxxflags>-fvisibility=hidden
<toolset>intel-linux:<cxxflags>-fvisibility=hidden
<toolset>sun:<cxxflags>-xldscope=hidden
[ check-target-builds ../config//has_gcc_visibility : <toolset>gcc:<cxxflags>-fvisibility=hidden : ]
[ check-target-builds ../config//has_gcc_visibility "gcc visibility" : <toolset>gcc:<cxxflags>-fvisibility=hidden : ]
;
cpp-pch pch : ../src/tr1/pch.hpp : <include>../src/tr1 <link>shared:<define>BOOST_MATH_TR1_DYN_LINK=1 ;
@@ -96,7 +96,7 @@ lib boost_math_tr1l : ../src/tr1/$(TR1_SOURCES)l.cpp pch
<link>shared:<define>BOOST_MATH_TR1_DYN_LINK=1
<dependency>../config//has_long_double_support
<include>../src/tr1
[ check-target-builds ../config//has_long_double_support : : <build>no ]
[ check-target-builds ../config//has_long_double_support "long double support" : : <build>no ]
;
lib boost_math_c99 : ../src/tr1/$(C99_SOURCES).cpp pch
@@ -116,7 +116,7 @@ lib boost_math_c99l : ../src/tr1/$(C99_SOURCES)l.cpp pch
<link>shared:<define>BOOST_MATH_TR1_DYN_LINK=1
<dependency>../config//has_long_double_support
<include>../src/tr1
[ check-target-builds ../config//has_long_double_support : : <build>no ]
[ check-target-builds ../config//has_long_double_support "long double support" : : <build>no ]
;
boost-install boost_math_c99 boost_math_c99f boost_math_c99l boost_math_tr1 boost_math_tr1f boost_math_tr1l ;

View File

@@ -1,75 +1,710 @@
[section:constants Numeric Constants]
[section:constants Mathematical Constants]
[h4 Synopsis]
[section:intro Introduction]
``
#include <boost/math/constants/constants.hpp>
``
Boost.Math provides a collection of mathematical constants.
namespace boost{ namespace math{ namespace constants{
template <class T> T pi();
template <class T> T root_pi();
template <class T> T root_half_pi();
template <class T> T root_two_pi();
template <class T> T root_ln_four();
template <class T> T e();
template <class T> T half();
template <class T> T euler();
template <class T> T root_two();
template <class T> T ln_two();
template <class T> T ln_ln_two();
template <class T> T third();
template <class T> T twothirds();
template <class T> T pi_minus_three();
template <class T> T four_minus_pi();
}}} // namespaces
[h4 Why use Boost.Math mathematical constants?]
[h4 Description]
* Readable. For the very many jobs just using built-in like `double`, you can just write expressions like
``double area = pi * r * r;``
(If that's all you want, jump direct to [link math_toolkit.constants.tutorial.non_templ use in non-template code]!)
* Effortless - avoiding a search of reference sources.
* Usable with both builtin floating point types, and user-defined, possibly extended precision, types such as
NTL, MPFR/GMP, mp_float: in the latter case the constants are computed to the necessary precision and then cached.
* Accurate - ensuring that the values are as accurate as possible for the
chosen floating-point type
* No loss of accuracy from repeated rounding of intermediate computations.
* Result is computed with higher precision and only rounded once.
* Less risk of inaccurate result from functions pow, trig and log at [@http://en.wikipedia.org/wiki/Corner_case corner cases].
* Less risk of [@http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html cancellation error].
* Faster - can avoid (re-)calculation at runtime. This can be significant if:
* Functions pow, trig or log are used.
* Inside an inner loop.
* Using a high-precision UDT.
* Compiler optimizations possible with built-in types, especially `double`, are not available.
* Portable - as possible between different systems using different floating-point precisions:
see [link math_toolkit.constants.tutorial.templ use in template code].
* Tested - by comparison with other published sources, or separately computed at long double precision.
The header `boost/math/constants/constants.hpp` contains some numeric constants
that we have found useful in the development of this library. New constants are
added on an ad-hoc basis based on need.
[endsect] [/section:intro Introduction]
Usage is like this:
template <class T>
T circumference(T r)
[section:tutorial Tutorial]
[section:non_templ Use in non-template code]
When using the math constants at your chosen fixed precision in non-template code,
you can simply add a `using` declaration, for example, `using boost::math::double_constants`,
to make the constants of the correct precision for your code
visible in the current scope, and then use each constant ['as a simple variable]:
#include <boost/math/constants.hpp>
double area(double r)
{
return 2 * boost::math::constants::pi<T>() * r;
using boost::math::double_constants;
return pi * r * r;
}
All the constants are accurate to at least the 34 decimal digits required for 128-bit
long doubles, and most are accurate to 100 digits or more when used with
a suitable arbitrary precision type.
Had our function been written as taking a `float` rather than a `double`,
we could have written instead:
The following table summarises the constants we have at present:
#include <boost/math/constants.hpp>
float area(float r)
{
using boost::math::float_constants;
return pi * r * r;
}
Likewise, constants that are suitable for use at `long double` precision
are available in the namespace `boost::math::long_double_constants`.
You can see the full list of available constants at [link math_toolkit.constants.constants].
[endsect]
[section:templ Use in template code]
When using the constants inside a function template, we need to ensure that
we use a constant of the correct precision for our template parameters.
We can do this by calling the function-template versions, `pi<FPType>()`, of the constants
like this:
#include <boost/math/constants.hpp>
template <class Real>
Real area(Real r)
{
using namespace boost::math::constants;
return pi<Real>() * r * r;
}
Although this syntax is a little less "cute" than the non-template version,
the code is no less efficient
(at least for the built-in types `float`, `double` and `long double`) :
the function template versions of the constants are simple inline functions that
return a constant of the correct precision for the type used. In addition, these
functions are declared `constexp` for those compilers that support this, allowing
the result to be used in constant-expressions provided the template argument is a literal type.
[tip Keep in mind the difference between the variable version,
just `pi`, and the template-function version:
the template-function requires both a <[~floating-point-type]>
and function call `()` brackets, for example: `pi<double>()`.
You cannot write `double p = pi<>()`, nor `double p = pi()`.]
[note You can always use [*both] variable and template-function versions
[*provided calls are fully qualified], for example:
``
double my_pi1 = boost::math::constants::pi<double>();
double my_pi2 = boost::math::double_constants::pi;
``
]
[warning It may be tempting to simply define
``
using namespace boost::math::double_constants;
using namespace boost::math::constants;
``
but if you do define two namespaces, this will, of course, create ambiguity!
``
double my_pi = pi(); // error C2872: 'pi' : ambiguous symbol
double my_pi2 = pi; // Context does not allow for disambiguation of overloaded function
``
Although the mistake above is fairly obvious,
it is also not too difficult to do this accidentally, or worse, create it in someone elses code.
Therefore is it prudent to avoid this risk by [*localising the scope of such definitions], as shown above.]
[tip Be very careful with the type provided as parameter.
For example, providing an [*integer] instead of a floating-point type can be disastrous (a C++ feature).
``cout << "Area = " << area(2) << endl; // Area = 12!!!``
You should get a compiler warning
[pre
warning : 'return' : conversion from 'double' to 'int', possible loss of data
] [/pre]
Failure to heed this warning can lead to very wrong answers!
You can also avoid this by being explicit about the type of `Area`.
``cout << "Area = " << area<double>(2) << endl; // Area = 12.566371``
]
[endsect] [/section:templ Use in template code]
[section:user_def Use With User Defined Types]
The syntax for using the function-call constants with user-defined types is the same
as it is in the template class, which is to say we use:
#include <boost/math/constants.hpp>
boost::math::constants::pi<UserDefinedType>();
However, since the precision of the user-defined type may be much greater than that
of the built-in floating pointer types, how the value returned is created is as follows:
* If the precision of the type is known at compile time:
* If the precision is less than or equal to that of a `float` and the type is constructable from a `float`
then our code returns a `float` literal. If the user-defined type is a literal type
then the function call that returns the constant will be a `constexp`.
* If the precision is less than or equal to that of a `double` and the type is constructable from a `double`
then our code returns a `double` literal. If the user-defined type is a literal type
then the function call that returns the constant will be a `constexp`.
* If the precision is less than or equal to that of a `long double` and the type is constructable from a `long double`
then our code returns a `long double` literal. If the user-defined type is a literal type
then the function call that returns the constant will be a `constexp`.
* If the precision is less than 100 decimal digits, then the constant will be constructed
(just the once, then cached in a thread-safe manner) from a string representation of the constant.
* Otherwise the value is computed (just once, then cached in a thread-safe manner).
* If the precision is unknown at compile time then:
* If the runtime precision (obtained from a call to `boost::math::tools::digits<T>()`) is
less than 100 decimal digits, then the constant is constructed "on the fly" from the string
representation of the constant.
* Otherwise the value is constructed "on the fly" by calculating then value of the constant
using the current default precision of the type. Note that this can make use of the constants
rather expensive.
In addition, it is possible to pass a `Policy` type as a second template argument, and use this to control
the precision:
#include <boost/math/constants/constants.hpp>
typedef boost::math::policies::policy<boost::math::policies::digits2<80> > my_policy_type;
boost::math::constants::pi<MyType, my_policy_type>();
[note Boost.Math doesn't know how to control the internal precision of `MyType`, the policy
just controls how the selection process above is carried out, and the calculation precision
if the result is computed.]
It is also possible to control which method is used to construct the constant by specialising
the traits class `construction_traits`:
namespace boost{ namespace math{ namespace constant{
template <class T, class Policy>
struct construction_traits
{
typedef mpl::int_<N> type;
};
}}} // namespaces
Where ['N] takes one of the following values:
[table
[[Constant][Meaning][Value]]
[[pi][[pi]][3.1415926535897932384...]]
[[root_pi][[radic][pi]][1.772453850905516027...]]
[[root_half_pi][[radic]([pi]/2)][1.253314137315500251...]]
[[root_two_pi][[radic](2*[pi])][2.506628274631000502...]]
[[root_ln_four][[radic](ln(4))][1.17741002251547469...]]
[[e][['e]][2.71828182845904523536...]]
[[half][0.5][0.5]]
[[euler][Euler's constant][0.577215664901532860606]]
[[root_two][[radic]2][1.4142135623730950488...]]
[[ln_two][ln(2)][0.6931471805599453094...]]
[[ln_ln_two][ln(ln(2))][-0.3665129205816643...]]
[[third][1/3][0.333333333333333333...]]
[[twothirds][2/3][0.666666666666666666...]]
[[pi_minus_three][[pi]-3][0.14159265358979323846...]]
[[four_minus_pi][4-[pi]][0.85840734641020676153735...]]
[[['N]][Meaning]]
[[0][The precision is unavailable at compile time;
either construct from a decimal digit string or calculate on the fly depending upon the runtime precision.]]
[[1][Return a float precision constant.]]
[[2][Return a double precision constant.]]
[[3][Return a long double precision constant.]]
[[4][Construct the result from the string representation, and cache the result.]]
[[Any other value ['N]][Sets the compile time precision to ['N] bits.]]
]
[endsect][/section Numeric Constants]
[h5 Custom Specializing a constant]
[/
Copyright 2008 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).
In addition, for user-defined types that need special handling, it's possible to \[partially-\] specialize
the internal structure used by each constant. For example, suppose we're using the C++ wrapper around MPFR
`mpfr_class`: this has its own representation of Pi which we may well wish to use in place of the above
mechanism. We can achieve this by specialising the class template `boost::math::constants::detail::constant_pi`:
namespace boost{ namespace math{ namespace constants{ namespace detail{
template<>
struct constant_pi<mpfr_class>
{
template<int N>
inline T get(const mpl::int_<N>&)
{
// The template param N is one of the values in the table above,
// we can either handle all cases in one as is the case here,
// or overload "get" for the different options.
mpfr_class result;
mpfr_const_pi(result.get_mpfr_t(), GMP_RNDN);
return result;
}
};
}}}} // namespaces
[h5 Diagnosing what meta-programmed code is doing]
Finally, since it can be tricky to diagnose what meta-programmed code is doing, there is a
diagnostic routine that prints information about how this library will handle a specific type,
it can be used like this:
#include <boost/math/constants/info.hpp>
int main()
{
boost::math::constants::print_info_on_type<MyType>();
}
If you wish, you can also pass an optional std::ostream argument to the `print_info_on_type` function.
Typical output for a user-defined type looks like this:
[pre
Information on the Implementation and Handling of
Mathematical Constants for Type class boost::math::concepts::real_concept
Checking for std::numeric_limits<class boost::math::concepts::real_concept> specialisation: no
boost::math::policies::precision<class boost::math::concepts::real_concept, Policy>
reports that there is no compile type precision available.
boost::math::tools::digits<class boost::math::concepts::real_concept>()
reports that the current runtime precision is
53 binary digits.
No compile time precision is available, the construction method
will be decided at runtime and results will not be cached
- this may lead to poor runtime performance.
Current runtime precision indicates that
the constant will be constructed from a string on each call.
]
[endsect] [/section:user_def Use With User Defined Types]
[endsect] [/section:tutorial Tutorial]
[section:constants The Mathematical Constants]
This section lists the mathematical constants, their use(s) (and sometimes rationale for their inclusion).
[table Mathematical Constants
[[name] [formula] [Value (6 decimals)] [Uses and Rationale]]
[[[*Rational fractions]] [] [] [] ]
[[half] [1/2] [0.5] [] ]
[[third] [1/3] [0.333333] [] ]
[[two_thirds] [2/3] [0.66667] [] ]
[[three_quarters] [3/4] [0.75] [] ]
[[[*two and related]] [] [] [] ]
[[root_two] [[radic]2] [1.41421] [] ]
[[root_three] [[radic]3] [1.73205] [] ]
[[half_root_two] [[radic]2 /2] [0.707106] [] ]
[[ln_two] [ln(2)] [0.693147] [] ]
[[ln_ten] [ln(10)] [2.30258] [] ]
[[ln_ln_two] [ln(ln(2))] [-0.366512] [Gumbel distribution median] ]
[[root_ln_four] [[radic]ln(4)] [1.177410] [] ]
[[one_div_root_two] [1/[radic]2] [0.707106] [] ]
[[[*[pi] and related]] [] [] [] ]
[[pi] [pi] [3.14159] [Ubiquitous. Archimedes constant [@http://en.wikipedia.org/wiki/Pi [pi]]]]
[[half_pi] [[pi]/2] [1.570796] [] ]
[[third_pi] [[pi]/3] [1.04719] [] ]
[[sixth_pi] [[pi]/6] [0.523598] [] ]
[[two_pi] [2[pi]] [6.28318] [Many uses, most simply, circumference of a circle]]
[[two_thirds_pi] [2/3 [pi]] [2.09439] [[@http://en.wikipedia.org/wiki/Sphere#Volume_of_a_sphere volume of a hemi-sphere] = 4/3 [pi] r[cubed]]]
[[three_quarters_pi] [3/4 [pi]] [2.35619] [[@http://en.wikipedia.org/wiki/Sphere#Volume_of_a_sphere volume of a hemi-sphere] = 4/3 [pi] r[cubed]]]
[[four_thirds_pi] [4/3 [pi]] [4.18879] [[@http://en.wikipedia.org/wiki/Sphere#Volume_of_a_sphere volume of a sphere] = 4/3 [pi] r[cubed]]]
[[one_div_two_pi] [1/(2[pi])] [1.59155] [Widely used]]
[[root_pi] [[radic][pi]][1.77245] [Widely used]]
[[root_half_pi] [[radic] [pi]/2] [1.25331] [Widely used]]
[[root_two_pi][[radic] [pi]*2] [2.50662] [Widely used]]
[[one_div_root_pi] [1/[radic][pi]] [0.564189] [] ]
[[one_div_root_two_pi] [1/[radic](2[pi])] [0.398942] [] ]
[[root_one_div_pi] [[radic](1/[pi]] [0.564189] [] ]
[[pi_minus_three] [[pi]-3] [1.41593] [] ]
[[four_minus_pi] [4 -[pi]] [0.858407] [] ]
[[pow23_four_minus_pi] [4[super 2/3] - [pi]] [0.795316] [] ]
[[pi_pow_e] [[pi][super e]] [22.4591] [] ]
[[pi_sqr] [[pi][super 2]] [9.86960] [] ]
[[pi_sqr_div_six] [[pi][super 2]/6] [1.64493] [] ]
[[pi_cubed] [[pi][super 3]] [31.00627] [] ]
[[cbrt_pi] [[radic][super 3] [pi]] [1.46459] [] ]
[[one_div_cbrt_pi] [1/[radic][super 3] [pi]] [0.682784] [] ]
[[[*Euler's e and related]] [] [] [] ]
[[e] [e] [2.71828] [[@http://en.wikipedia.org/wiki/E_(mathematical_constant) Euler's constant e]] ]
[[exp_minus_half] [e [super -1/2]] [0.606530] [] ]
[[e_pow_pi] [e [super [pi]]] [23.14069] [] ]
[[root_e] [[radic] e] [1.64872] [] ]
[[log10_e] [log10(e)] [0.434294] [] ]
[[one_div_log10_e] [1/log10(e)] [2.30258] [] ]
[[[*Trigonometric]] [] [] [] ]
[[degree] [radians = [pi] / 180] [0.017453] [] ]
[[radian] [degrees = 180 / [pi]] [57.2957] [] ]
[[sin_one] [sin(1)] [0.841470] [] ]
[[cos_one] [cos(1)] [0.54030] [] ]
[[sinh_one] [sinh(1)] [1.17520] [] ]
[[cosh_one] [cosh(1)] [1.54308] [] ]
[[[*Phi]] [ Phidias golden ratio] [[@http://en.wikipedia.org/wiki/Golden_ratio Phidias golden ratio]] [] ]
[[phi] [(1 + [radic]5) /2] [1.61803] [finance] ]
[[ln_phi] [ln([phi])] [0.48121] [] ]
[[one_div_ln_phi] [1/ln([phi])] [2.07808] [] ]
[[[*Euler's Gamma]] [] [] [] ]
[[euler] [euler] [0.577215] [[@http://en.wikipedia.org/wiki/Euler%E2%80%93Mascheroni_constant Euler-Mascheroni gamma constant]] ]
[[one_div_euler] [1/euler] [1.73245] [] ]
[[euler_sqr] [euler[super 2]] [0.333177] [] ]
[[[*Misc]] [] [] [] ]
[[zeta_two] [[zeta](2)] [1.64493] [[@http://en.wikipedia.org/wiki/Riemann_zeta_function Riemann zeta function]] ]
[[zeta_three] [[zeta](3)] [1.20205] [[@http://en.wikipedia.org/wiki/Riemann_zeta_function Riemann zeta function]] ]
[[catalan] [['K]] [0.915965] [[@http://mathworld.wolfram.com/CatalansConstant.html Catalan (or Glaisher) combinatorial constant] ]]
[[glaisher] [['A]] [1.28242] [[@https://oeis.org/A074962/constant Decimal expansion of Glaisher-Kinkelin constant] ]]
[[khinchin] [['k]] [2.685452] [[@https://oeis.org/A002210/constant Decimal expansion of Khinchin constant] ]]
[[extreme_value_skewness] [12[radic]6 [zeta](3)/ [pi][super 3]] [1.139547] [Extreme value distribution] ]
[[rayleigh_skewness] [2[radic][pi]([pi]-3)/(4 - [pi])[super 3/2]] [0.631110] [Rayleigh distribution skewness] ]
[[rayleigh_kurtosis_excess] [-(6[pi][super 2]-24[pi]+16)/(4-[pi])[super 2]] [0.245089] [[@http://en.wikipedia.org/wiki/Rayleigh_distribution Rayleigh distribution kurtosis excess]] ]
[[rayleigh_kurtosis] [3+(6[pi][super 2]-24[pi]+16)/(4-[pi])[super 2]] [3.245089] [Rayleigh distribution kurtosis] ]
] [/table]
[note Integer values are *not included* in this list of math constants, however interesting,
because they can be so easily and exactly constructed, even for UDT, for example: `static_cast<cpp_float>(42)`.]
[tip If you know the approximate value of the constant, you can search for the value to find Boost.Math chosen name in this table.]
[endsect] [/section:constants The constants]
[section:new_const Defining New Constants]
The library provides some helper code to assist in defining new constants;
the process for defining a constant called `my_constant` goes like this:
1. [*Define a function that calculates the value of the constant].
This should be a template function, and be placed in `boost/math/constants/calculate_constants.hpp`
if the constant is to be added to this library,
or else defined at the top of your source file if not.
The function should look like this:
namespace boost{ namespace math{ namespace constants{ namespace detail{
template <class Real>
template <int N>
Real constant_my_constant<Real>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
{
int required_precision = N ? N : tools::digits<Real>();
Real result = /* value computed to required_precision bits */ ;
return result;
}
}}}} // namespaces
Then define a placeholder for the constant itself:
namespace boost{ namespace math{ namespace constants{
BOOST_DEFINE_MATH_CONSTANT(my_constant, 0.0, "0");
}}}
For example, to calculate [pi]/2, add to `boost/math/constants/calculate_constants.hpp`
template <class T>
template<int N>
inline T constant_half_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
{
BOOST_MATH_STD_USING
return pi<T, policies::policy<policies::digits2<N> > >() / static_cast<T>(2);
}
Then to `boost/math/constants/constants.hpp` add:
BOOST_DEFINE_MATH_CONSTANT(half_pi, 0.0, "0"); // Actual values are temporary, we'll replace them later.
[note Previously defined constants like pi and e can be used, but by *not simply calling* `pi<T>()`;
specifying the precision via the policy
`pi<T, policies::policy<policies::digits2<N> > >()`
is essential to ensure full accuracy.]
[warning Newly defined constants can only be used once they are included in
`boost/math/constants/constants.hpp`. So if you add
`template <class T, class N> T constant_my_constant{...}`,
then you cannot define `constant_my_constant`
until you add the temporary `BOOST_DEFINE_MATH_CONSTANT(my_constant, 0.0, "0")`.
Failing to do this will result in surprising compile errors:
``
error C2143: syntax error : missing ';' before '<'
error C2433: 'constant_root_two_div_pi' : 'inline' not permitted on data declarations
error C2888: 'T constant_root_two_div_pi' : symbol cannot be defined within namespace 'detail'
error C2988: unrecognizable template declaration/definition
``
]
2. [*You will need an arbitrary precision type to use to calculate the value]. This library
currently supports either `cpp_float`, `NTL::RR` or `mpfr_class` used via the bindings in `boost/math/bindings`.
The default is to use `NTL::RR` unless you define an alternate macro, for example,
`USE_MPFR` or `USE_CPP_FLOAT` at the start of your program.
3. It is necessary to link to the Boost.Regex library,
and probably to your chosen arbitrary precision type library.
4. The complete program to generate the constant `half_pi` using function `calculate_half_pi` is then:
#define USE_CPP_FLOAT // If required.
#include <boost/math/constants/generate.hpp>
int main()
{
BOOST_CONSTANTS_GENERATE(half_pi);
}
The output from the program is a snippet of C++ code
(actually a macro call) that can be cut and pasted
into `boost/math/constants/constants.hpp` or else into your own code, for example:
[pre
BOOST_DEFINE_MATH_CONSTANT(half_pi, 1.570796326794896619231321691639751442e+00, "1.57079632679489661923132169163975144209858469968755291048747229615390820314310449931401741267105853399107404326e+00");
]
This macro BOOST_DEFINE_MATH_CONSTANT inserts a C++ struct code snippet that
declares the `float`, `double` and `long double` versions of the constant,
plus a decimal digit string representation correct to 100 decimal
digits, and all the meta-programming machinery needed to select between them.
The result of an expanded macro for Pi is shown below.
[import ./pp_pi.hpp]
[preprocessed_pi]
[endsect] [/section:new_const Defining New Constants]
[section:FAQ FAQs]
[h4 Why are ['these] Constants Chosen?]
It is, of course, impossible to please everyone with a list like this.
Some of the criteria we have used are:
* Used in Boost.Math.
* Commonly used.
* Expensive to compute.
* Requested by users.
* [@http://en.wikipedia.org/wiki/Mathematical_constant Used in science and mathematics.]
* No integer values (because so cheap to construct).[br]
(You can easily define your own if found convenient, for example: `FPT one =static_cast<FPT>(42);`).
[h4 How are constants named?]
* Not macros, so no upper case.
* All lower case (following C++ standard names).
* No CamelCase.
* Underscore as _ delimiter between words.
* Numbers spelt as words rather than decimal digits (except following pow).
* Abbreviation conventions:
* root for square root.
* cbrt for cube root.
* pow for pow function using decimal digits like pow23 for n[super 2/3].
* div for divided by or operator /.
* minus for operator -, plus for operator +.
* sqr for squared.
* cubed for cubed n[super 3].
* words for greek, like [pi], [zeta] and [Gamma].
* words like half, third, three_quarters, sixth for fractions. (Digit(s) can get muddled).
* log10 for log[sub 10]
* ln for log[sub e]
[h4 How are the constants derived?]
The constants have all been calculated using high-precision software working
with up to 300-bit precision giving about 100 decimal digits.
(The precision can be arbitrarily chosen and is limited only by compute time).
[h4 How Accurate are the constants?]
The minimum accuracy chosen (100 decimal digits) exceeds the
accuracy of reasonably-foreseeable floating-point hardware (256-bit)
and should meet most high-precision computations.
[h4 How are the constants tested?]
# Comparison using Boost.Test BOOST_CHECK_CLOSE_FRACTION using long double literals,
with at least 35 decimal digits, enough to be accurate for all long double implementations.
The tolerance is usually twice `long double epsilon`.
# Comparison with calculation at long double precision.
This often requires a slightly higher tolerance than two epsilon
because of computational noise from round-off etc,
especially when trig and other functions are called.
# Comparison with independent published values,
for example, using [@http://oeis.org/ The On-Line Encyclopedia of Integer Sequences (OEIS)]
again using at least 35 decimal digits strings.
# Comparison with independely calculated values using arbitrary precision tools like
[@http://www.wolfram.com/mathematica/ Mathematica], again using at least 35 decimal digits literal strings.
[warning We have not yet been able to [*check] that
[*all] constants are accurate at the full arbitrary precision,
at present 100 decimal digits.
But certain key values like `e` and `pi` appear to be accurate
and internal consistencies suggest that others are this accurate too.
]
[h4 Why is Portability important?]
Code written using math constants is easily portable even when using different
floating-point types with differing precision.
It is a mistake to expect that results of computations will be [*identical], but
you can achieve the [*best accuracy possible for the floating-point type in use].
This has no extra cost to the user, but reduces irritating,
and often confusing and very hard-to-trace effects,
caused by the intrinsically limited precision of floating-point calculations.
A harmless symptom of this limit is a spurious least-significant digit;
at worst, slightly inaccurate constants sometimes cause iterating algorithms
to diverge wildly because internal comparisons just fail.
[h4 What is the Internal Format of the constants, and why?]
See [link math_toolkit.constants.tutorial tutorial] above for normal use,
but this FAQ explains the internal details used for the constants.
Constants are stored as 100 decimal digit values.
However, some compilers do not accept decimal digits strings as long as this.
So the constant is split into two parts, with the first containing at least
128-bit long double precision (35 decimal digits),
and for consistency should be in scientific format with a signed exponent.
The second part is the value of the constant expressed as a string literal,
accurate to at least 100 decimal digits (in practice that means at least 102 digits).
Again for consistency use scientific format with a signed exponent.
For types with precision greater than a long double,
then if T is constructible `T `is constructible from a `const char*`
then it's directly constructed from the string,
otherwise we fall back on lexical_cast to convert to type `T`.
(Using a string is necessary because you can't use a numeric constant
since even a `long double` might not have enough digits).
So, for example, a constant like pi is internally defined as
BOOST_DEFINE_MATH_CONSTANT(pi, 3.141592653589793238462643383279502884e+00, "3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651e+00");
In this case the significand is 109 decimal digits, ensuring 100 decimal digits are exact, and exponent is zero.
See [link math_toolkit.constants.new_const defining new constants] to calculate new constants.
A macro definition like this can be pasted into user code where convenient,
or into `boost/math/constants.hpp` if it is to be added to the Boost.Math library.
[h4 What Floating-point Types could I use?]
Apart from the built-in floating-point types `float`, `double`, `long double`,
there are several arbitrary precision floating-point classes available,
but most are not licensed for commercial use.
[h5 Boost.Multiprecision by Christopher Kormanyos]
This work is based on an earlier work called e-float:
Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations,
in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011.
[@http://doi.acm.org/10.1145/1916461.1916469]
[@https://svn.boost.org/svn/boost/sandbox/e_float/ e_float]
but is now re-factored and available under the Boost license in the Boost-sandbox at
[@https://svn.boost.org/svn/boost/sandbox/multiprecision/ multiprecision]
where it is being refined and prepared for review.
[h5 Boost.cpp_float by John Maddock using Expression Templates]
[@https://svn.boost.org/svn/boost/sandbox/big_number/ Big Number]
which is a reworking of [@https://svn.boost.org/svn/boost/sandbox/e_float/ e_float]
by Christopher Kormanyos to use expression templates for faster execution.
[h5 NTL class quad_float]
[@http://shoup.net/ntl/ NTL] by Victor Shoup has fixed and arbitrary high precision fixed and floating-point types.
However none of these are licenced for commercial use.
#include <NTL/quad_float.h> // quad precision 106-bit, about 32 decimal digits.
using NTL::to_quad_float; // Less precise than arbitrary precision NTL::RR.
NTL class `quad_float`, which gives a form of quadruple precision,
106-bit significand (but without an extended exponent range.)
With an IEC559/IEEE 754 compatible processor,
for example Intel X86 family, with 64-bit double, and 53-bit significand,
using the significands of [*two] 64-bit doubles,
if `std::numeric_limits<double>::digits10` is 16,
then we get about twice the precision,
so `std::numeric_limits<quad_float>::digits10()` should be 32.
(the default `std::numeric_limits<RR>::digits10()` should be about 40).
(which seems to agree with experiments).
We output constants (including some noisy bits,
an approximation to `std::numeric_limits<RR>::max_digits10()`)
by adding 2 extra decimal digits, so using `quad_float::SetOutputPrecision(32 + 2);`
Apple Mac/Darwin uses a similar ['doubledouble] 106-bit for its built-in `long double` type.
[note The precision of all `doubledouble` floating-point types is rather odd and values given are only approximate.]
[h5 NTL class RR]
Arbitrary precision floating point with NTL class RR,
default is 150 bit (about 50 decimal digits)
used here with 300 bit to output 100 decimal digits,
enough for many practical non-'number-theoretic' C++ applications.
NTL is [*not licenced for commercial use].
This class is used in Boost.Math and an option when using big_number projects to calculate new math constants.
[h5 GMP and MPFR]
[@gmplib.org GMP] and [@http://www.mpfr.org/ MPFR] have also been used to compute constants,
but are licensed under the [@http://www.gnu.org/copyleft/lesser.html Lesser GPL license]
and are [*not licensed for commercial use].
[h4 What happened to a previous collection of constants proposed for Boost?]
A review concluded that the way in which the constants were presented did not meet many peoples needs.
None of the methods proposed met many users' essential requirement to allow writing simply `pi` rather than `pi()`.
Many science and engineering equations look difficult to read when because function call brackets can be confused
with the many other brackets often needed. All the methods then proposed of avoiding the brackets failed to meet all needs,
often on grounds of complexity and lack of applicability to various realistic scenarios.
So the simple namespace method, proposed on its own, but rejected at the first review,
has been added to allow users to have convenient access to float, double and long double values,
but combined with template struct and functions to allow simultaneous use
with other non-built-in floating-point types.
[h4 Why do the constants (internally) have a struct rather than a simple function?]
A function mechanism was provided by in previous versions of Boost.Math.
The new mechanism is to permit partial specialization. See Custom Specializing a constant above.
It should also allow use with other packages like [@http://www.ttmath.org/ ttmath Bignum C++ library.]
[h4 Where can I find other high precision constants?]
# Constants with very high precision and good accuracy (>40 decimal digits)
from Simon Plouffe's web based collection [@http://pi.lacim.uqam.ca/eng/].
# [@https://oeis.org/ The On-Line Encyclopedia of Integer Sequences (OEIS)]
# Checks using printed text optically scanned values and converted from:
D. E. Knuth, Art of Computer Programming, Appendix A, Table 1, Vol 1, ISBN 0 201 89683 4 (1997)
# M. Abrahamovitz & I. E. Stegun, National Bureau of Standards, Handbook of Mathematical Functions,
a reference source for formulae now superceded by
# Frank W. Olver, Daniel W. Lozier, Ronald F. Boisvert, Charles W. Clark, NIST Handbook of Mathemetical Functions, Cambridge University Press, ISBN 978-0-521-14063-8, 2010.
# John F Hart, Computer Approximations, Kreiger (1978) ISBN 0 88275 642 7.
# Some values from Cephes Mathematical Library, Stephen L. Moshier
and CALC100 100 decimal digit Complex Variable Calculator Program, a DOS utility.
# Xavier Gourdon, Pascal Sebah, 50 decimal digits constants at [@http://numbers.computation.free.fr/Constants/constants.html Number, constants and computation].
[h4 Where are Physical Constants?]
Not here in this Boost.Math collection, because physical constants:
* Are measurements.
* Are not truly constant and keeping changing as mensuration technology improves.
* Have a instrinsic uncertainty.
* Mathematical constants are stored and represented at varying precision, but should never be inaccurate.
Some physical constants may be available in Boost.Units.
[endsect] [/section:FAQ FAQ]
[endsect]

View File

@@ -64,6 +64,8 @@ Thanks to Mark Coleman and Georgi Boshnakov for spot test values
from __Mathematica, and of course,
to Eric Weissten for nurturing __Mathworld, an invaluable resource.
The Skew-normal distribution and Owen's t function were written by Benjamin Sobotta.
Plots of the functions and distributions were prepared in
[@http://www.w3.org/ W3C] standard
[@http://www.svg.org/ Scalable Vector Graphic (SVG)] format

View File

@@ -30,6 +30,7 @@
[include distributions/pareto.qbk]
[include distributions/poisson.qbk]
[include distributions/rayleigh.qbk]
[include distributions/skew_normal.qbk]
[include distributions/students_t.qbk]
[include distributions/triangular.qbk]
[include distributions/uniform.qbk]

View File

@@ -35,13 +35,22 @@ is known as the ['Standard Normal Distribution].
Given mean [mu][space]and standard deviation [sigma][space]it has the PDF:
[equation normal_ref1]
[space] [equation normal_ref1]
The variation the PDF with its parameters is illustrated
in the following graph:
[graph normal_pdf]
The cumulative distribution function is given by
[space] [equation normal_cdf]
and illustrated by this graph
[graph normal_cdf]
[h4 Member Functions]
normal_distribution(RealType mean = 0, RealType sd = 1);
@@ -94,6 +103,7 @@ and /s/ is its standard deviation.
[[quantile from the complement][Using the relation: x = m + s * sqrt(2) * __erfc_inv(2*p)]]
[[mean and standard deviation][The same as `dist.mean()` and `dist.standard_deviation()`]]
[[mode][The same as the mean.]]
[[median][The same as the mean.]]
[[skewness][0]]
[[kurtosis][3]]
[[kurtosis excess][0]]
@@ -102,7 +112,7 @@ and /s/ is its standard deviation.
[endsect][/section:normal_dist Normal]
[/ normal.qbk
Copyright 2006, 2007 John Maddock and Paul A. Bristow.
Copyright 2006, 2007, 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).

View File

@@ -0,0 +1,193 @@
[section:skew_normal_dist Skew Normal Distribution]
``#include <boost/math/distributions/skew_normal.hpp>``
namespace boost{ namespace math{
template <class RealType = double,
class ``__Policy`` = ``__policy_class`` >
class skew_normal_distribution;
typedef skew_normal_distribution<> normal;
template <class RealType, class ``__Policy``>
class skew_normal_distribution
{
public:
typedef RealType value_type;
typedef Policy policy_type;
// Constructor:
skew_normal_distribution(RealType location = 0, RealType scale = 1, RealType shape = 0);
// Accessors:
RealType location()const; // mean if normal.
RealType scale()const; // width, standard deviation if normal.
RealType shape()const; // The distribution is right skewed if shape > 0 and is left skewed if shape < 0.
// The distribution is normal if shape is zero.
};
}} // namespaces
The skew normal distribution is a variant of the most well known
Gaussian statistical distribution.
The skew normal distribution with shape zero resembles the
[@http://en.wikipedia.org/wiki/Normal_distribution Normal Distribution],
hence the latter can be regarded as a special case of the more generic skew normal distribution.
If the standard (mean = 0, scale = 1) normal distribution probability density function is
[space][space][equation normal01_pdf]
and the cumulative distribution function
[space][space][equation normal01_cdf]
then the [@http://en.wikipedia.org/wiki/Probability_density_function PDF]
of the [@http://en.wikipedia.org/wiki/Skew_normal_distribution skew normal distribution]
with shape parameter [alpha], defined by O'Hagan and Leonhard (1976) is
[space][space][equation skew_normal_pdf0]
Given [@http://en.wikipedia.org/wiki/Location_parameter location] [xi],
[@http://en.wikipedia.org/wiki/Scale_parameter scale] [omega],
and [@http://en.wikipedia.org/wiki/Shape_parameter shape] [alpha],
it can be
[@http://en.wikipedia.org/wiki/Skew_normal_distribution transformed],
to the form:
[space][space][equation skew_normal_pdf]
and [@http://en.wikipedia.org/wiki/Cumulative_distribution_function CDF]:
[space][space][equation skew_normal_cdf]
where ['T(h,a)] is Owen's T function, and ['[Phi](x)] is the normal distribution.
The variation the PDF and CDF with its parameters is illustrated
in the following graphs:
[graph skew_normal_pdf]
[graph skew_normal_cdf]
[h4 Member Functions]
skew_normal_distribution(RealType location = 0, RealType scale = 1, RealType shape = 0);
Constructs a skew_normal distribution with location [xi],
scale [omega] and shape [alpha].
Requires scale > 0, otherwise __domain_error is called.
RealType location()const;
returns the location [xi] of this distribution,
RealType scale()const;
returns the scale [omega] of this distribution,
RealType shape()const;
returns the shape [alpha] of this distribution.
(Location and scale function match other similar distributions,
allowing the functions `find_location` and `find_scale` to be used generically).
[note While the shape parameter may be chosen arbitrarily (finite),
the resulting [*skewness] of the distribution is in fact limited to about (-1, 1);
strictly, the interval is (-0.9952717, 0.9952717).
A parameter [delta] is related to the shape [alpha] by
[delta] = [alpha] / (1 + [alpha][pow2]),
and used in the expression for skewness
[equation skew_normal_skewness]
] [/note]
[h4 References]
* [@http://azzalini.stat.unipd.it/SN/ Skew-Normal Probability Distribution] for many links and bibliography.
* [@http://azzalini.stat.unipd.it/SN/Intro/intro.html A very brief introduction to the skew-normal distribution]
by Adelchi Azzalini (2005-11-2).
* See a [@http://www.tri.org.au/azzalini.html skew-normal function animation].
[h4 Non-member Accessors]
All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions]
that are generic to all distributions are supported: __usual_accessors.
The domain of the random variable is ['-[max_value], +[min_value]].
Infinite values are not supported.
There are no [@http://en.wikipedia.org/wiki/Closed-form_expression closed-form expression]
known for the mode and median, but these are computed for the
* mode - by finding the maximum of the PDF.
* median - by computing `quantile(1/2)`.
The maximum of the PDF is sought through searching the root of f'(x)=0.
Both involve iterative methods that will have lower accuracy than other estimates.
[h4 Testing]
__R using library(sn) described at
[@http://azzalini.stat.unipd.it/SN/ Skew-Normal Probability Distribution],
and at [@http://cran.r-project.org/web/packages/sn/sn.pd R skew-normal(sn) package].
Package sn provides functions related to the skew-normal (SN)
and the skew-t (ST) probability distributions,
both for the univariate and for the the multivariate case,
including regression models.
__Mathematica was also used to generate some more accurate spot test data.
[h4 Accuracy]
The skew_normal distribution with shape = zero is implemented as a special case,
equivalent to the normal distribution in terms of the
[link math_toolkit.special.sf_erf.error_function error function],
and therefore should have excellent accuracy.
The PDF and mean, variance, skewness and kurtosis are also accurately evaluated using
[@http://en.wikipedia.org/wiki/Analytical_expression analytical expressions].
The CDF requires [@http://en.wikipedia.org/wiki/Owen%27s_T_function Owen's T function]
that is evaluated using a Boost C++ __owens_t implementation of the algorithms of
M. Patefield and D. Tandy, Journal of Statistical Software, 5(5), 1-25 (2000);
the complicated accuracy of this function is discussed in detail at __owens_t.
The median and mode are calculated by iterative root finding, and both will be less accurate.
[h4 Implementation]
In the following table, [xi] is the location of the distribution,
and [omega] is its scale, and [alpha] is its shape.
[table
[[Function][Implementation Notes]]
[[pdf][Using:[equation skew_normal_pdf] ]]
[[cdf][Using: [equation skew_normal_cdf]\n
where ['T(h,a)] is Owen's T function, and ['[Phi](x)] is the normal distribution. ]]
[[cdf complement][Using: complement of normal distribution + 2 * Owens_t]]
[[quantile][Maximum of the pdf is sought through searching the root of f'(x)=0]]
[[quantile from the complement][-quantile(SN(-location [xi], scale [omega], -shape[alpha]), p)]]
[[location][location [xi]]]
[[scale][scale [omega]]]
[[shape][shape [alpha]]]
[[median][quantile(1/2)]]
[[mean][[equation skew_normal_mean]]]
[[mode][Maximum of the pdf is sought through searching the root of f'(x)=0]]
[[variance][[equation skew_normal_variance] ]]
[[skewness][[equation skew_normal_skewness] ]]
[[kurtosis][kurtosis excess-3]]
[[kurtosis excess] [ [equation skew_normal_kurt_ex] ]]
] [/table]
[endsect] [/section:skew_normal_dist skew_Normal]
[/ skew_normal.qbk
Copyright 2012 Bejamin Sobotta, 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).
]

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.3 KiB

View File

@@ -0,0 +1,57 @@
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mrow>
<msub>
<mi>J</mi>
<mi>&#x03BD;</mi>
</msub>
<mfenced>
<mrow>
<mrow>
<mo>-</mo>
<mi>z</mi>
</mrow>
</mrow>
</mfenced>
</mrow>
<mspace width="1em"/>
<mo>=</mo>
<mspace width="1em"/>
<mrow>
<msup>
<mrow>
<mfenced>
<mrow>
<mrow>
<mo>-</mo>
<mi>z</mi>
</mrow>
</mrow>
</mfenced>
</mrow>
<mi>&#x03BD;</mi>
</msup>
<mo>&#x2062;</mo>
<msup>
<mi>z</mi>
<mrow>
<mo>-</mo>
<mi>&#x03BD;</mi>
</mrow>
</msup>
<mo>&#x2062;</mo>
<mrow>
<msub>
<mi>J</mi>
<mi>&#x03BD;</mi>
</msub>
<mfenced>
<mrow>
<mi>z</mi>
</mrow>
</mfenced>
</mrow>
</mrow>
</mrow>
</math>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@@ -0,0 +1,152 @@
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mrow>
<mrow>
<msub>
<mi>Y</mi>
<mi>&#x03BD;</mi>
</msub>
<mfenced>
<mrow>
<mrow>
<mo>-</mo>
<mi>z</mi>
</mrow>
</mrow>
</mfenced>
</mrow>
<mspace width="1em"/>
<mo>=</mo>
<mspace width="1em"/>
<mrow>
<mrow>
<msup>
<mi>z</mi>
<mi>&#x03BD;</mi>
</msup>
<mo>&#x2062;</mo>
<mrow>
<msub>
<mi>Y</mi>
<mi>&#x03BD;</mi>
</msub>
<mfenced>
<mrow>
<mi>z</mi>
</mrow>
</mfenced>
</mrow>
<mo>&#x2062;</mo>
<msup>
<mrow>
<mfenced>
<mrow>
<mrow>
<mo>-</mo>
<mi>z</mi>
</mrow>
</mrow>
</mfenced>
</mrow>
<mrow>
<mo>-</mo>
<mi>&#x03BD;</mi>
</mrow>
</msup>
</mrow>
<mo>+</mo>
<mrow>
<mrow>
<mfenced>
<mrow>
<mrow>
<mrow>
<msup>
<mrow>
<mfenced>
<mrow>
<mrow>
<mo>-</mo>
<mi>z</mi>
</mrow>
</mrow>
</mfenced>
</mrow>
<mi>&#x03BD;</mi>
</msup>
<mo>&#x2062;</mo>
<msup>
<mi>z</mi>
<mrow>
<mo>-</mo>
<mi>&#x03BD;</mi>
</mrow>
</msup>
</mrow>
<mo>-</mo>
<mrow>
<msup>
<mrow>
<mfenced>
<mrow>
<mrow>
<mo>-</mo>
<mi>z</mi>
</mrow>
</mrow>
</mfenced>
</mrow>
<mrow>
<mo>-</mo>
<mi>&#x03BD;</mi>
</mrow>
</msup>
<mo>&#x2062;</mo>
<msup>
<mi>z</mi>
<mi>&#x03BD;</mi>
</msup>
</mrow>
</mrow>
</mrow>
</mfenced>
</mrow>
<mo>&#x2062;</mo>
<mrow>
<msub>
<mi>J</mi>
<mi>&#x03BD;</mi>
</msub>
<mfenced>
<mrow>
<mi>z</mi>
</mrow>
</mfenced>
</mrow>
<mo>&#x2062;</mo>
<mrow>
<mi>cot</mi>
<mfenced>
<mrow>
<mrow>
<mi>&#x03C0;</mi>
<mo>&#x2062;</mo>
<mi>&#x03BD;</mi>
</mrow>
</mrow>
</mfenced>
</mrow>
</mrow>
</mrow>
</mrow>
<mspace width="1em"/>
<mo>;</mo>
<mspace width="1em"/>
<mrow>
<mi>&#x03BD;</mi>
<mo>&#x2209;</mo>
<mi>&#x2124;</mi>
</mrow>
</mrow>
</math>

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,115 @@
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mrow>
<mrow>
<msub>
<mi>Y</mi>
<mi>&#x03BD;</mi>
</msub>
<mfenced>
<mrow>
<mrow>
<mo>-</mo>
<mi>z</mi>
</mrow>
</mrow>
</mfenced>
</mrow>
<mspace width="1em"/>
<mo>=</mo>
<mspace width="1em"/>
<mrow>
<msup>
<mrow>
<mfenced>
<mrow>
<mrow>
<mo>-</mo>
<mn>1</mn>
</mrow>
</mrow>
</mfenced>
</mrow>
<mi>&#x03BD;</mi>
</msup>
<mo>&#x2062;</mo>
<mrow>
<mfenced>
<mrow>
<mrow>
<mrow>
<msub>
<mi>Y</mi>
<mi>&#x03BD;</mi>
</msub>
<mfenced>
<mrow>
<mi>z</mi>
</mrow>
</mfenced>
</mrow>
<mo>-</mo>
<mrow>
<mfrac>
<mn>2</mn>
<mi>&#x03C0;</mi>
</mfrac>
<mo>&#x2062;</mo>
<mrow>
<mfenced>
<mrow>
<mrow>
<mrow>
<mi>log</mi>
<mfenced>
<mrow>
<mi>z</mi>
</mrow>
</mfenced>
</mrow>
<mo>-</mo>
<mrow>
<mi>log</mi>
<mfenced>
<mrow>
<mrow>
<mo>-</mo>
<mi>z</mi>
</mrow>
</mrow>
</mfenced>
</mrow>
</mrow>
</mrow>
</mfenced>
</mrow>
<mo>&#x2062;</mo>
<mrow>
<msub>
<mi>J</mi>
<mi>&#x03BD;</mi>
</msub>
<mfenced>
<mrow>
<mi>z</mi>
</mrow>
</mfenced>
</mrow>
</mrow>
</mrow>
</mrow>
</mfenced>
</mrow>
</mrow>
</mrow>
<mspace width="1em"/>
<mo>;</mo>
<mspace width="1em"/>
<mrow>
<mi>&#x03BD;</mi>
<mo>&#x2208;</mo>
<mi>&#x2124;</mi>
</mrow>
</mrow>
</math>

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,69 @@
<?xml version='1.0'?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN'
'http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd'
[<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head><title>hankel4</title>
<!-- MathML created with MathCast Equation Editor version 0.89 -->
</head>
<body>
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msubsup>
<mi>h</mi>
<mrow>
<mi>v</mi>
</mrow>
<mfenced>
<mrow>
<mn>1</mn>
</mrow>
</mfenced>
</msubsup>
<mfenced>
<mrow>
<mi>x</mi>
</mrow>
</mfenced>
<mspace width="1em"/>
<mo>=</mo>
<mspace width="1em"/>
<msqrt>
<mrow>
<mfrac>
<mi>&#x03C0;</mi>
<mn>2</mn>
</mfrac>
</mrow>
</msqrt>
<mfrac>
<mn>1</mn>
<msqrt>
<mi>x</mi>
</msqrt>
</mfrac>
<msubsup>
<mi>H</mi>
<mrow>
<mi>v</mi>
<mo>+</mo>
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
</mrow>
<mfenced>
<mrow>
<mn>1</mn>
</mrow>
</mfenced>
</msubsup>
<mfenced>
<mrow>
<mi>x</mi>
</mrow>
</mfenced>
</mrow>
</math>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

@@ -0,0 +1,69 @@
<?xml version='1.0'?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN'
'http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd'
[<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head><title>hankel5</title>
<!-- MathML created with MathCast Equation Editor version 0.89 -->
</head>
<body>
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msubsup>
<mi>h</mi>
<mrow>
<mi>v</mi>
</mrow>
<mfenced>
<mrow>
<mn>2</mn>
</mrow>
</mfenced>
</msubsup>
<mfenced>
<mrow>
<mi>x</mi>
</mrow>
</mfenced>
<mspace width="1em"/>
<mo>=</mo>
<mspace width="1em"/>
<msqrt>
<mrow>
<mfrac>
<mi>&#x03C0;</mi>
<mn>2</mn>
</mfrac>
</mrow>
</msqrt>
<mfrac>
<mn>1</mn>
<msqrt>
<mi>x</mi>
</msqrt>
</mfrac>
<msubsup>
<mi>H</mi>
<mrow>
<mi>v</mi>
<mo>+</mo>
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
</mrow>
<mfenced>
<mrow>
<mn>2</mn>
</mrow>
</mfenced>
</msubsup>
<mfenced>
<mrow>
<mi>x</mi>
</mrow>
</mfenced>
</mrow>
</math>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

@@ -0,0 +1,62 @@
<?xml version='1.0'?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN'
'http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd'
[<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head><title>normal_cdf</title>
<!-- MathML created with MathCast Equation Editor version 0.9 -->
</head>
<body>
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>&#x3A6;</mi>
<mfenced>
<mrow>
<mi>x</mi>
</mrow>
</mfenced>
<mo>=</mo>
<msubsup>
<mo>&#x222B;</mo>
<mrow>
<mo>&#x2212;</mo>
<mi>&#x221E;</mi>
</mrow>
<mi>x</mi>
</msubsup>
<mi>&#x3C6;</mi>
<mfenced>
<mrow>
<mi>t</mi>
</mrow>
</mfenced>
<mi>d</mi>
<mi>t</mi>
<mspace width="1em"/>
<mo>=</mo>
<mspace width="1em"/>
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
<mo>[</mo>
<mn>1</mn>
<mo>+</mo>
<mi>e</mi>
<mi>r</mi>
<mi>f</mi>
<mfenced>
<mrow>
<mfrac>
<mi>x</mi>
<msqrt>
<mn>2</mn>
</msqrt>
</mfrac>
</mrow>
</mfenced>
<mo>]</mo>
</mrow>
</math>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.2 KiB

View File

@@ -0,0 +1,45 @@
<?xml version='1.0'?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN'
'http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd'
[<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head><title>skew_normal_pdf</title>
<!-- MathML created with MathCast Equation Editor version 0.9 -->
</head>
<body>
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>&#x3C6;</mi>
<mfenced>
<mrow>
<mi>x</mi>
</mrow>
</mfenced>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<msqrt>
<mfenced>
<mrow>
<mn>2</mn>
<mi>&#x3C0;</mi>
</mrow>
</mfenced>
</msqrt>
</mfrac>
<msup>
<mi>e</mi>
<mo>&#x2212;</mo>
</msup>
<mfrac>
<msup>
<mi>x</mi>
<mn>2</mn>
</msup>
<mn>2</mn>
</mfrac>
</mrow>
</math>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="26.496445pt" width="85.385863pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.849453 85.385863 26.496445"><svg:metadata><svgmath:metrics top="26.4964453125" axis="13.6313671875" baseline="9.6469921875" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(6.638672, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.960938" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.960938" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(23.688805, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(34.375656, -3.984375)"><svg:g transform="translate(11.275348, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 11.088398)"><svg:g transform="translate(6.346594, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.960938" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:g transform="translate(16.382812, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.960938" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -4.197840 L 1.618655 -4.744395 L 3.521108 -0.780950 L 3.408489 -0.323572 L 1.493855 -4.312395 L 1.253855 -4.312395 L 3.415964 0.000000 L 5.693273 -9.248789 L 27.378820 -9.248789" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line stroke-width="0.585938" x1="0.000000" x2="28.550695" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(63.512289, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -8.196094)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black"></svg:text></svg:g></svg:g><svg:g transform="translate(74.229379, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.578242, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" x2="11.156484" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" y2="0.000000" fill="none"/></svg:g></svg:svg>

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -0,0 +1,50 @@
<?xml version='1.0'?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN'
'http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd'
[<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head><title>normal_cdf</title>
<!-- MathML created with MathCast Equation Editor version 0.9 -->
</head>
<body>
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
<mo>{</mo>
<mn>1</mn>
<mo>+</mo>
<mi>e</mi>
<mi>r</mi>
<mi>f</mi>
<mfenced>
<mrow>
<mfrac>
<mfenced>
<mrow>
<mi>x</mi>
<mo>&#x2212;</mo>
<mi>&#x3BC;</mi>
</mrow>
</mfenced>
<msqrt>
<mfenced>
<mrow>
<mn>2</mn>
<msup>
<mi>&#x3C3;</mi>
<mn>2</mn>
</msup>
</mrow>
</mfenced>
</msqrt>
</mfrac>
</mrow>
</mfenced>
<mo>]</mo>
</mrow>
</math>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@@ -0,0 +1,105 @@
<!-- saved from url=(0022)http://internet.e-mail -->
<?xml version='1.0'?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN'
'http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd'
[<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head><title>owens_t</title>
<!-- MathML created with MathCast Equation Editor version 0.9 -->
</head>
<body>
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mstyle mathsize="1em">
<mrow>
<mi>T</mi>
<mfenced>
<mrow>
<mi>h</mi>
<mo>,</mo>
<mi>a</mi>
</mrow>
</mfenced>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<mfenced>
<mrow>
<mn>2</mn>
<mi>&#x03C0;</mi>
</mrow>
</mfenced>
</mfrac>
<msubsup>
<mo>&#x222B;</mo>
<mrow>
<mn>0</mn>
</mrow>
<mi>a</mi>
</msubsup>
<mfrac>
<mrow>
<mi>exp</mi>
<mo>{</mo>
<mo>&#x2212;</mo>
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
<msup>
<mi>h</mi>
<mn>2</mn>
</msup>
<mfenced>
<mrow>
<mn>1</mn>
<mo>+</mo>
<msup>
<mi>x</mi>
<mn>2</mn>
</msup>
</mrow>
</mfenced>
<mo>}</mo>
</mrow>
<mfenced>
<mrow>
<mn>1</mn>
<mo>+</mo>
<msup>
<mi>x</mi>
<mn>2</mn>
</msup>
</mrow>
</mfenced>
</mfrac>
<mi>d</mi>
<mi>x</mi>
<mspace width="1em"/>
<mo>;</mo>
<mspace width="1em"/>
<mfenced>
<mrow>
<mo>&#x2212;</mo>
<mi>&#x221E;</mi>
<mo>&lt;</mo>
<mi>h</mi>
<mo>,</mo>
<mi>a</mi>
<mo>&lt;</mo>
<mo>+</mo>
<mi>&#x221E;</mi>
</mrow>
</mfenced>
</mrow>
</mstyle>
</math>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,56 @@
<?xml version='1.0'?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN'
'http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd'
[<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head><title>skew_normal_cdf</title>
<!-- MathML created with MathCast Equation Editor version 0.9 -->
</head>
<body>
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>&#x3A6;</mi>
<mfenced>
<mrow>
<mfrac>
<mfenced>
<mrow>
<mi>x</mi>
<mo>&#x2212;</mo>
<mi>&#x3BE;</mi>
</mrow>
</mfenced>
<mi>&#x3C9;</mi>
</mfrac>
</mrow>
</mfenced>
<mo>&#x2212;</mo>
<mn>2</mn>
<mi>T</mi>
<mfenced>
<mrow>
<mfenced>
<mrow>
<mfrac>
<mfenced>
<mrow>
<mi>x</mi>
<mo>&#x2212;</mo>
<mi>&#x3BE;</mi>
</mrow>
</mfenced>
<mi>&#x3C9;</mi>
</mfrac>
</mrow>
</mfenced>
<mo>,</mo>
<mi>&#x3B1;</mi>
</mrow>
</mfenced>
</mrow>
</math>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@@ -0,0 +1,62 @@
<?xml version='1.0'?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN'
'http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd'
[<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head><title>skew_normal_kurt_ex</title>
<!-- MathML created with MathCast Equation Editor version 0.9 -->
</head>
<body>
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mn>2</mn>
<mfenced>
<mrow>
<mi>&#x3C0;</mi>
<mo>&#x2212;</mo>
<mn>3</mn>
</mrow>
</mfenced>
<mspace width="1em"/>
<mfrac>
<msup>
<mfenced>
<mrow>
<mi>&#x3B4;</mi>
<msqrt>
<mfenced>
<mrow>
<mfrac>
<mn>2</mn>
<mi>&#x3C0;</mi>
</mfrac>
</mrow>
</mfenced>
</msqrt>
</mrow>
</mfenced>
<mn>4</mn>
</msup>
<msup>
<mfenced>
<mrow>
<mn>1</mn>
<mo>&#x2212;</mo>
<mn>2</mn>
<mfrac>
<msup>
<mi>&#x3B4;</mi>
<mn>2</mn>
</msup>
<mi>&#x3C0;</mi>
</mfrac>
</mrow>
</mfenced>
<mn>2</mn>
</msup>
</mfrac>
</mrow>
</math>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@@ -0,0 +1,53 @@
<?xml version='1.0'?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN'
'http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd'
[<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head><title>skew_normal_mean</title>
<!-- MathML created with MathCast Equation Editor version 0.9 -->
</head>
<body>
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>&#x3BE;</mi>
<mo>+</mo>
<mi>&#x3C9;</mi>
<mi>&#x3B4;</mi>
<msqrt>
<mfenced>
<mrow>
<mfrac>
<mn>2</mn>
<mi>&#x3C0;</mi>
</mfrac>
</mrow>
</mfenced>
</msqrt>
<mspace width="1em"/>
<mi>w</mi>
<mi>h</mi>
<mi>e</mi>
<mi>r</mi>
<mi>e</mi>
<mspace width="1em"/>
<mi>&#x3B4;</mi>
<mo>=</mo>
<mfrac>
<mi>&#x3B1;</mi>
<msqrt>
<mfenced>
<mrow>
<mn>1</mn>
<mo>+</mo>
<msup>
<mi>&#x3B1;</mi>
<mn>2</mn>
</msup>
</mrow>
</mfenced>
</msqrt>
</mfrac>
</mrow>
</math>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@@ -0,0 +1,89 @@
<?xml version='1.0'?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN'
'http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd'
[<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head><title>skew_normal_pdf</title>
<!-- MathML created with MathCast Equation Editor version 0.9 -->
</head>
<body>
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mfrac>
<mn>1</mn>
<mfenced>
<mrow>
<mi>&#x3C9;</mi>
<mi>&#x3C0;</mi>
</mrow>
</mfenced>
</mfrac>
<msup>
<mi>e</mi>
<mo>&#x2212;</mo>
</msup>
<mfrac>
<msup>
<mfenced>
<mrow>
<mi>x</mi>
<mo>&#x2212;</mo>
<mi>&#x3BE;</mi>
</mrow>
</mfenced>
<mn>2</mn>
</msup>
<mfenced>
<mrow>
<mn>2</mn>
<msup>
<mi>&#x3C9;</mi>
<mn>2</mn>
</msup>
</mrow>
</mfenced>
</mfrac>
<msubsup>
<mo>&#x222B;</mo>
<mrow>
<mo>&#x2212;</mo>
<mi>&#x221E;</mi>
</mrow>
<mfenced>
<mrow>
<mi>&#x3B1;</mi>
<mfenced>
<mrow>
<mfrac>
<mfenced>
<mrow>
<mi>x</mi>
<mo>&#x2212;</mo>
<mi>&#x3BE;</mi>
</mrow>
</mfenced>
<mi>&#x3C9;</mi>
</mfrac>
</mrow>
</mfenced>
</mrow>
</mfenced>
</msubsup>
<msup>
<mi>e</mi>
<mo>&#x2212;</mo>
</msup>
<mfrac>
<msup>
<mi>t</mi>
<mn>2</mn>
</msup>
<mn>2</mn>
</mfrac>
<mspace width="1em"/>
<mi>d</mi>
<mi>t</mi>
</mrow>
</math>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

@@ -0,0 +1,36 @@
<?xml version='1.0'?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN'
'http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd'
[<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head><title>skew_normal_pdf0</title>
<!-- MathML created with MathCast Equation Editor version 0.9 -->
</head>
<body>
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>f</mi>
<mfenced>
<mrow>
<mi>x</mi>
</mrow>
</mfenced>
<mo>=</mo>
<mn>2</mn>
<mi>&#x3C6;</mi>
<mfenced>
<mrow>
<mi>x</mi>
</mrow>
</mfenced>
<mi>&#x3A6;</mi>
<mfenced>
<mrow>
<mi>&#x3B1;</mi>
<mi>x</mi>
</mrow>
</mfenced>
</mrow>
</math>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="10.945312pt" width="90.403000pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.355469 90.403000 10.945312"><svg:metadata><svgmath:metrics top="10.9453125" axis="6.57421875" baseline="2.58984375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.960938" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.960938" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(24.796227, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(34.897141, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(40.897141, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(47.535813, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.960938" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.960938" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(61.252609, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.567383" font-family="Times New Roman" font-style="italic" fill="black">Φ</svg:text></svg:g><svg:g transform="translate(70.387375, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.960938" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(6.298828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(16.019531, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.960938" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@@ -0,0 +1,71 @@
<?xml version='1.0'?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN'
'http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd'
[<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head><title>skew_normal_skewness</title>
<!-- MathML created with MathCast Equation Editor version 0.9 -->
</head>
<body>
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mfrac>
<mfenced>
<mrow>
<mn>4</mn>
<mo>&#x2212;</mo>
<mi>&#x3C0;</mi>
</mrow>
</mfenced>
<mn>2</mn>
</mfrac>
<mspace width="1em"/>
<mfrac>
<msup>
<mfenced>
<mrow>
<mi>&#x3B4;</mi>
<msqrt>
<mfenced>
<mrow>
<mfrac>
<mn>2</mn>
<mi>&#x3C0;</mi>
</mfrac>
</mrow>
</mfenced>
</msqrt>
</mrow>
</mfenced>
<mn>3</mn>
</msup>
<msup>
<mfenced>
<mrow>
<mn>1</mn>
<mo>&#x2212;</mo>
<mn>2</mn>
<mfrac>
<msup>
<mi>&#x3B4;</mi>
<mn>2</mn>
</msup>
<mi>&#x3C0;</mi>
</mfrac>
</mrow>
</mfenced>
<mfenced>
<mrow>
<mfrac>
<mn>3</mn>
<mn>2</mn>
</mfrac>
</mrow>
</mfenced>
</msup>
</mfrac>
</mrow>
</math>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.3 KiB

View File

@@ -0,0 +1,33 @@
<?xml version='1.0'?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN'
'http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd'
[<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head><title>skew_normal_variance</title>
<!-- MathML created with MathCast Equation Editor version 0.9 -->
</head>
<body>
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msup>
<mi>&#x3C9;</mi>
<mn>2</mn>
</msup>
<mfenced>
<mrow>
<mn>1</mn>
<mo>&#x2212;</mo>
<mn>2</mn>
<mfrac>
<msup>
<mi>&#x3B4;</mi>
<mn>2</mn>
</msup>
<mi>&#x3C0;</mi>
</mfrac>
</mrow>
</mfenced>
</mrow>
</math>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="19.800360pt" width="57.007625pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.882392 57.007625 19.800360"><svg:metadata><svgmath:metrics top="19.8003604995" axis="6.90234375" baseline="2.91796875" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.236328" font-family="Times New Roman" font-style="italic" fill="black">ω</svg:text><svg:g transform="translate(8.472656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.732656, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.729151" transform="scale(0.552254, 1)" text-anchor="middle" y="2.189314" x="3.617989" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black"></svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(24.686844, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.789062" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text><svg:g transform="translate(5.578125, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.311641, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" x2="11.010000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" y2="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(40.278875, -3.984375)"><svg:text font-size="21.729151" transform="scale(0.552254, 1)" text-anchor="middle" y="2.189314" x="3.617989" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -338,7 +338,7 @@ and also string representations used by other programming languages.
[h5 signed_zero]
If the `signed_zero` flag is used with `nonfinite_num_put`,
then the facet will distinguish between positive and negative zero.
then the facet will always distinguish between positive and negative zero.
It will format positive zero as "0" or "+0" and negative zero as "-0".
The string representation of positive zero can be controlled
with the `showpos` and `noshowpos` manipulators.
@@ -348,6 +348,16 @@ The input facet `nonfinite_num_get` always parses "0" and "+0"
as positive zero and "-0" as negative zero,
as do most implementations of `std::num_get`.
[note If the `signed_zero` flag is not set (the default), then a negative zero value
will be displayed on output in whatever way the platform normally handles it.
For most platforms, this it will format positive zero as "0" or "+0" and negative zero as "-0".
But setting the `signed_zero` flag may be more portable.]
[tip A negative zero value can be portably produced using the changesign function
`(changesign)(static_cast<ValType>(0))` where `ValType` is `float`, `double` or `long double`,
or a User-Defined floating-point type (UDT) provided that this UDT has a sign
and that the changesign function is implemented.]
[h5 trap_infinity]
If the `trap_infinity` flag is used with `nonfinite_num_put`,
@@ -361,6 +371,7 @@ If the `trap_infinity` flag is used with `nonfinite_num_get`,
then the facet will set the `fail bit` of the stream when an attempt is made
to parse a string that represents positive or negative infinity.
(See Design Rationale below for a discussion of this inconsistency.)
[h5 trap_nan]
@@ -502,6 +513,9 @@ Example [@../../../example/nonfinite_loopback_ok.cpp] shows loopback works OK.
Example [@../../../example/nonfinite_num_facet.cpp] shows output and re-input
of various finite and nonfinite values.
A simple example of trapping nonfinite output is at
[@../../../example/nonfinite_num_facet_trap.cpp nonfinite_num_facet_trap.cpp].
A very basic example of using Boost.Archive is at
[@../../../example/nonfinite_serialization_archives.cpp].

View File

@@ -10,7 +10,7 @@
\author John Maddock and Paul A. Bristow
*/
// Copyright John Maddock 2008.
// Copyright Paul A. Bristow 2008, 2009
// Copyright Paul A. Bristow 2008, 2009, 2012
// Use, modification and distribution are subject to 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)
@@ -499,6 +499,26 @@ int main()
rayleigh_cdf_plotter.add(boost::math::rayleigh_distribution<>(10), "&#x3C3;=10");
rayleigh_cdf_plotter.plot("Rayleigh Distribution CDF", "rayleigh_cdf.svg");
distribution_plotter<boost::math::skew_normal_distribution<> >
skew_normal_plotter;
skew_normal_plotter.add(boost::math::skew_normal_distribution<>(0,1,0), "{0,1,0}");
skew_normal_plotter.add(boost::math::skew_normal_distribution<>(0,1,1), "{0,1,1}");
skew_normal_plotter.add(boost::math::skew_normal_distribution<>(0,1,4), "{0,1,4}");
skew_normal_plotter.add(boost::math::skew_normal_distribution<>(0,1,20), "{0,1,20}");
skew_normal_plotter.add(boost::math::skew_normal_distribution<>(0,1,-2), "{0,1,-2}");
skew_normal_plotter.add(boost::math::skew_normal_distribution<>(-2,0.5,-1), "{-2,0.5,-1}");
skew_normal_plotter.plot("Skew Normal Distribution PDF", "skew_normal_pdf.svg");
distribution_plotter<boost::math::skew_normal_distribution<> >
skew_normal_cdf_plotter(false);
skew_normal_cdf_plotter.add(boost::math::skew_normal_distribution<>(0,1,0), "{0,1,0}");
skew_normal_cdf_plotter.add(boost::math::skew_normal_distribution<>(0,1,1), "{0,1,1}");
skew_normal_cdf_plotter.add(boost::math::skew_normal_distribution<>(0,1,4), "{0,1,4}");
skew_normal_cdf_plotter.add(boost::math::skew_normal_distribution<>(0,1,20), "{0,1,20}");
skew_normal_cdf_plotter.add(boost::math::skew_normal_distribution<>(0,1,-2), "{0,1,-2}");
skew_normal_cdf_plotter.add(boost::math::skew_normal_distribution<>(-2,0.5,-1), "{-2,0.5,-1}");
skew_normal_cdf_plotter.plot("Skew Normal Distribution CDF", "skew_normal_cdf.svg");
distribution_plotter<boost::math::triangular_distribution<> >
triangular_plotter;
triangular_plotter.add(boost::math::triangular_distribution<>(-1,0,1), "{-1,0,1}");
@@ -622,4 +642,4 @@ int main()
hypergeometric_plotter2.add(boost::math::hypergeometric_distribution<>(450, 50, 500), "N=500, r=50, n=450");
hypergeometric_plotter2.plot("Hypergeometric Distribution PDF", "hypergeometric_pdf_2.svg");
}
} // int main()

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

@@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="1.1"
width="744.09448"
height="1052.3622"
id="svg2">
<defs
id="defs4" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1">
<image
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAekAAAEuCAIAAAAlQX3MAAAAA3NCSVQICAjb4U/gAAAR9UlEQVR4
nO3d23bjOBJEUWBW//8vax7YhWbxAoK4JCOBsx9mqh1lO2kLIQiSXfH3+wUAgCv/+3oAAMBrdDcA
+PNvd8cYY4z74PCfAAAd1/vuGCPn4AAg69/u3pqavTYAuMB5NwD48193p0MSDkwAQNxx382xCQDo
+6u72W4DgAsX5900OACI47lKAPDnr+7mWUoAcOGf7f94ihIAHOG5SgDwp8MhybZnp/cBwAzPVQKA
P3Q3APhDdwOAP63dnV6gwitVAMAM+24A8IfuBgB/6G4A8Kepu/knLgHgE+y7AcAfuhsA/KG7AcCf
+u6+PN3myBsADPT5hd384m8AsMSZCQD4Q3cDgD90NwD4Q3cDgD90NwD4Q3cDgD90NwD4Q3cDgD90
NwD4Q3cDgD90NwD4Q3cDgD90NwD4Q3cDgD90NwD4Q3cDgD90NwD4Q3cDgD90NwD4Q3cDgD90NwD4
Q3cDgD90NwD4Q3cDgD90NwD4Q3cDgD90NwD4Q3cDgD90NwD4Q3cDgD90NwD4Q3cDgD90NwD4Q3cD
gD90NwD4Q3cDgD90NwD4Q3cDgD90NwD4Q3cDgD90NwD4Q3cDgD90NwD4Q3cDgD90NwD4Q3cDgD90
NwD4Q3cDgD90NwD4Q3cDwFGMMcb49RQ5/3w9AAAISZX9+/2+nSSPfTcA/CtT3GrbcLobAEIoKG6p
+qa7AaBoxy11ikJ3A1idu+IOdDeAxXks7kB3A1jE5Wl1XXErHHzT3QAmt71Yu66dZZ+35PXdAKbV
uK1WPkVh3w1gThMXd6C7AUxp7uIOdDeA+VgW91cH33Q3AMfO1Wlf3J/UN89VAnBpa8xDn36y4/7k
FIXuBuDMXWmuU9yBMxMAvlDcG7obgBvixW158E13A/DhsbjL32VcZFbfdDcAB0qOKTQ344PQ3QDU
VZTm3MUd6G4AOnr9qr/pizvQ3QAUdPxVfyLFPfrgm+4G8KWttUOn0pQq7qH1TXcD+Ezf0pQq7suo
I7obwDco7hZ0N4APUNyN6G4A1gYV9+hP1B51RHcDGKXXa/7yUaK8Ge9e3/weQQD9dXzpSF0kVdyX
USO6G0BPCs2oMEM+akd3A+hjfyxAcY9+3pLuBtDqcJhLcT9G7YXOc5UA6p1/lp3itnnBCftuAK8d
6kmhGRVmqI4q0N0AXjg/5FeoP4UZqqM6dDeAIpcHtQr15+hnczo+b0l3A8gR6TjvP5uTieoKnecq
AdyS6rhXkcIMhVEd9t0AjnRe81cXKcxQHRVi3w3gP1Kv+auLFGaojsqx7wYQwt9nryJFRnFn0N3A
6g7PmIkU2WrF/fZ5S7obWNRlj0gV2atIYYb2qBzdDSxnvvpTmGFElEF3A5XOD3IPz/I9vu/mcFix
/8+OP8px+LyybdVS3GcK41VHeXQ30Me+ajNt8vv9Lp8VTNH2cboX9+W9xTn1GCUzbcYf0d1ApX3V
nqPH901/3n+EzMesdrgjkW0rTlEOUf42QHcD1s477kFSBUhVkkGkMEN7lEd3A/VSLb7dKae/f7dQ
W7beh15QqySKu8spCt0NtDr37+N5993KfOz0kjEOBzLnN04cKcwwIjqju4Em+xOJ/RvbP3L51nu1
Ilvtei/x+0yADt6Wdfwj/Wc4PWkZdus5/6EuZxDpHYq7Pbq8GbDvBqzdFf3h7Y/3B/slvU6RXUYK
MwyNzuhuoEnLk4rVn/Hwlrsiy7yvSCX1Le4zhfFGRIHuBqpVPJ3Y5TM+vnokWWRzmix1vXQ30MRm
071v7dC2OZWtJE5RSqKE7gYqGbT25RqmyB4jhRlGRHt0N6CoYyuJ9A7F3Rgd0N2AFoqsJVKYYUR0
RncDKvZPflJkXG8e3Q187/CSFYqM631EdwNfOrR2uK+kuqjvR9OPFGboFeXxM/HAN2KM8fRzPRRZ
S6QwQ6/oEftuwM55rVJkvSKFGXpFJehuwMJlxVBkvSKFGXpFhehuYKzPn1sTec6N6y2JytHdwCgK
daAwg2WkMEN19ArPVQJDKNSBwgyWkcIM1dFb7LuBnvbnmIEi43rLogrsu4E+Yozx79f8UWRc76vo
FfbdQKtt7W1rUqEOMl2gMF73yPv18joTwNq+tYNMHSRTbk4nu97q8xO6G3jtcjXq1MFlpDCDZaQw
Q2FUh+4GSu0Xm6+mUJjBMlKYoSRqedKS7gaKSK35V5HCDJaRwgwlUUtxB7obeJTZbgexOjhHCjNY
RgozFEaN6G7g1mGZiaz5KYuM632L13cDF2KMUebF2nWRwgyWkcIM1VEF9t3Afw6rS2Rhr1Zkq11v
HbobuF5XIgu7pcjOFMbrHrm+3mp0N5Y29z5upoua8npb0N1YlMjq5VRhUKQwQz5qxHOVWJHI6qXI
BkUKM+Sjduy7sZDDwajswl6tyFa73i7Yd2MJMcbo/DV/dZHCDJaRwgz5qBf23Zjctoq2JSSyeimy
QZHCDPmoI7obE9qfjaT1I7J6KbJBkcIM+agvuhtTuWztILN6KbJBkcIM+ag7uhvzeFzY5e/iOuJ6
pcYbhO7GDO622wfuNmuNTcH1So3XF90N3w57rpkeZa92qjDl9Y7DawThVYwx1r7sT2Rhr1Zkq13v
UOy74c+2Wral4ndhr1Zkq13vaPX/SvFfH6XhXzsGSlyeaPtd2PmI1aRDs7gD+27o69jCOu38GEGB
bHEHuhvKpnwoTXF7oVzcgecqIWvZ4ubARIrsvS/7bsi5PNo+pxXFnflcFDfOlJ+ooLuh4tyw3evP
3WYcH1Iu7kB3Q0Hja/7qIpF2pri9EDkqSehufGPbp+xbO1DcUPX4TbT/DtLdsJaWweFhJsUNTYLF
HehuWMo8CUlx7yPavFHHSlU7KknobhhRaEaFGQqjEd42Wsmzx+2fZYTtOK59EuWHTby+G8OlVRQo
7k/3ca9aZtv+b169r9qDhvhHxTtufxAs7kB3Y6jDmqG4O9ZBXdHXdU1jfX9ytnD5Fa6YRLO4A2cm
GCQ9XFWov8yKVRgvH+XH1qc26qsvtWxxh8DvEURv+0NGkfrzuxm/dGjDw5c686EO579396+Xx9yF
7xtubgB3s42ujpJ7joonABTqjn03Org8GBGpv8mKO9w06aEQLztxX7X7v3x5RxtP/65FyfuGU6Fn
qvxVcY/bvxc+pSlV3IHzbjRKZ4j757WCTP3NV9wlXn20Q+lXf6LyHa7aKcr+dntHrbgD+25UE+k4
insRFV+l/J2E06OShH03aoh03JTFrbYt7evunMd4Bu/FHdh3463Lo+1zqhkpzFAYzc3gMi+fca3+
IGrFHehuFCpZCWr1t1Rx77ex4ncAl097jv6MFe+lXNyBM5P5xD8u3/j27enPh4eZIh03ZXGXNMXd
K0PS/15+kP1fyDv/zer3vXt+cmghpi/Cq+ORS5rFHQKv717J22/ToQVEiqyluDOR5uRveVmJLuYU
H5J991oKH6umTfcExb03d3F3+QgGxDsxER+S82785fIRt0iRrXaKMh/xg3hf6G6EINNWFPcKlrrY
cejuVdxteTJPbQWZIqO45+D0SjW/U5x3LyfdEC9fQHL5N2U7bsri5mBBimZxB/bda8rvtQ9Eiozi
hj3Z4g7su9dU/qJXkSKjuGFP/DtFdy+h101NreOmLG7BLd7K7r5Tn9c33T257VD7/Ma6D7X9Qbbj
Hov7TGG8fIQPKX+nOO+e1v5Qu32PIFJkjfU302Z8tQcf4tdrj+6e0PmpyNTgr25z6S8rrMPukcIM
lpHCDJaR/QzGhU53T2XEbUhhHXaPFGawjBRmsIw+mcEY3T2DcQ/lFNZh90hhBstIYQbLSGEGA3S3
b0MfrImsgSkXNtc7KFKYwQbd7ZXZEZvmEq2LFGawjBRmsIwUZshHHdHd/pi19uVnEVkDUy5srrcl
UpghH/VFd3ti2dqZAS5nEI8UZrCMFGawjBRmyEfd0d0OfHusVjKGeJTefqYwXveI65Uab4u6L166
W9q3G+3959VZAxVR4m6zxvWWRIny9Xavb7pb1OfHI3tSa6BXpDCDZaQwg2WkMEM+akR3y5Fq7SBz
Q19tYXO9LZHCDPmoHd0tRK21g8wNfbWFzfW2RAozlESNK53u/t7QO+cWUjf0XpHCDJaRwgyWkcIM
hVEjuvtLghvtM5Eb+moLm+td7Xrforu/4aK1w9e3ZhZ2S6Qwg2WkMEN1VIHutualtc/2j/Xulo1+
pDCDZaQwg2WkMEOvKI/utuO3tYPMrZmF/SpSmMEyUpihV/SI7h6u7wMlS2lgkVszC/tVpDCDZaQw
Q6+oBN09kOuNdiJya2Zhv4oUZrCMFGboGz32Bt09xBytHbIPGvxGCjNYRgozWEYKM7RHj+juzqZp
7aB3a2Zhc72PkcIMI6Izursbm9a2v2+QvTWzsB8jhRksI4UZRkSX6O5Wb7/ivsjemlnYj5HCDJaR
wgyWEd1db6bjkUIKN9m6SGEGy0hhBstIYQbjiO6usWBrB5mbbMvCPlMYr3vE9UqNNyIKdPdbOq19
+X3d34jbh7z8yLK35pLDq0U2awnXqzDeiOj3+9HdpXRaO/z55oW/y3o/YWYnUvfptj98fpPtGCnM
YBkpzGAZKcwwLoox0t0PSu7t7R12xOk/797eQuom2ytSmMEyUpjBMlKYYXREd9+S2miX6L7jzp/A
CN6aCyOFGSwjhRksI4UZRkSHN9LdF9y1dnJ5ltJO9tbMwn6MFGawjBRmGBGd0d1/8dvaod8hyYHs
rZmF/RgpzGAZKcwwIrpEd//LdWuPI3trZmE/RgozWEYKMzRGr/pn9e5+e18n7nBU0n0nLnVDfxUp
zGAZKcxgGSnMUB3dvTFv3e52utE+DLz/z+7XMs3yONylqY3XPeJ6pcbLR9VW7G6nrf0tkRt64/KY
5t4oHyVcr8J4gx7cr9XdtHYdkRs6j7JbIoUZLCOFGcKAc8tkle6mtavprIGOkcIMlpHCDJaRwgyZ
N3YxeXcPerSyiP0xouYSrYsUZrCMFGawjBRmMDBtd7PR7khzidZFCjNYRgozWEYKM9iYsLtp7b40
l2hdpDCDZaQwg2U0zXlIiam6m9buTnOJ1kUKM1hGCjNYRpNtqx9N0t20tg2FJVoXKcxgGSnMYBmt
VtzBe3frf31dm6YO0tvPFMbrHnG9XT6ReKt47W4XX9yZKCzR6iiZ5t4oHyVcb91Hc1Es/rqb1rYn
skT9PspWiBRmsIxcn4eU8NTdtLaxGOPv91NYh90jhRksI4UZLKPpizt46W5a+ysK67B7pDCDZaQw
g2WUf5dpakS6u6e5h/ROc4nWRQozWEYKM1hGExxkFxLtbjbaOjSXaF2kMINlpDCDZbTUbk+uu2lt
KZpLtC5SmMEyUpjBMlqquEMIfU5/upwi0drjpJt1Uvd1VliidZHCDJaRwgzG0Wok9t20tgsiS7Sl
yM4UxuserXa9a/qyu/lOfKXiCy6yRBsX9iKb02S1613KN93NRtuFdBQmskQ5VWiJFGZoiaiLA+vu
prU/8dv9iM1bOqu3Y6Qwg2WkMEN1dPfGxdl1N63tkcjqpchaIoUZqiPcsehuWltKxTdCdmGvVmQT
Xy/98NbA7ua+dA4KC7tXpDCDZaQwQz66eyMeDelu7kgF1R15y675KYtsteu9/GuPfxObzt1Na89E
ds1PWWSrXW8GPV6iW3fT2i60fINE1nxLkZ0pjNc9krrexk6gx+90+5n49g8CAI9o8E23fTdf0PlE
fiACVh73f9wUDyR+nwkAnNHXGXQ3ACH0dSG6G8D3qOy3/vf1AACA1+hu3GIrBMjihQQA4A/7bgDw
h+7GLX7kCpBFdwOAP3Q3AGdijPsHhWs+QKS7ATizvcJiq+xlf3NDn+7O/96yNe8V9cU/vh4EeC3V
95rFHYb+2wvw4u7XbC67KgB9nX9/N7zj1yXDl2W33ka/z4RmB9BRquxlu6X/7+++/FKueccoju8U
5rDm1rv/vnv/RVz2LtGXu9v9mksC+va3zO0f0V7wtrrcBaPcgusB8ILXdwOAP3Q3APhDdwOAPxxo
PtiebuWrBEAK+24A8Gf47zMBAHTXp7s5UgAAS0Y/Ez+B9NiCOyoAn+O8u8j2Uyq0NgARdHcRftAf
gBS6GwD8obsBwB+6GwD8obsBwB+6GwD84feZAIA//wfNs+aIMMvtTwAAAABJRU5ErkJggg==
"
x="104.07146"
y="318.50504"
width="489"
height="302"
id="image2993" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

View File

@@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="750" height ="400" version="1.1"
xmlns:svg ="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://web.resource.org/cc/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns ="http://www.w3.org/2000/svg"
>
<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
<!-- Use, modification and distribution of Boost.Plot subject to 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) -->
<clipPath id="plot_window"><rect x="85.2" y="59" width="473.6" height="281"/></clipPath>
<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="475.6" height="283"/></g>
<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="349.1" y1="58" x2="349.1" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="559.8" y2="341"/><line x1="79.2" y1="341" x2="559.8" y2="341"/></g>
<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,335.9 L84.2,335.9 M82.2,330.7 L84.2,330.7 M82.2,325.6 L84.2,325.6 M82.2,320.4 L84.2,320.4 M82.2,310.1 L84.2,310.1 M82.2,305 L84.2,305 M82.2,299.8 L84.2,299.8 M82.2,294.7 L84.2,294.7 M82.2,284.4 L84.2,284.4 M82.2,279.3 L84.2,279.3 M82.2,274.1 L84.2,274.1 M82.2,269 L84.2,269 M82.2,258.7 L84.2,258.7 M82.2,253.5 L84.2,253.5 M82.2,248.4 L84.2,248.4 M82.2,243.2 L84.2,243.2 M82.2,232.9 L84.2,232.9 M82.2,227.8 L84.2,227.8 M82.2,222.7 L84.2,222.7 M82.2,217.5 L84.2,217.5 M82.2,207.2 L84.2,207.2 M82.2,202.1 L84.2,202.1 M82.2,196.9 L84.2,196.9 M82.2,191.8 L84.2,191.8 M82.2,181.5 L84.2,181.5 M82.2,176.3 L84.2,176.3 M82.2,171.2 L84.2,171.2 M82.2,166.1 L84.2,166.1 M82.2,155.8 L84.2,155.8 M82.2,150.6 L84.2,150.6 M82.2,145.5 L84.2,145.5 M82.2,140.3 L84.2,140.3 M82.2,130 L84.2,130 M82.2,124.9 L84.2,124.9 M82.2,119.7 L84.2,119.7 M82.2,114.6 L84.2,114.6 M82.2,104.3 L84.2,104.3 M82.2,99.16 L84.2,99.16 M82.2,94.02 L84.2,94.02 M82.2,88.87 L84.2,88.87 M82.2,78.58 L84.2,78.58 M82.2,73.44 L84.2,73.44 M82.2,68.29 L84.2,68.29 M82.2,63.15 L84.2,63.15 M82.2,341 L84.2,341 " fill="none"/></g>
<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M365.1,341 L365.1,343 M381,341 L381,343 M397,341 L397,343 M412.9,341 L412.9,343 M444.8,341 L444.8,343 M460.8,341 L460.8,343 M476.8,341 L476.8,343 M492.7,341 L492.7,343 M524.6,341 L524.6,343 M540.6,341 L540.6,343 M556.5,341 L556.5,343 M333.1,341 L333.1,343 M317.2,341 L317.2,343 M301.2,341 L301.2,343 M285.3,341 L285.3,343 M253.4,341 L253.4,343 M237.4,341 L237.4,343 M221.4,341 L221.4,343 M205.5,341 L205.5,343 M173.6,341 L173.6,343 M157.6,341 L157.6,343 M141.7,341 L141.7,343 M125.7,341 L125.7,343 M93.78,341 L93.78,343 " fill="none"/></g>
<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,315.3 L84.2,315.3 M79.2,289.5 L84.2,289.5 M79.2,263.8 L84.2,263.8 M79.2,238.1 L84.2,238.1 M79.2,212.4 L84.2,212.4 M79.2,186.6 L84.2,186.6 M79.2,160.9 L84.2,160.9 M79.2,135.2 L84.2,135.2 M79.2,109.5 L84.2,109.5 M79.2,83.73 L84.2,83.73 M79.2,58 L84.2,58 M79.2,341 L84.2,341 " fill="none"/></g>
<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M349.1,341 L349.1,346 M428.9,341 L428.9,346 M508.7,341 L508.7,346 M349.1,341 L349.1,346 M269.3,341 L269.3,346 M189.5,341 L189.5,346 M109.7,341 L109.7,346 " fill="none"/></g>
<g id="xTicksValues">
<text x="349.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
<text x="428.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
<text x="508.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
<text x="349.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
<text x="269.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
<text x="189.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text>
<text x="109.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-3</text></g>
<g id="yTicksValues">
<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
<text x="73.2" y="317.7" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
<text x="73.2" y="291.9" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
<text x="73.2" y="266.2" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
<text x="73.2" y="240.5" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
<text x="73.2" y="214.8" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
<text x="73.2" y="189" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
<text x="73.2" y="163.3" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
<text x="73.2" y="137.6" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
<text x="73.2" y="111.9" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
<text x="73.2" y="86.13" text-anchor="end" font-size="12" font-family="Verdana">1</text>
<text x="73.2" y="60.4" text-anchor="end" font-size="12" font-family="Verdana">1.1</text>
<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
<g id="yLabel">
<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
<g id="xLabel">
<text x="322" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,340.9 L86.58,340.9 L88.96,340.9 L91.33,340.8 L93.71,340.8 L96.09,340.8 L98.47,340.8 L100.8,340.8 L103.2,340.7 L105.6,340.7 L108,340.7 L110.4,340.6 L112.7,340.6 L115.1,340.6 L117.5,340.5 L119.9,340.5 L122.2,340.4 L124.6,340.4 L127,340.3 L129.4,340.2 L131.8,340.2 L134.1,340.1 L136.5,340 L138.9,339.9 L141.3,339.8 L143.6,339.7 L146,339.6 L148.4,339.5 L150.8,339.3 L153.2,339.2 L155.5,339 L157.9,338.9 L160.3,338.7 L162.7,338.5 L165,338.3 L167.4,338.1 L169.8,337.8 L172.2,337.6 L174.6,337.3 L176.9,337 L179.3,336.7 L181.7,336.4 L184.1,336 L186.4,335.7 L188.8,335.3 L191.2,334.8 L193.6,334.4 L196,333.9 L198.3,333.4 L200.7,332.9 L203.1,332.3 L205.5,331.8 L207.8,331.1 L210.2,330.5 L212.6,329.8 L215,329.1 L217.4,328.3 L219.7,327.5 L222.1,326.7 L224.5,325.8 L226.9,324.9 L229.2,323.9 L231.6,322.9 L234,321.8 L236.4,320.7 L238.8,319.6 L241.1,318.4 L243.5,317.1 L245.9,315.8 L248.3,314.5 L250.6,313.1 L253,311.6 L255.4,310.1 L257.8,308.5 L260.2,306.9 L262.5,305.2 L264.9,303.5 L267.3,301.7 L269.7,299.9 L272,298 L274.4,296.1 L276.8,294.1 L279.2,292 L281.6,289.9 L283.9,287.7 L286.3,285.5 L288.7,283.2 L291.1,280.9 L293.4,278.6 L295.8,276.1 L298.2,273.7 L300.6,271.1 L303,268.6 L305.3,266 L307.7,263.3 L310.1,260.6 L312.5,257.9 L314.8,255.1 L317.2,252.3 L319.6,249.5 L322,246.6 L324.4,243.7 L326.7,240.8 L329.1,237.8 L331.5,234.8 L333.9,231.8 L336.2,228.8 L338.6,225.8 L341,222.8 L343.4,219.7 L345.8,216.7 L348.1,213.6 L350.5,210.5 L352.9,207.5 L355.3,204.4 L357.6,201.4 L360,198.4 L362.4,195.3 L364.8,192.3 L367.2,189.3 L369.5,186.4 L371.9,183.4 L374.3,180.5 L376.7,177.6 L379,174.7 L381.4,171.9 L383.8,169.1 L386.2,166.3 L388.6,163.6 L390.9,160.9 L393.3,158.3 L395.7,155.7 L398.1,153.1 L400.4,150.6 L402.8,148.1 L405.2,145.7 L407.6,143.4 L410,141.1 L412.3,138.8 L414.7,136.6 L417.1,134.4 L419.5,132.3 L421.8,130.3 L424.2,128.3 L426.6,126.4 L429,124.5 L431.4,122.6 L433.7,120.9 L436.1,119.2 L438.5,117.5 L440.9,115.9 L443.2,114.3 L445.6,112.8 L448,111.4 L450.4,110 L452.8,108.7 L455.1,107.4 L457.5,106.1 L459.9,104.9 L462.3,103.8 L464.6,102.7 L467,101.7 L469.4,100.7 L471.8,99.7 L474.2,98.78 L476.5,97.91 L478.9,97.07 L481.3,96.28 L483.7,95.52 L486,94.8 L488.4,94.12 L490.8,93.47 L493.2,92.85 L495.6,92.27 L497.9,91.72 L500.3,91.2 L502.7,90.7 L505.1,90.24 L507.4,89.8 L509.8,89.38 L512.2,88.99 L514.6,88.63 L517,88.28 L519.3,87.96 L521.7,87.65 L524.1,87.37 L526.5,87.1 L528.8,86.85 L531.2,86.62 L533.6,86.4 L536,86.19 L538.4,86 L540.7,85.83 L543.1,85.66 L545.5,85.51 L547.9,85.36 L550.2,85.23 L552.6,85.11 L555,85 L557.4,84.89 L559.8,84.79 " fill="none"/></g>
<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.58,341 L88.96,341 L91.33,341 L93.71,341 L96.09,341 L98.47,341 L100.8,341 L103.2,341 L105.6,341 L108,341 L110.4,341 L112.7,341 L115.1,341 L117.5,341 L119.9,341 L122.2,341 L124.6,341 L127,341 L129.4,341 L131.8,341 L134.1,341 L136.5,341 L138.9,341 L141.3,341 L143.6,341 L146,341 L148.4,341 L150.8,341 L153.2,341 L155.5,341 L157.9,341 L160.3,341 L162.7,341 L165,341 L167.4,341 L169.8,341 L172.2,341 L174.6,340.9 L176.9,340.9 L179.3,340.9 L181.7,340.9 L184.1,340.9 L186.4,340.9 L188.8,340.9 L191.2,340.9 L193.6,340.8 L196,340.8 L198.3,340.8 L200.7,340.7 L203.1,340.7 L205.5,340.7 L207.8,340.6 L210.2,340.6 L212.6,340.5 L215,340.4 L217.4,340.4 L219.7,340.3 L222.1,340.2 L224.5,340.1 L226.9,340 L229.2,339.9 L231.6,339.7 L234,339.6 L236.4,339.4 L238.8,339.2 L241.1,339 L243.5,338.8 L245.9,338.5 L248.3,338.3 L250.6,338 L253,337.6 L255.4,337.3 L257.8,336.9 L260.2,336.5 L262.5,336 L264.9,335.5 L267.3,335 L269.7,334.4 L272,333.8 L274.4,333.2 L276.8,332.4 L279.2,331.7 L281.6,330.9 L283.9,330 L286.3,329 L288.7,328 L291.1,327 L293.4,325.8 L295.8,324.6 L298.2,323.4 L300.6,322 L303,320.6 L305.3,319.1 L307.7,317.5 L310.1,315.9 L312.5,314.1 L314.8,312.3 L317.2,310.4 L319.6,308.4 L322,306.4 L324.4,304.2 L326.7,301.9 L329.1,299.6 L331.5,297.2 L333.9,294.7 L336.2,292.1 L338.6,289.4 L341,286.7 L343.4,283.8 L345.8,280.9 L348.1,277.9 L350.5,274.9 L352.9,271.7 L355.3,268.5 L357.6,265.2 L360,261.9 L362.4,258.5 L364.8,255.1 L367.2,251.6 L369.5,248.1 L371.9,244.5 L374.3,240.9 L376.7,237.2 L379,233.5 L381.4,229.8 L383.8,226.1 L386.2,222.4 L388.6,218.7 L390.9,214.9 L393.3,211.2 L395.7,207.5 L398.1,203.8 L400.4,200.1 L402.8,196.4 L405.2,192.8 L407.6,189.2 L410,185.6 L412.3,182.1 L414.7,178.6 L417.1,175.1 L419.5,171.7 L421.8,168.4 L424.2,165.1 L426.6,161.9 L429,158.8 L431.4,155.7 L433.7,152.7 L436.1,149.7 L438.5,146.8 L440.9,144 L443.2,141.3 L445.6,138.7 L448,136.1 L450.4,133.6 L452.8,131.2 L455.1,128.9 L457.5,126.6 L459.9,124.4 L462.3,122.3 L464.6,120.3 L467,118.3 L469.4,116.5 L471.8,114.7 L474.2,113 L476.5,111.3 L478.9,109.7 L481.3,108.2 L483.7,106.8 L486,105.4 L488.4,104.1 L490.8,102.8 L493.2,101.7 L495.6,100.5 L497.9,99.46 L500.3,98.45 L502.7,97.49 L505.1,96.58 L507.4,95.72 L509.8,94.91 L512.2,94.15 L514.6,93.43 L517,92.75 L519.3,92.12 L521.7,91.52 L524.1,90.95 L526.5,90.43 L528.8,89.93 L531.2,89.47 L533.6,89.04 L536,88.64 L538.4,88.26 L540.7,87.91 L543.1,87.58 L545.5,87.27 L547.9,86.99 L550.2,86.73 L552.6,86.48 L555,86.26 L557.4,86.05 L559.8,85.85 " fill="none"/></g>
<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.58,341 L88.96,341 L91.33,341 L93.71,341 L96.09,341 L98.47,341 L100.8,341 L103.2,341 L105.6,341 L108,341 L110.4,341 L112.7,341 L115.1,341 L117.5,341 L119.9,341 L122.2,341 L124.6,341 L127,341 L129.4,341 L131.8,341 L134.1,341 L136.5,341 L138.9,341 L141.3,341 L143.6,341 L146,341 L148.4,341 L150.8,341 L153.2,341 L155.5,341 L157.9,341 L160.3,341 L162.7,341 L165,341 L167.4,341 L169.8,341 L172.2,341 L174.6,341 L176.9,341 L179.3,341 L181.7,341 L184.1,341 L186.4,341 L188.8,341 L191.2,341 L193.6,341 L196,341 L198.3,341 L200.7,341 L203.1,341 L205.5,341 L207.8,341 L210.2,341 L212.6,341 L215,341 L217.4,341 L219.7,341 L222.1,341 L224.5,341 L226.9,341 L229.2,341 L231.6,341 L234,341 L236.4,341 L238.8,341 L241.1,341 L243.5,341 L245.9,341 L248.3,341 L250.6,341 L253,341 L255.4,341 L257.8,341 L260.2,341 L262.5,341 L264.9,341 L267.3,341 L269.7,341 L272,341 L274.4,341 L276.8,341 L279.2,341 L281.6,341 L283.9,341 L286.3,341 L288.7,341 L291.1,341 L293.4,341 L295.8,341 L298.2,340.9 L300.6,340.9 L303,340.9 L305.3,340.8 L307.7,340.7 L310.1,340.6 L312.5,340.4 L314.8,340.2 L317.2,339.9 L319.6,339.6 L322,339.1 L324.4,338.6 L326.7,337.9 L329.1,337 L331.5,336 L333.9,334.8 L336.2,333.3 L338.6,331.6 L341,329.7 L343.4,327.5 L345.8,325 L348.1,322.2 L350.5,319.1 L352.9,315.7 L355.3,312 L357.6,308.1 L360,303.9 L362.4,299.5 L364.8,294.9 L367.2,290.1 L369.5,285.2 L371.9,280.1 L374.3,274.9 L376.7,269.7 L379,264.4 L381.4,259.1 L383.8,253.7 L386.2,248.4 L388.6,243.1 L390.9,237.8 L393.3,232.6 L395.7,227.5 L398.1,222.4 L400.4,217.4 L402.8,212.5 L405.2,207.7 L407.6,203 L410,198.4 L412.3,193.8 L414.7,189.4 L417.1,185.1 L419.5,180.9 L421.8,176.8 L424.2,172.9 L426.6,169 L429,165.2 L431.4,161.6 L433.7,158 L436.1,154.6 L438.5,151.3 L440.9,148.1 L443.2,145 L445.6,142 L448,139.1 L450.4,136.3 L452.8,133.6 L455.1,131 L457.5,128.5 L459.9,126.2 L462.3,123.9 L464.6,121.7 L467,119.6 L469.4,117.6 L471.8,115.7 L474.2,113.8 L476.5,112.1 L478.9,110.4 L481.3,108.8 L483.7,107.3 L486,105.9 L488.4,104.5 L490.8,103.2 L493.2,102 L495.6,100.8 L497.9,99.71 L500.3,98.67 L502.7,97.68 L505.1,96.75 L507.4,95.87 L509.8,95.04 L512.2,94.26 L514.6,93.52 L517,92.83 L519.3,92.18 L521.7,91.58 L524.1,91.01 L526.5,90.47 L528.8,89.97 L531.2,89.5 L533.6,89.07 L536,88.66 L538.4,88.28 L540.7,87.92 L543.1,87.59 L545.5,87.29 L547.9,87 L550.2,86.74 L552.6,86.49 L555,86.26 L557.4,86.05 L559.8,85.86 " fill="none"/></g>
<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,341 L86.58,341 L88.96,341 L91.33,341 L93.71,341 L96.09,341 L98.47,341 L100.8,341 L103.2,341 L105.6,341 L108,341 L110.4,341 L112.7,341 L115.1,341 L117.5,341 L119.9,341 L122.2,341 L124.6,341 L127,341 L129.4,341 L131.8,341 L134.1,341 L136.5,341 L138.9,341 L141.3,341 L143.6,341 L146,341 L148.4,341 L150.8,341 L153.2,341 L155.5,341 L157.9,341 L160.3,341 L162.7,341 L165,341 L167.4,341 L169.8,341 L172.2,341 L174.6,341 L176.9,341 L179.3,341 L181.7,341 L184.1,341 L186.4,341 L188.8,341 L191.2,341 L193.6,341 L196,341 L198.3,341 L200.7,341 L203.1,341 L205.5,341 L207.8,341 L210.2,341 L212.6,341 L215,341 L217.4,341 L219.7,341 L222.1,341 L224.5,341 L226.9,341 L229.2,341 L231.6,341 L234,341 L236.4,341 L238.8,341 L241.1,341 L243.5,341 L245.9,341 L248.3,341 L250.6,341 L253,341 L255.4,341 L257.8,341 L260.2,341 L262.5,341 L264.9,341 L267.3,341 L269.7,341 L272,341 L274.4,341 L276.8,341 L279.2,341 L281.6,341 L283.9,341 L286.3,341 L288.7,341 L291.1,341 L293.4,341 L295.8,341 L298.2,341 L300.6,341 L303,341 L305.3,341 L307.7,341 L310.1,341 L312.5,341 L314.8,341 L317.2,341 L319.6,341 L322,341 L324.4,341 L326.7,341 L329.1,341 L331.5,341 L333.9,341 L336.2,341 L338.6,341 L341,340.9 L343.4,340.7 L345.8,339.9 L348.1,338 L350.5,334.8 L352.9,330.3 L355.3,324.9 L357.6,319 L360,313 L362.4,306.9 L364.8,300.9 L367.2,294.9 L369.5,289 L371.9,283.1 L374.3,277.3 L376.7,271.5 L379,265.7 L381.4,260.1 L383.8,254.5 L386.2,248.9 L388.6,243.5 L390.9,238.1 L393.3,232.8 L395.7,227.6 L398.1,222.5 L400.4,217.5 L402.8,212.6 L405.2,207.7 L407.6,203 L410,198.4 L412.3,193.9 L414.7,189.4 L417.1,185.1 L419.5,180.9 L421.8,176.8 L424.2,172.9 L426.6,169 L429,165.2 L431.4,161.6 L433.7,158 L436.1,154.6 L438.5,151.3 L440.9,148.1 L443.2,145 L445.6,142 L448,139.1 L450.4,136.3 L452.8,133.6 L455.1,131 L457.5,128.5 L459.9,126.2 L462.3,123.9 L464.6,121.7 L467,119.6 L469.4,117.6 L471.8,115.7 L474.2,113.8 L476.5,112.1 L478.9,110.4 L481.3,108.8 L483.7,107.3 L486,105.9 L488.4,104.5 L490.8,103.2 L493.2,102 L495.6,100.8 L497.9,99.71 L500.3,98.67 L502.7,97.68 L505.1,96.75 L507.4,95.87 L509.8,95.04 L512.2,94.26 L514.6,93.52 L517,92.83 L519.3,92.18 L521.7,91.58 L524.1,91.01 L526.5,90.47 L528.8,89.97 L531.2,89.5 L533.6,89.07 L536,88.66 L538.4,88.28 L540.7,87.92 L543.1,87.59 L545.5,87.29 L547.9,87 L550.2,86.74 L552.6,86.49 L555,86.26 L557.4,86.05 L559.8,85.86 " fill="none"/></g>
<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,340.8 L86.58,340.7 L88.96,340.7 L91.33,340.7 L93.71,340.6 L96.09,340.6 L98.47,340.6 L100.8,340.5 L103.2,340.5 L105.6,340.4 L108,340.4 L110.4,340.3 L112.7,340.2 L115.1,340.1 L117.5,340 L119.9,340 L122.2,339.9 L124.6,339.7 L127,339.6 L129.4,339.5 L131.8,339.3 L134.1,339.2 L136.5,339 L138.9,338.8 L141.3,338.6 L143.6,338.4 L146,338.2 L148.4,337.9 L150.8,337.7 L153.2,337.4 L155.5,337.1 L157.9,336.7 L160.3,336.4 L162.7,336 L165,335.6 L167.4,335.1 L169.8,334.7 L172.2,334.2 L174.6,333.6 L176.9,333 L179.3,332.4 L181.7,331.8 L184.1,331.1 L186.4,330.3 L188.8,329.5 L191.2,328.7 L193.6,327.8 L196,326.9 L198.3,325.9 L200.7,324.8 L203.1,323.7 L205.5,322.5 L207.8,321.3 L210.2,320 L212.6,318.6 L215,317.1 L217.4,315.6 L219.7,314 L222.1,312.3 L224.5,310.6 L226.9,308.7 L229.2,306.8 L231.6,304.8 L234,302.6 L236.4,300.4 L238.8,298.1 L241.1,295.8 L243.5,293.3 L245.9,290.7 L248.3,288 L250.6,285.2 L253,282.3 L255.4,279.3 L257.8,276.2 L260.2,273 L262.5,269.7 L264.9,266.4 L267.3,262.9 L269.7,259.3 L272,255.6 L274.4,251.8 L276.8,247.9 L279.2,244 L281.6,239.9 L283.9,235.8 L286.3,231.6 L288.7,227.3 L291.1,223 L293.4,218.6 L295.8,214.2 L298.2,209.7 L300.6,205.2 L303,200.7 L305.3,196.2 L307.7,191.6 L310.1,187.1 L312.5,182.6 L314.8,178.1 L317.2,173.6 L319.6,169.2 L322,164.8 L324.4,160.5 L326.7,156.2 L329.1,152.1 L331.5,148 L333.9,144.1 L336.2,140.3 L338.6,136.5 L341,132.9 L343.4,129.5 L345.8,126.1 L348.1,123 L350.5,119.9 L352.9,117 L355.3,114.3 L357.6,111.7 L360,109.2 L362.4,106.9 L364.8,104.7 L367.2,102.7 L369.5,100.9 L371.9,99.13 L374.3,97.53 L376.7,96.06 L379,94.71 L381.4,93.48 L383.8,92.35 L386.2,91.34 L388.6,90.41 L390.9,89.59 L393.3,88.84 L395.7,88.18 L398.1,87.59 L400.4,87.06 L402.8,86.6 L405.2,86.19 L407.6,85.84 L410,85.53 L412.3,85.25 L414.7,85.02 L417.1,84.82 L419.5,84.64 L421.8,84.49 L424.2,84.37 L426.6,84.26 L429,84.17 L431.4,84.09 L433.7,84.02 L436.1,83.97 L438.5,83.93 L440.9,83.89 L443.2,83.86 L445.6,83.83 L448,83.81 L450.4,83.79 L452.8,83.78 L455.1,83.77 L457.5,83.76 L459.9,83.75 L462.3,83.75 L464.6,83.74 L467,83.74 L469.4,83.74 L471.8,83.73 L474.2,83.73 L476.5,83.73 L478.9,83.73 L481.3,83.73 L483.7,83.73 L486,83.73 L488.4,83.73 L490.8,83.73 L493.2,83.73 L495.6,83.73 L497.9,83.73 L500.3,83.73 L502.7,83.73 L505.1,83.73 L507.4,83.73 L509.8,83.73 L512.2,83.73 L514.6,83.73 L517,83.73 L519.3,83.73 L521.7,83.73 L524.1,83.73 L526.5,83.73 L528.8,83.73 L531.2,83.73 L533.6,83.73 L536,83.73 L538.4,83.73 L540.7,83.73 L543.1,83.73 L545.5,83.73 L547.9,83.73 L550.2,83.73 L552.6,83.73 L555,83.73 L557.4,83.73 L559.8,83.73 " fill="none"/></g>
<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,338.9 L86.58,338.5 L88.96,338 L91.33,337.5 L93.71,336.8 L96.09,336.1 L98.47,335.3 L100.8,334.3 L103.2,333.2 L105.6,332 L108,330.6 L110.4,329 L112.7,327.2 L115.1,325.3 L117.5,323.1 L119.9,320.6 L122.2,318 L124.6,315 L127,311.8 L129.4,308.3 L131.8,304.4 L134.1,300.3 L136.5,295.9 L138.9,291.1 L141.3,286.1 L143.6,280.7 L146,275 L148.4,269 L150.8,262.8 L153.2,256.3 L155.5,249.6 L157.9,242.7 L160.3,235.6 L162.7,228.3 L165,220.9 L167.4,213.5 L169.8,206 L172.2,198.6 L174.6,191.2 L176.9,183.9 L179.3,176.7 L181.7,169.6 L184.1,162.8 L186.4,156.2 L188.8,149.9 L191.2,143.8 L193.6,138.1 L196,132.6 L198.3,127.5 L200.7,122.8 L203.1,118.4 L205.5,114.3 L207.8,110.6 L210.2,107.2 L212.6,104.1 L215,101.4 L217.4,98.88 L219.7,96.69 L222.1,94.75 L224.5,93.06 L226.9,91.57 L229.2,90.29 L231.6,89.19 L234,88.24 L236.4,87.44 L238.8,86.76 L241.1,86.19 L243.5,85.72 L245.9,85.33 L248.3,85 L250.6,84.74 L253,84.53 L255.4,84.35 L257.8,84.22 L260.2,84.11 L262.5,84.02 L264.9,83.95 L267.3,83.9 L269.7,83.85 L272,83.82 L274.4,83.8 L276.8,83.78 L279.2,83.77 L281.6,83.76 L283.9,83.75 L286.3,83.74 L288.7,83.74 L291.1,83.73 L293.4,83.73 L295.8,83.73 L298.2,83.73 L300.6,83.73 L303,83.73 L305.3,83.73 L307.7,83.73 L310.1,83.73 L312.5,83.73 L314.8,83.73 L317.2,83.73 L319.6,83.73 L322,83.73 L324.4,83.73 L326.7,83.73 L329.1,83.73 L331.5,83.73 L333.9,83.73 L336.2,83.73 L338.6,83.73 L341,83.73 L343.4,83.73 L345.8,83.73 L348.1,83.73 L350.5,83.73 L352.9,83.73 L355.3,83.73 L357.6,83.73 L360,83.73 L362.4,83.73 L364.8,83.73 L367.2,83.73 L369.5,83.73 L371.9,83.73 L374.3,83.73 L376.7,83.73 L379,83.73 L381.4,83.73 L383.8,83.73 L386.2,83.73 L388.6,83.73 L390.9,83.73 L393.3,83.73 L395.7,83.73 L398.1,83.73 L400.4,83.73 L402.8,83.73 L405.2,83.73 L407.6,83.73 L410,83.73 L412.3,83.73 L414.7,83.73 L417.1,83.73 L419.5,83.73 L421.8,83.73 L424.2,83.73 L426.6,83.73 L429,83.73 L431.4,83.73 L433.7,83.73 L436.1,83.73 L438.5,83.73 L440.9,83.73 L443.2,83.73 L445.6,83.73 L448,83.73 L450.4,83.73 L452.8,83.73 L455.1,83.73 L457.5,83.73 L459.9,83.73 L462.3,83.73 L464.6,83.73 L467,83.73 L469.4,83.73 L471.8,83.73 L474.2,83.73 L476.5,83.73 L478.9,83.73 L481.3,83.73 L483.7,83.73 L486,83.73 L488.4,83.73 L490.8,83.73 L493.2,83.73 L495.6,83.73 L497.9,83.73 L500.3,83.73 L502.7,83.73 L505.1,83.73 L507.4,83.73 L509.8,83.73 L512.2,83.73 L514.6,83.73 L517,83.73 L519.3,83.73 L521.7,83.73 L524.1,83.73 L526.5,83.73 L528.8,83.73 L531.2,83.73 L533.6,83.73 L536,83.73 L538.4,83.73 L540.7,83.73 L543.1,83.73 L545.5,83.73 L547.9,83.73 L550.2,83.73 L552.6,83.73 L555,83.73 L557.4,83.73 L559.8,83.73 " fill="none"/></g>
</g>
<g id="plotPoints" clip-path="url(#plot_window)"></g>
<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="573.8" y="58" width="150.2" height="195"/><rect x="573.8" y="58" width="150.2" height="195"/></g>
<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="88" x2="603.8" y2="88"/></g>
<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="118" x2="603.8" y2="118"/></g>
<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="148" x2="603.8" y2="148"/></g>
<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="178" x2="603.8" y2="178"/></g>
<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="208" x2="603.8" y2="208"/></g>
<g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="238" x2="603.8" y2="238"/></g>
</g>
<g id="legendText">
<text x="611.3" y="88" font-size="15" font-family="Verdana">{0,1,0}</text>
<text x="611.3" y="118" font-size="15" font-family="Verdana">{0,1,1}</text>
<text x="611.3" y="148" font-size="15" font-family="Verdana">{0,1,4}</text>
<text x="611.3" y="178" font-size="15" font-family="Verdana">{0,1,20}</text>
<text x="611.3" y="208" font-size="15" font-family="Verdana">{0,1,-2}</text>
<text x="611.3" y="238" font-size="15" font-family="Verdana">{-2,0.5,-1}</text></g>
<g id="title">
<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Skew Normal Distribution CDF</text></g>
<g id="plotXValues"></g>
<g id="plotYValues"></g>
</svg>

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

View File

@@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="750" height ="400" version="1.1"
xmlns:svg ="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://web.resource.org/cc/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns ="http://www.w3.org/2000/svg"
>
<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
<!-- Use, modification and distribution of Boost.Plot subject to 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) -->
<clipPath id="plot_window"><rect x="85.2" y="59" width="473.6" height="281"/></clipPath>
<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="475.6" height="283"/></g>
<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="349.1" y1="58" x2="349.1" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="559.8" y2="341"/><line x1="79.2" y1="341" x2="559.8" y2="341"/></g>
<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,335.7 L84.2,335.7 M82.2,330.4 L84.2,330.4 M82.2,325.1 L84.2,325.1 M82.2,319.9 L84.2,319.9 M82.2,309.3 L84.2,309.3 M82.2,304 L84.2,304 M82.2,298.7 L84.2,298.7 M82.2,293.4 L84.2,293.4 M82.2,282.9 L84.2,282.9 M82.2,277.6 L84.2,277.6 M82.2,272.3 L84.2,272.3 M82.2,267 L84.2,267 M82.2,256.5 L84.2,256.5 M82.2,251.2 L84.2,251.2 M82.2,245.9 L84.2,245.9 M82.2,240.6 L84.2,240.6 M82.2,230 L84.2,230 M82.2,224.8 L84.2,224.8 M82.2,219.5 L84.2,219.5 M82.2,214.2 L84.2,214.2 M82.2,203.6 L84.2,203.6 M82.2,198.3 L84.2,198.3 M82.2,193 L84.2,193 M82.2,187.8 L84.2,187.8 M82.2,177.2 L84.2,177.2 M82.2,171.9 L84.2,171.9 M82.2,166.6 L84.2,166.6 M82.2,161.3 L84.2,161.3 M82.2,150.8 L84.2,150.8 M82.2,145.5 L84.2,145.5 M82.2,140.2 L84.2,140.2 M82.2,134.9 L84.2,134.9 M82.2,124.4 L84.2,124.4 M82.2,119.1 L84.2,119.1 M82.2,113.8 L84.2,113.8 M82.2,108.5 L84.2,108.5 M82.2,97.94 L84.2,97.94 M82.2,92.65 L84.2,92.65 M82.2,87.37 L84.2,87.37 M82.2,82.09 L84.2,82.09 M82.2,71.52 L84.2,71.52 M82.2,66.23 L84.2,66.23 M82.2,60.95 L84.2,60.95 M82.2,341 L84.2,341 " fill="none"/></g>
<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M365.1,341 L365.1,343 M381,341 L381,343 M397,341 L397,343 M412.9,341 L412.9,343 M444.8,341 L444.8,343 M460.8,341 L460.8,343 M476.8,341 L476.8,343 M492.7,341 L492.7,343 M524.6,341 L524.6,343 M540.6,341 L540.6,343 M556.5,341 L556.5,343 M333.1,341 L333.1,343 M317.2,341 L317.2,343 M301.2,341 L301.2,343 M285.3,341 L285.3,343 M253.4,341 L253.4,343 M237.4,341 L237.4,343 M221.4,341 L221.4,343 M205.5,341 L205.5,343 M173.6,341 L173.6,343 M157.6,341 L157.6,343 M141.7,341 L141.7,343 M125.7,341 L125.7,343 M93.78,341 L93.78,343 " fill="none"/></g>
<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,314.6 L84.2,314.6 M79.2,288.2 L84.2,288.2 M79.2,261.7 L84.2,261.7 M79.2,235.3 L84.2,235.3 M79.2,208.9 L84.2,208.9 M79.2,182.5 L84.2,182.5 M79.2,156.1 L84.2,156.1 M79.2,129.6 L84.2,129.6 M79.2,103.2 L84.2,103.2 M79.2,76.8 L84.2,76.8 M79.2,341 L84.2,341 " fill="none"/></g>
<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M349.1,341 L349.1,346 M428.9,341 L428.9,346 M508.7,341 L508.7,346 M349.1,341 L349.1,346 M269.3,341 L269.3,346 M189.5,341 L189.5,346 M109.7,341 L109.7,346 " fill="none"/></g>
<g id="xTicksValues">
<text x="349.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
<text x="428.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
<text x="508.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
<text x="349.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
<text x="269.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
<text x="189.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text>
<text x="109.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-3</text></g>
<g id="yTicksValues">
<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
<text x="73.2" y="317" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
<text x="73.2" y="290.6" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
<text x="73.2" y="264.1" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
<text x="73.2" y="237.7" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
<text x="73.2" y="211.3" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
<text x="73.2" y="184.9" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
<text x="73.2" y="158.5" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
<text x="73.2" y="132" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
<text x="73.2" y="105.6" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
<text x="73.2" y="79.2" text-anchor="end" font-size="12" font-family="Verdana">1</text>
<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
<g id="yLabel">
<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
<g id="xLabel">
<text x="322" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,340.6 L86.58,340.5 L88.96,340.5 L91.33,340.4 L93.71,340.4 L96.09,340.3 L98.47,340.2 L100.8,340.2 L103.2,340.1 L105.6,340 L108,339.9 L110.4,339.8 L112.7,339.7 L115.1,339.6 L117.5,339.4 L119.9,339.3 L122.2,339.1 L124.6,339 L127,338.8 L129.4,338.6 L131.8,338.4 L134.1,338.2 L136.5,338 L138.9,337.7 L141.3,337.5 L143.6,337.2 L146,336.9 L148.4,336.5 L150.8,336.2 L153.2,335.8 L155.5,335.4 L157.9,335 L160.3,334.6 L162.7,334.1 L165,333.6 L167.4,333.1 L169.8,332.6 L172.2,332 L174.6,331.4 L176.9,330.7 L179.3,330 L181.7,329.3 L184.1,328.6 L186.4,327.8 L188.8,327 L191.2,326.1 L193.6,325.2 L196,324.3 L198.3,323.3 L200.7,322.3 L203.1,321.2 L205.5,320.2 L207.8,319 L210.2,317.8 L212.6,316.6 L215,315.3 L217.4,314 L219.7,312.7 L222.1,311.3 L224.5,309.9 L226.9,308.4 L229.2,306.9 L231.6,305.3 L234,303.8 L236.4,302.1 L238.8,300.5 L241.1,298.8 L243.5,297.1 L245.9,295.3 L248.3,293.6 L250.6,291.8 L253,290 L255.4,288.1 L257.8,286.3 L260.2,284.4 L262.5,282.5 L264.9,280.6 L267.3,278.7 L269.7,276.8 L272,274.9 L274.4,273 L276.8,271.1 L279.2,269.2 L281.6,267.3 L283.9,265.5 L286.3,263.7 L288.7,261.9 L291.1,260.1 L293.4,258.4 L295.8,256.7 L298.2,255 L300.6,253.4 L303,251.8 L305.3,250.3 L307.7,248.9 L310.1,247.5 L312.5,246.1 L314.8,244.9 L317.2,243.7 L319.6,242.6 L322,241.5 L324.4,240.5 L326.7,239.7 L329.1,238.9 L331.5,238.1 L333.9,237.5 L336.2,237 L338.6,236.5 L341,236.1 L343.4,235.9 L345.8,235.7 L348.1,235.6 L350.5,235.6 L352.9,235.7 L355.3,235.9 L357.6,236.2 L360,236.6 L362.4,237.1 L364.8,237.6 L367.2,238.3 L369.5,239 L371.9,239.8 L374.3,240.7 L376.7,241.7 L379,242.8 L381.4,243.9 L383.8,245.1 L386.2,246.4 L388.6,247.7 L390.9,249.1 L393.3,250.6 L395.7,252.1 L398.1,253.7 L400.4,255.3 L402.8,257 L405.2,258.7 L407.6,260.4 L410,262.2 L412.3,264 L414.7,265.8 L417.1,267.7 L419.5,269.6 L421.8,271.4 L424.2,273.3 L426.6,275.2 L429,277.1 L431.4,279.1 L433.7,281 L436.1,282.8 L438.5,284.7 L440.9,286.6 L443.2,288.5 L445.6,290.3 L448,292.1 L450.4,293.9 L452.8,295.7 L455.1,297.4 L457.5,299.1 L459.9,300.8 L462.3,302.5 L464.6,304.1 L467,305.6 L469.4,307.2 L471.8,308.7 L474.2,310.1 L476.5,311.6 L478.9,312.9 L481.3,314.3 L483.7,315.6 L486,316.8 L488.4,318.1 L490.8,319.2 L493.2,320.4 L495.6,321.4 L497.9,322.5 L500.3,323.5 L502.7,324.5 L505.1,325.4 L507.4,326.3 L509.8,327.1 L512.2,328 L514.6,328.7 L517,329.5 L519.3,330.2 L521.7,330.8 L524.1,331.5 L526.5,332.1 L528.8,332.7 L531.2,333.2 L533.6,333.7 L536,334.2 L538.4,334.7 L540.7,335.1 L543.1,335.5 L545.5,335.9 L547.9,336.3 L550.2,336.6 L552.6,336.9 L555,337.2 L557.4,337.5 L559.8,337.8 " fill="none"/></g>
<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.58,341 L88.96,341 L91.33,341 L93.71,341 L96.09,341 L98.47,341 L100.8,341 L103.2,341 L105.6,341 L108,341 L110.4,341 L112.7,341 L115.1,341 L117.5,341 L119.9,341 L122.2,341 L124.6,341 L127,341 L129.4,341 L131.8,341 L134.1,341 L136.5,341 L138.9,341 L141.3,341 L143.6,341 L146,341 L148.4,340.9 L150.8,340.9 L153.2,340.9 L155.5,340.9 L157.9,340.9 L160.3,340.9 L162.7,340.9 L165,340.8 L167.4,340.8 L169.8,340.8 L172.2,340.8 L174.6,340.7 L176.9,340.7 L179.3,340.6 L181.7,340.6 L184.1,340.5 L186.4,340.5 L188.8,340.4 L191.2,340.3 L193.6,340.2 L196,340.1 L198.3,340 L200.7,339.8 L203.1,339.7 L205.5,339.5 L207.8,339.3 L210.2,339.1 L212.6,338.9 L215,338.6 L217.4,338.3 L219.7,338 L222.1,337.7 L224.5,337.3 L226.9,336.9 L229.2,336.5 L231.6,336 L234,335.4 L236.4,334.9 L238.8,334.2 L241.1,333.6 L243.5,332.8 L245.9,332.1 L248.3,331.2 L250.6,330.3 L253,329.3 L255.4,328.3 L257.8,327.2 L260.2,326 L262.5,324.7 L264.9,323.4 L267.3,322 L269.7,320.5 L272,318.9 L274.4,317.2 L276.8,315.5 L279.2,313.7 L281.6,311.7 L283.9,309.7 L286.3,307.6 L288.7,305.5 L291.1,303.2 L293.4,300.9 L295.8,298.5 L298.2,296 L300.6,293.4 L303,290.8 L305.3,288.1 L307.7,285.4 L310.1,282.6 L312.5,279.7 L314.8,276.8 L317.2,273.9 L319.6,271 L322,268 L324.4,265 L326.7,262 L329.1,259.1 L331.5,256.1 L333.9,253.2 L336.2,250.3 L338.6,247.4 L341,244.6 L343.4,241.9 L345.8,239.2 L348.1,236.6 L350.5,234.1 L352.9,231.7 L355.3,229.4 L357.6,227.3 L360,225.2 L362.4,223.3 L364.8,221.5 L367.2,219.9 L369.5,218.4 L371.9,217.1 L374.3,215.9 L376.7,214.9 L379,214 L381.4,213.4 L383.8,212.9 L386.2,212.5 L388.6,212.4 L390.9,212.4 L393.3,212.6 L395.7,212.9 L398.1,213.5 L400.4,214.2 L402.8,215 L405.2,216 L407.6,217.2 L410,218.5 L412.3,220 L414.7,221.6 L417.1,223.3 L419.5,225.1 L421.8,227.1 L424.2,229.1 L426.6,231.3 L429,233.5 L431.4,235.8 L433.7,238.2 L436.1,240.7 L438.5,243.2 L440.9,245.8 L443.2,248.4 L445.6,251.1 L448,253.7 L450.4,256.4 L452.8,259.1 L455.1,261.8 L457.5,264.6 L459.9,267.2 L462.3,269.9 L464.6,272.6 L467,275.2 L469.4,277.8 L471.8,280.4 L474.2,282.9 L476.5,285.4 L478.9,287.8 L481.3,290.2 L483.7,292.5 L486,294.8 L488.4,297 L490.8,299.1 L493.2,301.2 L495.6,303.2 L497.9,305.1 L500.3,307 L502.7,308.8 L505.1,310.6 L507.4,312.3 L509.8,313.9 L512.2,315.4 L514.6,316.9 L517,318.4 L519.3,319.7 L521.7,321 L524.1,322.2 L526.5,323.4 L528.8,324.5 L531.2,325.6 L533.6,326.6 L536,327.6 L538.4,328.5 L540.7,329.3 L543.1,330.1 L545.5,330.9 L547.9,331.6 L550.2,332.3 L552.6,332.9 L555,333.5 L557.4,334 L559.8,334.6 " fill="none"/></g>
<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.58,341 L88.96,341 L91.33,341 L93.71,341 L96.09,341 L98.47,341 L100.8,341 L103.2,341 L105.6,341 L108,341 L110.4,341 L112.7,341 L115.1,341 L117.5,341 L119.9,341 L122.2,341 L124.6,341 L127,341 L129.4,341 L131.8,341 L134.1,341 L136.5,341 L138.9,341 L141.3,341 L143.6,341 L146,341 L148.4,341 L150.8,341 L153.2,341 L155.5,341 L157.9,341 L160.3,341 L162.7,341 L165,341 L167.4,341 L169.8,341 L172.2,341 L174.6,341 L176.9,341 L179.3,341 L181.7,341 L184.1,341 L186.4,341 L188.8,341 L191.2,341 L193.6,341 L196,341 L198.3,341 L200.7,341 L203.1,341 L205.5,341 L207.8,341 L210.2,341 L212.6,341 L215,341 L217.4,341 L219.7,341 L222.1,341 L224.5,341 L226.9,341 L229.2,341 L231.6,341 L234,341 L236.4,341 L238.8,341 L241.1,341 L243.5,341 L245.9,341 L248.3,341 L250.6,341 L253,341 L255.4,341 L257.8,341 L260.2,341 L262.5,341 L264.9,341 L267.3,341 L269.7,341 L272,341 L274.4,341 L276.8,341 L279.2,341 L281.6,340.9 L283.9,340.9 L286.3,340.9 L288.7,340.8 L291.1,340.7 L293.4,340.6 L295.8,340.4 L298.2,340.1 L300.6,339.7 L303,339.2 L305.3,338.4 L307.7,337.5 L310.1,336.3 L312.5,334.7 L314.8,332.7 L317.2,330.3 L319.6,327.3 L322,323.7 L324.4,319.4 L326.7,314.4 L329.1,308.7 L331.5,302.2 L333.9,294.9 L336.2,287 L338.6,278.4 L341,269.2 L343.4,259.6 L345.8,249.7 L348.1,239.7 L350.5,229.7 L352.9,219.9 L355.3,210.4 L357.6,201.4 L360,193.1 L362.4,185.6 L364.8,178.9 L367.2,173.1 L369.5,168.2 L371.9,164.2 L374.3,161.2 L376.7,159 L379,157.6 L381.4,157 L383.8,157.1 L386.2,157.7 L388.6,158.9 L390.9,160.6 L393.3,162.6 L395.7,165 L398.1,167.6 L400.4,170.5 L402.8,173.6 L405.2,176.8 L407.6,180.1 L410,183.6 L412.3,187.1 L414.7,190.8 L417.1,194.4 L419.5,198.2 L421.8,201.9 L424.2,205.7 L426.6,209.5 L429,213.3 L431.4,217.1 L433.7,220.9 L436.1,224.7 L438.5,228.5 L440.9,232.2 L443.2,235.9 L445.6,239.6 L448,243.2 L450.4,246.8 L452.8,250.4 L455.1,253.8 L457.5,257.3 L459.9,260.6 L462.3,263.9 L464.6,267.1 L467,270.3 L469.4,273.4 L471.8,276.4 L474.2,279.3 L476.5,282.1 L478.9,284.9 L481.3,287.6 L483.7,290.2 L486,292.7 L488.4,295.1 L490.8,297.5 L493.2,299.7 L495.6,301.9 L497.9,304 L500.3,306 L502.7,307.9 L505.1,309.8 L507.4,311.6 L509.8,313.3 L512.2,314.9 L514.6,316.5 L517,317.9 L519.3,319.4 L521.7,320.7 L524.1,322 L526.5,323.2 L528.8,324.3 L531.2,325.4 L533.6,326.5 L536,327.4 L538.4,328.4 L540.7,329.2 L543.1,330 L545.5,330.8 L547.9,331.5 L550.2,332.2 L552.6,332.9 L555,333.5 L557.4,334 L559.8,334.5 " fill="none"/></g>
<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,341 L86.58,341 L88.96,341 L91.33,341 L93.71,341 L96.09,341 L98.47,341 L100.8,341 L103.2,341 L105.6,341 L108,341 L110.4,341 L112.7,341 L115.1,341 L117.5,341 L119.9,341 L122.2,341 L124.6,341 L127,341 L129.4,341 L131.8,341 L134.1,341 L136.5,341 L138.9,341 L141.3,341 L143.6,341 L146,341 L148.4,341 L150.8,341 L153.2,341 L155.5,341 L157.9,341 L160.3,341 L162.7,341 L165,341 L167.4,341 L169.8,341 L172.2,341 L174.6,341 L176.9,341 L179.3,341 L181.7,341 L184.1,341 L186.4,341 L188.8,341 L191.2,341 L193.6,341 L196,341 L198.3,341 L200.7,341 L203.1,341 L205.5,341 L207.8,341 L210.2,341 L212.6,341 L215,341 L217.4,341 L219.7,341 L222.1,341 L224.5,341 L226.9,341 L229.2,341 L231.6,341 L234,341 L236.4,341 L238.8,341 L241.1,341 L243.5,341 L245.9,341 L248.3,341 L250.6,341 L253,341 L255.4,341 L257.8,341 L260.2,341 L262.5,341 L264.9,341 L267.3,341 L269.7,341 L272,341 L274.4,341 L276.8,341 L279.2,341 L281.6,341 L283.9,341 L286.3,341 L288.7,341 L291.1,341 L293.4,341 L295.8,341 L298.2,341 L300.6,341 L303,341 L305.3,341 L307.7,341 L310.1,341 L312.5,341 L314.8,341 L317.2,341 L319.6,341 L322,341 L324.4,341 L326.7,341 L329.1,341 L331.5,341 L333.9,341 L336.2,340.9 L338.6,340.1 L341,336.6 L343.4,325.1 L345.8,298.7 L348.1,255.8 L350.5,206.5 L352.9,166.5 L355.3,143.7 L357.6,134.8 L360,132.8 L362.4,133.2 L364.8,134.2 L367.2,135.5 L369.5,137 L371.9,138.6 L374.3,140.4 L376.7,142.4 L379,144.5 L381.4,146.8 L383.8,149.2 L386.2,151.8 L388.6,154.5 L390.9,157.3 L393.3,160.2 L395.7,163.2 L398.1,166.4 L400.4,169.6 L402.8,173 L405.2,176.4 L407.6,179.9 L410,183.4 L412.3,187 L414.7,190.7 L417.1,194.4 L419.5,198.1 L421.8,201.9 L424.2,205.7 L426.6,209.5 L429,213.3 L431.4,217.1 L433.7,220.9 L436.1,224.7 L438.5,228.5 L440.9,232.2 L443.2,235.9 L445.6,239.6 L448,243.2 L450.4,246.8 L452.8,250.4 L455.1,253.8 L457.5,257.3 L459.9,260.6 L462.3,263.9 L464.6,267.1 L467,270.3 L469.4,273.4 L471.8,276.4 L474.2,279.3 L476.5,282.1 L478.9,284.9 L481.3,287.6 L483.7,290.2 L486,292.7 L488.4,295.1 L490.8,297.5 L493.2,299.7 L495.6,301.9 L497.9,304 L500.3,306 L502.7,307.9 L505.1,309.8 L507.4,311.6 L509.8,313.3 L512.2,314.9 L514.6,316.5 L517,317.9 L519.3,319.4 L521.7,320.7 L524.1,322 L526.5,323.2 L528.8,324.3 L531.2,325.4 L533.6,326.5 L536,327.4 L538.4,328.4 L540.7,329.2 L543.1,330 L545.5,330.8 L547.9,331.5 L550.2,332.2 L552.6,332.9 L555,333.5 L557.4,334 L559.8,334.5 " fill="none"/></g>
<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,340.1 L86.58,340.1 L88.96,340 L91.33,339.9 L93.71,339.7 L96.09,339.6 L98.47,339.5 L100.8,339.3 L103.2,339.2 L105.6,339 L108,338.8 L110.4,338.6 L112.7,338.4 L115.1,338.1 L117.5,337.9 L119.9,337.6 L122.2,337.3 L124.6,337 L127,336.6 L129.4,336.2 L131.8,335.8 L134.1,335.4 L136.5,334.9 L138.9,334.4 L141.3,333.9 L143.6,333.3 L146,332.7 L148.4,332.1 L150.8,331.4 L153.2,330.7 L155.5,329.9 L157.9,329.1 L160.3,328.2 L162.7,327.3 L165,326.3 L167.4,325.2 L169.8,324.1 L172.2,323 L174.6,321.7 L176.9,320.5 L179.3,319.1 L181.7,317.7 L184.1,316.2 L186.4,314.6 L188.8,313 L191.2,311.3 L193.6,309.5 L196,307.6 L198.3,305.6 L200.7,303.6 L203.1,301.5 L205.5,299.3 L207.8,297 L210.2,294.7 L212.6,292.2 L215,289.7 L217.4,287.1 L219.7,284.4 L222.1,281.6 L224.5,278.8 L226.9,275.9 L229.2,272.9 L231.6,269.8 L234,266.7 L236.4,263.5 L238.8,260.2 L241.1,256.9 L243.5,253.5 L245.9,250.1 L248.3,246.7 L250.6,243.2 L253,239.7 L255.4,236.2 L257.8,232.7 L260.2,229.2 L262.5,225.7 L264.9,222.3 L267.3,218.9 L269.7,215.6 L272,212.3 L274.4,209.1 L276.8,206.1 L279.2,203.1 L281.6,200.3 L283.9,197.7 L286.3,195.3 L288.7,193 L291.1,191 L293.4,189.2 L295.8,187.7 L298.2,186.4 L300.6,185.4 L303,184.7 L305.3,184.4 L307.7,184.3 L310.1,184.6 L312.5,185.3 L314.8,186.3 L317.2,187.7 L319.6,189.4 L322,191.4 L324.4,193.8 L326.7,196.6 L329.1,199.7 L331.5,203 L333.9,206.7 L336.2,210.7 L338.6,214.9 L341,219.3 L343.4,223.9 L345.8,228.7 L348.1,233.6 L350.5,238.6 L352.9,243.7 L355.3,248.8 L357.6,254 L360,259.1 L362.4,264.2 L364.8,269.2 L367.2,274.1 L369.5,278.9 L371.9,283.6 L374.3,288.1 L376.7,292.4 L379,296.5 L381.4,300.4 L383.8,304.1 L386.2,307.6 L388.6,310.9 L390.9,314 L393.3,316.8 L395.7,319.4 L398.1,321.8 L400.4,324 L402.8,326 L405.2,327.9 L407.6,329.5 L410,331 L412.3,332.3 L414.7,333.5 L417.1,334.5 L419.5,335.4 L421.8,336.3 L424.2,337 L426.6,337.6 L429,338.1 L431.4,338.6 L433.7,339 L436.1,339.3 L438.5,339.6 L440.9,339.8 L443.2,340 L445.6,340.2 L448,340.4 L450.4,340.5 L452.8,340.6 L455.1,340.7 L457.5,340.7 L459.9,340.8 L462.3,340.8 L464.6,340.9 L467,340.9 L469.4,340.9 L471.8,340.9 L474.2,340.9 L476.5,341 L478.9,341 L481.3,341 L483.7,341 L486,341 L488.4,341 L490.8,341 L493.2,341 L495.6,341 L497.9,341 L500.3,341 L502.7,341 L505.1,341 L507.4,341 L509.8,341 L512.2,341 L514.6,341 L517,341 L519.3,341 L521.7,341 L524.1,341 L526.5,341 L528.8,341 L531.2,341 L533.6,341 L536,341 L538.4,341 L540.7,341 L543.1,341 L545.5,341 L547.9,341 L550.2,341 L552.6,341 L555,341 L557.4,341 L559.8,341 " fill="none"/></g>
<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,328.1 L86.58,326 L88.96,323.5 L91.33,320.8 L93.71,317.6 L96.09,314.1 L98.47,310.2 L100.8,305.8 L103.2,301 L105.6,295.7 L108,289.9 L110.4,283.6 L112.7,276.7 L115.1,269.3 L117.5,261.4 L119.9,252.9 L122.2,244 L124.6,234.6 L127,224.8 L129.4,214.6 L131.8,204.2 L134.1,193.5 L136.5,182.7 L138.9,171.9 L141.3,161.1 L143.6,150.6 L146,140.4 L148.4,130.7 L150.8,121.5 L153.2,113.1 L155.5,105.6 L157.9,98.94 L160.3,93.42 L162.7,89.06 L165,85.96 L167.4,84.18 L169.8,83.75 L172.2,84.71 L174.6,87.06 L176.9,90.76 L179.3,95.77 L181.7,102 L184.1,109.4 L186.4,117.9 L188.8,127.3 L191.2,137.4 L193.6,148.2 L196,159.6 L198.3,171.2 L200.7,183.1 L203.1,195 L205.5,206.8 L207.8,218.4 L210.2,229.7 L212.6,240.6 L215,251 L217.4,260.8 L219.7,269.9 L222.1,278.5 L224.5,286.3 L226.9,293.5 L229.2,300 L231.6,305.8 L234,311 L236.4,315.6 L238.8,319.6 L241.1,323.1 L243.5,326.1 L245.9,328.7 L248.3,331 L250.6,332.8 L253,334.4 L255.4,335.7 L257.8,336.8 L260.2,337.6 L262.5,338.3 L264.9,338.9 L267.3,339.4 L269.7,339.8 L272,340 L274.4,340.3 L276.8,340.4 L279.2,340.6 L281.6,340.7 L283.9,340.8 L286.3,340.8 L288.7,340.9 L291.1,340.9 L293.4,340.9 L295.8,341 L298.2,341 L300.6,341 L303,341 L305.3,341 L307.7,341 L310.1,341 L312.5,341 L314.8,341 L317.2,341 L319.6,341 L322,341 L324.4,341 L326.7,341 L329.1,341 L331.5,341 L333.9,341 L336.2,341 L338.6,341 L341,341 L343.4,341 L345.8,341 L348.1,341 L350.5,341 L352.9,341 L355.3,341 L357.6,341 L360,341 L362.4,341 L364.8,341 L367.2,341 L369.5,341 L371.9,341 L374.3,341 L376.7,341 L379,341 L381.4,341 L383.8,341 L386.2,341 L388.6,341 L390.9,341 L393.3,341 L395.7,341 L398.1,341 L400.4,341 L402.8,341 L405.2,341 L407.6,341 L410,341 L412.3,341 L414.7,341 L417.1,341 L419.5,341 L421.8,341 L424.2,341 L426.6,341 L429,341 L431.4,341 L433.7,341 L436.1,341 L438.5,341 L440.9,341 L443.2,341 L445.6,341 L448,341 L450.4,341 L452.8,341 L455.1,341 L457.5,341 L459.9,341 L462.3,341 L464.6,341 L467,341 L469.4,341 L471.8,341 L474.2,341 L476.5,341 L478.9,341 L481.3,341 L483.7,341 L486,341 L488.4,341 L490.8,341 L493.2,341 L495.6,341 L497.9,341 L500.3,341 L502.7,341 L505.1,341 L507.4,341 L509.8,341 L512.2,341 L514.6,341 L517,341 L519.3,341 L521.7,341 L524.1,341 L526.5,341 L528.8,341 L531.2,341 L533.6,341 L536,341 L538.4,341 L540.7,341 L543.1,341 L545.5,341 L547.9,341 L550.2,341 L552.6,341 L555,341 L557.4,341 L559.8,341 " fill="none"/></g>
</g>
<g id="plotPoints" clip-path="url(#plot_window)"></g>
<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="573.8" y="58" width="150.2" height="195"/><rect x="573.8" y="58" width="150.2" height="195"/></g>
<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="88" x2="603.8" y2="88"/></g>
<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="118" x2="603.8" y2="118"/></g>
<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="148" x2="603.8" y2="148"/></g>
<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="178" x2="603.8" y2="178"/></g>
<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="208" x2="603.8" y2="208"/></g>
<g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="238" x2="603.8" y2="238"/></g>
</g>
<g id="legendText">
<text x="611.3" y="88" font-size="15" font-family="Verdana">{0,1,0}</text>
<text x="611.3" y="118" font-size="15" font-family="Verdana">{0,1,1}</text>
<text x="611.3" y="148" font-size="15" font-family="Verdana">{0,1,4}</text>
<text x="611.3" y="178" font-size="15" font-family="Verdana">{0,1,20}</text>
<text x="611.3" y="208" font-size="15" font-family="Verdana">{0,1,-2}</text>
<text x="611.3" y="238" font-size="15" font-family="Verdana">{-2,0.5,-1}</text></g>
<g id="title">
<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Skew Normal Distribution PDF</text></g>
<g id="plotXValues"></g>
<g id="plotYValues"></g>
</svg>

After

Width:  |  Height:  |  Size: 22 KiB

136
doc/sf_and_dist/hankel.qbk Normal file
View File

@@ -0,0 +1,136 @@
[section:hankel Hankel Functions]
[section:cyl_hankel Cyclic Hankel Functions]
[h4 Synopsis]
template <class T1, class T2>
std::complex<``__sf_result``> cyl_hankel_1(T1 v, T2 x);
template <class T1, class T2, class ``__Policy``>
std::complex<``__sf_result``> cyl_hankel_1(T1 v, T2 x, const ``__Policy``&);
template <class T1, class T2>
std::complex<``__sf_result``> cyl_hankel_2(T1 v, T2 x);
template <class T1, class T2, class ``__Policy``>
std::complex<``__sf_result``> cyl_hankel_2(T1 v, T2 x, const ``__Policy``&);
[h4 Description]
The functions __cyl_hankel_1 and __cyl_hankel_2 return the result of the
[@http://dlmf.nist.gov/10.2#P3 Hankel functions] of the first and second kind respectively:
[:['cyl_hankel_1(v, x) = H[sub v][super (1)](x) = J[sub v](x) + i Y[sub v](x)]]
[:['cyl_hankel_2(v, x) = H[sub v][super (2)](x) = J[sub v](x) - i Y[sub v](x)]]
where:
['J[sub v](x)] is the Bessel function of the first kind, and ['Y[sub v](x)] is the Bessel function of the second kind.
The return type of these functions is computed using the __arg_pomotion_rules
when T1 and T2 are different types. The functions are also optimised for the
relatively common case that T1 is an integer.
[optional_policy]
Note that while the arguments to these functions are real values, the results are complex.
That means that the functions can only be instantiated on types `float`, `double` and `long double`.
The functions have also been extended to operate over the whole range of ['v] and ['x]
(unlike __cyl_bessel_j and __cyl_neumann).
[h4 Performance]
These functions are generally more efficient than two separate calls to the underlying Bessel
functions as internally Bessel J and Y can be computed simultaneously.
[h4 Testing]
There are just a few spot tests to exercise all the special case handling - the bulk of the testing is done
on the Bessel functions upon which these are based.
[h4 Accuracy]
Refer to __cyl_bessel_j and __cyl_neumann.
[h4 Implementation]
For ['x < 0] the following reflection formulae are used:
[@http://functions.wolfram.com/Bessel-TypeFunctions/BesselJ/16/01/01/ [equation hankel1]]
[@http://functions.wolfram.com/Bessel-TypeFunctions/BesselY/16/01/01/ [equation hankel2]]
[@http://functions.wolfram.com/Bessel-TypeFunctions/BesselY/16/01/01/ [equation hankel3]]
Otherwise the implementation is trivially in terms of the Bessel J and Y functions.
Note however, that the Hankel functions compute the Bessel J and Y functions simultaneously,
and therefore a single Hankel function call is more efficient than two Bessel function calls.
The one exception is when ['v] is a small positive integer, in which case the usual Bessel function
routines for integer order are used.
[endsect]
[section:sph_hankel Spherical Hankel Functions]
[h4 Synopsis]
template <class T1, class T2>
std::complex<``__sf_result``> sph_hankel_1(T1 v, T2 x);
template <class T1, class T2, class ``__Policy``>
std::complex<``__sf_result``> sph_hankel_1(T1 v, T2 x, const ``__Policy``&);
template <class T1, class T2>
std::complex<``__sf_result``> sph_hankel_2(T1 v, T2 x);
template <class T1, class T2, class ``__Policy``>
std::complex<``__sf_result``> sph_hankel_2(T1 v, T2 x, const ``__Policy``&);
[h4 Description]
The functions __sph_hankel_1 and __sph_hankel_2 return the result of the
[@http://dlmf.nist.gov/10.47#P1 spherical Hankel functions] of the first and second kind respectively:
[equation hankel4]
[equation hankel5]
The return type of these functions is computed using the __arg_pomotion_rules
when T1 and T2 are different types. The functions are also optimised for the
relatively common case that T1 is an integer.
[optional_policy]
Note that while the arguments to these functions are real values, the results are complex.
That means that the functions can only be instantiated on types `float`, `double` and `long double`.
The functions have also been extended to operate over the whole range of ['v] and ['x]
(unlike __cyl_bessel_j and __cyl_neumann).
[h4 Testing]
There are just a few spot tests to exercise all the special case handling - the bulk of the testing is done
on the Bessel functions upon which these are based.
[h4 Accuracy]
Refer to __cyl_bessel_j and __cyl_neumann.
[h4 Implementation]
These functions are trivially implemented in terms of __cyl_hankel_1 and __cyl_hankel_2.
[endsect]
[endsect]
[/
Copyright 2012 John Maddock.
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).
]

View File

@@ -48,9 +48,12 @@
<div class="author"><h3 class="author">
<span class="firstname">Thijs</span> <span class="surname">van den Berg</span>
</h3></div>
<div class="author"><h3 class="author">
<span class="firstname">Benjamin</span> <span class="surname">Sobotta</span>
</h3></div>
</div></div>
<div><p class="copyright">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg</p></div>
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta</p></div>
<div><div class="legalnotice">
<a name="math_toolkit.legal"></a><p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
@@ -67,6 +70,8 @@
<dd><dl>
<dt><span class="section"><a href="math_toolkit/main_overview/intro.html">About the Math Toolkit</a></span></dt>
<dt><span class="section"><a href="math_toolkit/main_overview/navigation.html">Navigation</a></span></dt>
<dt><span class="section"><a href="math_toolkit/main_overview/conventions.html">Document Conventions</a></span></dt>
<dt><span class="section"><a href="math_toolkit/main_overview/hints.html">Other Hints and tips</a></span></dt>
<dt><span class="section"><a href="math_toolkit/main_overview/directories.html">Directory and
File Structure</a></span></dt>
<dt><span class="section"><a href="math_toolkit/main_overview/namespaces.html">Namespaces</a></span></dt>
@@ -201,6 +206,8 @@
Distribution</a></span></dt>
<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/rayleigh.html">Rayleigh
Distribution</a></span></dt>
<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/skew_normal_dist.html">Skew
Normal Distribution</a></span></dt>
<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/students_t_dist.html">Students
t Distribution</a></span></dt>
<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/triangular_dist.html">Triangular
@@ -280,6 +287,13 @@
<dt><span class="section"><a href="math_toolkit/special/bessel/sph_bessel.html">Spherical Bessel
Functions of the First and Second Kinds</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="math_toolkit/special/hankel.html">Hankel Functions</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="math_toolkit/special/hankel/cyl_hankel.html">Cyclic Hankel
Functions</a></span></dt>
<dt><span class="section"><a href="math_toolkit/special/hankel/sph_hankel.html">Spherical Hankel
Functions</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="math_toolkit/special/ellint.html">Elliptic Integrals</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="math_toolkit/special/ellint/ellint_intro.html">Elliptic
@@ -330,6 +344,7 @@
<dt><span class="section"><a href="math_toolkit/special/inv_hyper/asinh.html">asinh</a></span></dt>
<dt><span class="section"><a href="math_toolkit/special/inv_hyper/atanh.html">atanh</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="math_toolkit/special/owens_t.html">Owen's T function</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="math_toolkit/utils.html">Floating Point Utilities</a></span></dt>
<dd><dl>
@@ -377,14 +392,27 @@
<dt><span class="section"><a href="math_toolkit/extern_c/tr1_ref.html">TR1 C Functions Quick
Reference</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="math_toolkit/toolkit.html">Tools, Constants and Internal Details</a></span></dt>
<dt><span class="section"><a href="math_toolkit/constants.html">Mathematical Constants</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="math_toolkit/constants/intro.html">Introduction</a></span></dt>
<dt><span class="section"><a href="math_toolkit/constants/tutorial.html">Tutorial</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="math_toolkit/constants/tutorial/non_templ.html">Use in non-template
code</a></span></dt>
<dt><span class="section"><a href="math_toolkit/constants/tutorial/templ.html">Use in template
code</a></span></dt>
<dt><span class="section"><a href="math_toolkit/constants/tutorial/user_def.html">Use With
User Defined Types</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="math_toolkit/constants/constants.html">The Mathematical Constants</a></span></dt>
<dt><span class="section"><a href="math_toolkit/constants/new_const.html">Defining New Constants</a></span></dt>
<dt><span class="section"><a href="math_toolkit/constants/FAQ.html">FAQs</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="math_toolkit/toolkit.html">Tools and Internal Details</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="math_toolkit/toolkit/internals_overview.html">Overview</a></span></dt>
<dt><span class="section"><a href="math_toolkit/toolkit/internals1.html">Utilities - Constants
&amp; Tools</a></span></dt>
<dt><span class="section"><a href="math_toolkit/toolkit/internals1.html">Utilities &amp; Tools</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="math_toolkit/toolkit/internals1/constants.html">Numeric
Constants</a></span></dt>
<dt><span class="section"><a href="math_toolkit/toolkit/internals1/series_evaluation.html">Series
Evaluation</a></span></dt>
<dt><span class="section"><a href="math_toolkit/toolkit/internals1/cf.html">Continued Fraction
@@ -499,11 +527,11 @@
<dt><span class="section"><a href="math_toolkit/status/issues.html">Known Issues, and TODO List</a></span></dt>
<dt><span class="section"><a href="math_toolkit/status/credits.html">Credits and Acknowledgements</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="index/s12.html">Function Index</a></span></dt>
<dt><span class="section"><a href="index/s13.html">Class Index</a></span></dt>
<dt><span class="section"><a href="index/s14.html">Typedef Index</a></span></dt>
<dt><span class="section"><a href="index/s15.html">Macro Index</a></span></dt>
<dt><span class="section"><a href="index/s16.html">Index</a></span></dt>
<dt><span class="section"><a href="index/s13.html">Function Index</a></span></dt>
<dt><span class="section"><a href="index/s14.html">Class Index</a></span></dt>
<dt><span class="section"><a href="index/s15.html">Typedef Index</a></span></dt>
<dt><span class="section"><a href="index/s16.html">Macro Index</a></span></dt>
<dt><span class="section"><a href="index/s17.html">Index</a></span></dt>
</dl>
</div>
<p>
@@ -513,7 +541,7 @@
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: January 09, 2012 at 12:12:07 GMT</small></p></td>
<td align="left"><p><small>Last revised: April 29, 2012 at 16:45:52 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,13 +1,13 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Typedef Index</title>
<title>Class Index</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="../index.html" title="Math Toolkit">
<link rel="up" href="../index.html" title="Math Toolkit">
<link rel="prev" href="s13.html" title="Class Index">
<link rel="next" href="s15.html" title="Macro Index">
<link rel="prev" href="s13.html" title="Function Index">
<link rel="next" href="s15.html" title="Typedef Index">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
@@ -22,373 +22,216 @@
<div class="spirit-nav">
<a accesskey="p" href="s13.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s15.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section id1492041">
<div class="section id1324922">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id1492041"></a>Typedef Index</h2></div></div></div>
<p><a class="link" href="s14.html#idx_id_46">A</a> <a class="link" href="s14.html#idx_id_47">B</a> <a class="link" href="s14.html#idx_id_48">C</a> <a class="link" href="s14.html#idx_id_49">D</a> <a class="link" href="s14.html#idx_id_50">E</a> <a class="link" href="s14.html#idx_id_51">F</a> <a class="link" href="s14.html#idx_id_52">G</a> <a class="link" href="s14.html#idx_id_53">H</a> <a class="link" href="s14.html#idx_id_54">I</a> <a class="link" href="s14.html#idx_id_56">L</a> <a class="link" href="s14.html#idx_id_58">N</a> <a class="link" href="s14.html#idx_id_59">O</a> <a class="link" href="s14.html#idx_id_60">P</a> <a class="link" href="s14.html#idx_id_62">R</a> <a class="link" href="s14.html#idx_id_63">S</a> <a class="link" href="s14.html#idx_id_64">T</a> <a class="link" href="s14.html#idx_id_65">U</a> <a class="link" href="s14.html#idx_id_66">V</a> <a class="link" href="s14.html#idx_id_67">W</a></p>
<a name="id1324922"></a>Class Index</h2></div></div></div>
<p><a class="link" href="s14.html#idx_id_24">B</a> <a class="link" href="s14.html#idx_id_25">C</a> <a class="link" href="s14.html#idx_id_26">D</a> <a class="link" href="s14.html#idx_id_27">E</a> <a class="link" href="s14.html#idx_id_28">F</a> <a class="link" href="s14.html#idx_id_29">G</a> <a class="link" href="s14.html#idx_id_30">H</a> <a class="link" href="s14.html#idx_id_31">I</a> <a class="link" href="s14.html#idx_id_33">L</a> <a class="link" href="s14.html#idx_id_34">M</a> <a class="link" href="s14.html#idx_id_35">N</a> <a class="link" href="s14.html#idx_id_37">P</a> <a class="link" href="s14.html#idx_id_39">R</a> <a class="link" href="s14.html#idx_id_40">S</a> <a class="link" href="s14.html#idx_id_41">T</a> <a class="link" href="s14.html#idx_id_42">U</a> <a class="link" href="s14.html#idx_id_44">W</a></p>
<div class="variablelist"><dl>
<dt>
<a name="idx_id_46"></a><span class="term">A</span>
<a name="idx_id_24"></a><span class="term">B</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-0">bernoulli_distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-0">beta_distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-0">binomial_distribution</span></a></p></li>
</ul></div></dd>
<dt>
<a name="idx_id_25"></a><span class="term">C</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">cauchy_distribution</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-0">chi_squared_distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">construction_traits</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/tutorial/user_def.html" title="Use With User Defined Types"><span class="index-entry-level-1">Use With User Defined Types</span></a></p></li></ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_26"></a><span class="term">D</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">assert_undefined_type</span></p>
<p><span class="index-entry-level-0">default_policy</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
</li></ul></div></dd>
<dt>
<a name="idx_id_47"></a><span class="term">B</span>
<a name="idx_id_27"></a><span class="term">E</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">bernoulli</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">Bernoulli Distribution</span></a></p></li></ul></div>
<p><span class="index-entry-level-0">eps_tolerance</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">Root Finding Without Derivatives: Bisection, Bracket and TOMS748</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">beta</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li></ul></div>
<p><span class="index-entry-level-0">equal_ceil</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">Root Finding Without Derivatives: Bisection, Bracket and TOMS748</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">binomial</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li></ul></div>
<p><span class="index-entry-level-0">equal_floor</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">Root Finding Without Derivatives: Bisection, Bracket and TOMS748</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">equal_nearest_integer</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">Root Finding Without Derivatives: Bisection, Bracket and TOMS748</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-0">exponential_distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-0">extreme_value_distribution</span></a></p></li>
</ul></div></dd>
<dt>
<a name="idx_id_48"></a><span class="term">C</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">cauchy</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">Find Location (Mean) Example</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_mean_and_sd_eg.html" title="Find mean and standard deviation example"><span class="index-entry-level-1">Find mean and standard deviation example</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">Setting Polices at Namespace Scope</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
</ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">chi_squared</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li></ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_49"></a><span class="term">D</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">denorm_error_type</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">discrete_quantile_type</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">domain_error_type</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">double_t</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
</ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_50"></a><span class="term">E</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">evaluation_error_type</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">exponential</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">Exponential Distribution</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">extreme_value</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">Extreme Value Distribution</span></a></p></li></ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_51"></a><span class="term">F</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">fisher_f</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">F Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/ad_hoc_dist_policies.html" title="Setting Policies for Distributions on an Ad Hoc Basis"><span class="index-entry-level-1">Setting Policies for Distributions on an Ad Hoc Basis</span></a></p></li>
</ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">float_t</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
</ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_52"></a><span class="term">G</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">gamma</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
</ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">geometric</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li></ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_53"></a><span class="term">H</span>
<a name="idx_id_28"></a><span class="term">F</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">hypergeometric</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Hypergeometric Distribution</span></a></p></li></ul></div>
<p><span class="index-entry-level-0">fisher_f_distribution</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">F Distribution</span></a></p></li></ul></div>
</li></ul></div></dd>
<dt>
<a name="idx_id_54"></a><span class="term">I</span>
<a name="idx_id_29"></a><span class="term">G</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">indeterminate_result_error_type</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
<p><span class="index-entry-level-0">gamma_distribution</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-0">geometric_distribution</span></a></p></li>
</ul></div></dd>
<dt>
<a name="idx_id_30"></a><span class="term">H</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-0">hypergeometric_distribution</span></a></p></li></ul></div></dd>
<dt>
<a name="idx_id_31"></a><span class="term">I</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-0">inverse_chi_squared_distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-0">inverse_gamma_distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">inverse_chi_squared</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">inverse_gaussian</span></p>
<p><span class="index-entry-level-0">inverse_gaussian_distribution</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li></ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_56"></a><span class="term">L</span>
<a name="idx_id_33"></a><span class="term">L</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-0">laplace_distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">laplace</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li></ul></div>
<p><span class="index-entry-level-0">log1p_series</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">Series Evaluation</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-0">logistic_distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">logistic</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">lognormal</span></p>
<p><span class="index-entry-level-0">lognormal_distribution</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li></ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_58"></a><span class="term">N</span>
<a name="idx_id_34"></a><span class="term">M</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">max_factorial</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/factorials/sf_factorial.html" title="Factorial"><span class="index-entry-level-1">Factorial</span></a></p></li></ul></div>
</li></ul></div></dd>
<dt>
<a name="idx_id_35"></a><span class="term">N</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-0">negative_binomial_distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">negative_binomial</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/dist_construct_eg.html" title="Distribution Construction Example"><span class="index-entry-level-1">Distribution Construction Example</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
</ul></div>
<p><span class="index-entry-level-0">nonfinite_num_get</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fp_facets.html" title="Facets for Floating-Point Infinities and NaNs"><span class="index-entry-level-1">Facets for Floating-Point Infinities and NaNs</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">non_central_beta</span></p>
<p><span class="index-entry-level-0">nonfinite_num_put</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fp_facets.html" title="Facets for Floating-Point Infinities and NaNs"><span class="index-entry-level-1">Facets for Floating-Point Infinities and NaNs</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">non_central_beta_distribution</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">non_central_chi_squared</span></p>
<p><span class="index-entry-level-0">non_central_chi_squared_distribution</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">non_central_f</span></p>
<p><span class="index-entry-level-0">non_central_f_distribution</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">Noncentral F Distribution</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">non_central_t</span></p>
<p><span class="index-entry-level-0">non_central_t_distribution</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">Noncentral T Distribution</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">normal</span></p>
<p><span class="index-entry-level-0">normalise</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">normal_distribution</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li></ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_37"></a><span class="term">P</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-0">pareto_distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-0">poisson_distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">promote_args</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">Geometric Distribution Examples</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
</ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_59"></a><span class="term">O</span>
<a name="idx_id_39"></a><span class="term">R</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">overflow_error_type</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
</li></ul></div></dd>
<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-0">rayleigh_distribution</span></a></p></li></ul></div></dd>
<dt>
<a name="idx_id_60"></a><span class="term">P</span>
<a name="idx_id_40"></a><span class="term">S</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-0">skew_normal_distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-0">students_t_distribution</span></a></p></li>
</ul></div></dd>
<dt>
<a name="idx_id_41"></a><span class="term">T</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">pareto</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">Pareto Distribution</span></a></p></li></ul></div>
<p><span class="index-entry-level-0">test_data</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">poisson</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">Poisson Distribution</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">pole_error_type</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">policy_type</span></p>
<p><span class="index-entry-level-0">triangular_distribution</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">Bernoulli Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">Exponential Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Hypergeometric Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">Noncentral F Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">Noncentral T Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">Poisson Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">Rayleigh Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></strong></span></p></li>
</ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">precision_type</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">promote_double_type</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">promote_float_type</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_62"></a><span class="term">R</span>
<a name="idx_id_42"></a><span class="term">U</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-0">uniform_distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">rayleigh</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">Rayleigh Distribution</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">rounding_error_type</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
<p><span class="index-entry-level-0">upper_incomplete_gamma_fract</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li></ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_63"></a><span class="term">S</span>
<a name="idx_id_44"></a><span class="term">W</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">students_t</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/namespaces.html" title="Namespaces"><span class="index-entry-level-1">Namespaces</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
</ul></div>
</li></ul></div></dd>
<dt>
<a name="idx_id_64"></a><span class="term">T</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">triangular</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li></ul></div>
</li></ul></div></dd>
<dt>
<a name="idx_id_65"></a><span class="term">U</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">underflow_error_type</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">uniform</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">Uniform Distribution</span></a></p></li></ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_66"></a><span class="term">V</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">value_type</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">Bernoulli Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">Exponential Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">Extreme Value Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">F Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Hypergeometric Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">Noncentral F Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">Noncentral T Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">Pareto Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">Poisson Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/polynomials.html" title="Polynomials"><span class="index-entry-level-1">Polynomials</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">Rayleigh Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">Uniform Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li>
</ul></div>
</li></ul></div></dd>
<dt>
<a name="idx_id_67"></a><span class="term">W</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">weibull</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li></ul></div>
</li></ul></div></dd>
<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-0">weibull_distribution</span></a></p></li></ul></div></dd>
</dl></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>

View File

@@ -1,13 +1,13 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Macro Index</title>
<title>Typedef Index</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="../index.html" title="Math Toolkit">
<link rel="up" href="../index.html" title="Math Toolkit">
<link rel="prev" href="s14.html" title="Typedef Index">
<link rel="next" href="s16.html" title="Index">
<link rel="prev" href="s14.html" title="Class Index">
<link rel="next" href="s16.html" title="Macro Index">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
@@ -22,259 +22,376 @@
<div class="spirit-nav">
<a accesskey="p" href="s14.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s16.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section id1494926">
<div class="section id1325863">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id1494926"></a>Macro Index</h2></div></div></div>
<p><a class="link" href="s15.html#idx_id_70">B</a> <a class="link" href="s15.html#idx_id_74">F</a></p>
<a name="id1325863"></a>Typedef Index</h2></div></div></div>
<p><a class="link" href="s15.html#idx_id_46">A</a> <a class="link" href="s15.html#idx_id_47">B</a> <a class="link" href="s15.html#idx_id_48">C</a> <a class="link" href="s15.html#idx_id_49">D</a> <a class="link" href="s15.html#idx_id_50">E</a> <a class="link" href="s15.html#idx_id_51">F</a> <a class="link" href="s15.html#idx_id_52">G</a> <a class="link" href="s15.html#idx_id_53">H</a> <a class="link" href="s15.html#idx_id_54">I</a> <a class="link" href="s15.html#idx_id_56">L</a> <a class="link" href="s15.html#idx_id_58">N</a> <a class="link" href="s15.html#idx_id_59">O</a> <a class="link" href="s15.html#idx_id_60">P</a> <a class="link" href="s15.html#idx_id_62">R</a> <a class="link" href="s15.html#idx_id_63">S</a> <a class="link" href="s15.html#idx_id_64">T</a> <a class="link" href="s15.html#idx_id_65">U</a> <a class="link" href="s15.html#idx_id_66">V</a> <a class="link" href="s15.html#idx_id_67">W</a></p>
<div class="variablelist"><dl>
<dt>
<a name="idx_id_70"></a><span class="term">B</span>
<a name="idx_id_46"></a><span class="term">A</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">assert_undefined_type</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
</li></ul></div></dd>
<dt>
<a name="idx_id_47"></a><span class="term">B</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_DEFINE_MATH_CONSTANT</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li></ul></div>
<p><span class="index-entry-level-0">bernoulli</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">Bernoulli Distribution</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_FPU_EXCEPTION_GUARD</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
<p><span class="index-entry-level-0">beta</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_HAS_LOG1P</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/powers/log1p.html" title="log1p"><span class="index-entry-level-1">log1p</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_ASSERT_UNDEFINED_POLICY</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/changing_policy_defaults.html" title="Changing the Policy Defaults"><span class="index-entry-level-1">Changing the Policy Defaults</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/assert_undefined.html" title="Mathematically Undefined Function Policies"><span class="index-entry-level-1">Mathematically Undefined Function Policies</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
</ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_BUGGY_LARGE_FLOAT_CONSTANTS</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_CONTROL_FP</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_DECLARE_DISTRIBUTIONS</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">Setting Polices at Namespace Scope</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
</ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">Setting Polices at Namespace Scope</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
</ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_DENORM_ERROR_POLICY</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_DIGITS10_POLICY</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_DISCRETE_QUANTILE_POLICY</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/binom_eg/binomial_quiz_example.html" title="Binomial Quiz Example"><span class="index-entry-level-1">Binomial Quiz Example</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">Geometric Distribution Examples</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">Negative Binomial Sales Quota Example.</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
</ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_DOMAIN_ERROR_POLICY</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/changing_policy_defaults.html" title="Changing the Policy Defaults"><span class="index-entry-level-1">Changing the Policy Defaults</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/error_eg.html" title="Error Handling Example"><span class="index-entry-level-1">Error Handling Example</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
</ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_EVALUATION_ERROR_POLICY</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_EXPLICIT_TEMPLATE_TYPE</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_INSTRUMENT_CODE</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_INSTRUMENT_FPU</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_INSTRUMENT_VARIABLE</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_INT_TABLE_TYPE</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_tuning" title="Table&#160;12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/perf/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
</ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_INT_VALUE_SUFFIX</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_tuning" title="Table&#160;12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_MAX_POLY_ORDER</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_tuning" title="Table&#160;12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/perf/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
</ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_MAX_ROOT_ITERATION_POLICY</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/iteration_pol.html" title="Iteration Limits Policies"><span class="index-entry-level-1">Iteration Limits Policies</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
</ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_MAX_SERIES_ITERATION_POLICY</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/iteration_pol.html" title="Iteration Limits Policies"><span class="index-entry-level-1">Iteration Limits Policies</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
</ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/compilers_overview.html#math_toolkit.main_overview.compilers_overview.supported_tested_compilers" title="Table&#160;9.&#160;Supported/Tested Compilers"><span class="index-entry-level-1">Supported/Tested Compilers</span></a></p></li>
</ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_NO_REAL_CONCEPT_TESTS</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_OVERFLOW_ERROR_POLICY</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/changing_policy_defaults.html" title="Changing the Policy Defaults"><span class="index-entry-level-1">Changing the Policy Defaults</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/powers/ct_pow.html" title="Compile Time Power of a Runtime Base"><span class="index-entry-level-1">Compile Time Power of a Runtime Base</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/error_eg.html" title="Error Handling Example"><span class="index-entry-level-1">Error Handling Example</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">Geometric Distribution Examples</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">Negative Binomial Sales Quota Example.</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
</ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_POLE_ERROR_POLICY</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_POLY_METHOD</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_tuning" title="Table&#160;12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/perf/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
</ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_PROMOTE_DOUBLE_POLICY</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/perf/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
</ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_PROMOTE_FLOAT_POLICY</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_RATIONAL_METHOD</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_tuning" title="Table&#160;12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/perf/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
</ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_ROUNDING_ERROR_POLICY</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_SMALL_CONSTANT</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_STD_USING</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_UNDERFLOW_ERROR_POLICY</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_MATH_USE_C99</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
<p><span class="index-entry-level-0">binomial</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li></ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_74"></a><span class="term">F</span>
<a name="idx_id_48"></a><span class="term">C</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">FP_INFINITE</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
<p><span class="index-entry-level-0">cauchy</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">Find Location (Mean) Example</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_mean_and_sd_eg.html" title="Find mean and standard deviation example"><span class="index-entry-level-1">Find mean and standard deviation example</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">Setting Polices at Namespace Scope</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
</ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">FP_NAN</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">FP_NORMAL</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">FP_SUBNORMAL</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">FP_ZERO</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
<p><span class="index-entry-level-0">chi_squared</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li></ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_49"></a><span class="term">D</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">denorm_error_type</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">discrete_quantile_type</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">domain_error_type</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">double_t</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
</ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_50"></a><span class="term">E</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">evaluation_error_type</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">exponential</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">Exponential Distribution</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">extreme_value</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">Extreme Value Distribution</span></a></p></li></ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_51"></a><span class="term">F</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">fisher_f</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">F Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/ad_hoc_dist_policies.html" title="Setting Policies for Distributions on an Ad Hoc Basis"><span class="index-entry-level-1">Setting Policies for Distributions on an Ad Hoc Basis</span></a></p></li>
</ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">float_t</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
</ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_52"></a><span class="term">G</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">gamma</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
</ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">geometric</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li></ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_53"></a><span class="term">H</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">hypergeometric</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Hypergeometric Distribution</span></a></p></li></ul></div>
</li></ul></div></dd>
<dt>
<a name="idx_id_54"></a><span class="term">I</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">indeterminate_result_error_type</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">inverse_chi_squared</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">inverse_gaussian</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li></ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_56"></a><span class="term">L</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">laplace</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">logistic</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">lognormal</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li></ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_58"></a><span class="term">N</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">negative_binomial</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/dist_construct_eg.html" title="Distribution Construction Example"><span class="index-entry-level-1">Distribution Construction Example</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
</ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">non_central_beta</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">non_central_chi_squared</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">non_central_f</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">Noncentral F Distribution</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">non_central_t</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">Noncentral T Distribution</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">normal</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">Geometric Distribution Examples</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
</ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_59"></a><span class="term">O</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">overflow_error_type</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
</li></ul></div></dd>
<dt>
<a name="idx_id_60"></a><span class="term">P</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">pareto</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">Pareto Distribution</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">poisson</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">Poisson Distribution</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">pole_error_type</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">policy_type</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">Bernoulli Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">Exponential Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Hypergeometric Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">Noncentral F Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">Noncentral T Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">Poisson Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">Rayleigh Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li>
</ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">precision_type</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">promote_double_type</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">promote_float_type</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_62"></a><span class="term">R</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">rayleigh</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">Rayleigh Distribution</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">rounding_error_type</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_63"></a><span class="term">S</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">students_t</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/namespaces.html" title="Namespaces"><span class="index-entry-level-1">Namespaces</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
</ul></div>
</li></ul></div></dd>
<dt>
<a name="idx_id_64"></a><span class="term">T</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">triangular</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li></ul></div>
</li></ul></div></dd>
<dt>
<a name="idx_id_65"></a><span class="term">U</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">underflow_error_type</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
</li>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">uniform</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">Uniform Distribution</span></a></p></li></ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_66"></a><span class="term">V</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">value_type</span></p>
<div class="index"><ul class="index" type="none" compact>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">Bernoulli Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">Exponential Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">Extreme Value Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">F Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Hypergeometric Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">Noncentral F Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">Noncentral T Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">Pareto Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">Poisson Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/polynomials.html" title="Polynomials"><span class="index-entry-level-1">Polynomials</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">Rayleigh Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">Uniform Distribution</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li>
</ul></div>
</li></ul></div></dd>
<dt>
<a name="idx_id_67"></a><span class="term">W</span>
</dt>
<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">weibull</span></p>
<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li></ul></div>
</li></ul></div></dd>
</dl></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -38,7 +38,7 @@
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>

View File

@@ -608,20 +608,25 @@
</pre>
<p>
Note that unlike the sample config file supplied with SVGMath, this does
not make use of the Mathematica 7 font as this lacks sufficient Unicode information
for it to be used with either SVGMath or XEP "as is".
not make use of the <a href="http://support.wolfram.com/technotes/fonts/windows/latestfonts.html" target="_top">Mathematica
7 font</a> as this lacks sufficient Unicode information for it to be
used with either SVGMath or XEP "as is".
</p>
<p>
Also note that the SVG files in the repository are almost certainly Windows-specific
since they reference various Windows Fonts.
</p>
<p>
PNG files can be created from the SVG's using <a href="http://xmlgraphics.apache.org/batik/tools/rasterizer.html" target="_top">Batik</a>
PNG files can be created from the SVGs using <a href="http://xmlgraphics.apache.org/batik/tools/rasterizer.html" target="_top">Batik</a>
and a command such as:
</p>
<pre class="programlisting">java -jar 'C:\download\open\batik-1.7\batik-rasterizer.jar' -dpi 120 *.svg</pre>
<p>
Or using Inkscape and a command such as:
Or using Inkscape (File, Export bitmap, Drawing tab, bitmap size (default
size, 100 dpi), Filename (default). png)
</p>
<p>
or Using Cygwin, a command such as:
</p>
<pre class="programlisting">for file in *.svg; do
/cygdrive/c/progra~1/Inkscape/inkscape -d 120 -e $(cygpath -a -w $(basename $file .svg).png) $(cygpath -a -w $file);
@@ -751,7 +756,7 @@ done</pre>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>

View File

@@ -228,7 +228,7 @@
computing to float precision with double precision arithmetic.
</p>
<div class="table">
<a name="math_toolkit.backgrounders.lanczos.optimal_choices_for_n_and_g_when_computing_with_guard_digits__source__pugh_"></a><p class="title"><b>Table&#160;57.&#160;Optimal choices for N and g when computing with guard digits (source:
<a name="math_toolkit.backgrounders.lanczos.optimal_choices_for_n_and_g_when_computing_with_guard_digits__source__pugh_"></a><p class="title"><b>Table&#160;58.&#160;Optimal choices for N and g when computing with guard digits (source:
Pugh)</b></p>
<div class="table-contents"><table class="table" summary="Optimal choices for N and g when computing with guard digits (source:
Pugh)">
@@ -371,7 +371,7 @@
exactly matches the machine epsilon for the type in question.
</p>
<div class="table">
<a name="math_toolkit.backgrounders.lanczos.optimum_value_for_n_and_g_when_computing_at_fixed_precision"></a><p class="title"><b>Table&#160;58.&#160;Optimum value for N and g when computing at fixed precision</b></p>
<a name="math_toolkit.backgrounders.lanczos.optimum_value_for_n_and_g_when_computing_at_fixed_precision"></a><p class="title"><b>Table&#160;59.&#160;Optimum value for N and g when computing at fixed precision</b></p>
<div class="table-contents"><table class="table" summary="Optimum value for N and g when computing at fixed precision">
<colgroup>
<col>
@@ -560,7 +560,7 @@
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>

View File

@@ -203,7 +203,7 @@
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>

View File

@@ -107,7 +107,7 @@
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>

View File

@@ -528,7 +528,7 @@
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>

View File

@@ -0,0 +1,59 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Mathematical Constants</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="../index.html" title="Math Toolkit">
<link rel="up" href="../index.html" title="Math Toolkit">
<link rel="prev" href="extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference">
<link rel="next" href="constants/intro.html" title="Introduction">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="extern_c/tr1_ref.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="constants/intro.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section math_toolkit_constants">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="math_toolkit.constants"></a><a class="link" href="constants.html" title="Mathematical Constants">Mathematical Constants</a>
</h2></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="constants/intro.html">Introduction</a></span></dt>
<dt><span class="section"><a href="constants/tutorial.html">Tutorial</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="constants/tutorial/non_templ.html">Use in non-template
code</a></span></dt>
<dt><span class="section"><a href="constants/tutorial/templ.html">Use in template
code</a></span></dt>
<dt><span class="section"><a href="constants/tutorial/user_def.html">Use With
User Defined Types</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="constants/constants.html">The Mathematical Constants</a></span></dt>
<dt><span class="section"><a href="constants/new_const.html">Defining New Constants</a></span></dt>
<dt><span class="section"><a href="constants/FAQ.html">FAQs</a></span></dt>
</dl></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="extern_c/tr1_ref.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="constants/intro.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,480 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>FAQs</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="../../index.html" title="Math Toolkit">
<link rel="up" href="../constants.html" title="Mathematical Constants">
<link rel="prev" href="new_const.html" title="Defining New Constants">
<link rel="next" href="../toolkit.html" title="Tools and Internal Details">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="new_const.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../toolkit.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section math_toolkit_constants_FAQ">
<div class="titlepage"><div><div><h3 class="title">
<a name="math_toolkit.constants.FAQ"></a><a class="link" href="FAQ.html" title="FAQs">FAQs</a>
</h3></div></div></div>
<h5>
<a name="math_toolkit.constants.FAQ.h0"></a>
<span><a name="math_toolkit.constants.FAQ.why_are__emphasis_these__emphasis__constants_chosen_"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.why_are__emphasis_these__emphasis__constants_chosen_">Why
are <span class="emphasis"><em>these</em></span> Constants Chosen?</a>
</h5>
<p>
It is, of course, impossible to please everyone with a list like this.
</p>
<p>
Some of the criteria we have used are:
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
Used in Boost.Math.
</li>
<li class="listitem">
Commonly used.
</li>
<li class="listitem">
Expensive to compute.
</li>
<li class="listitem">
Requested by users.
</li>
<li class="listitem">
<a href="http://en.wikipedia.org/wiki/Mathematical_constant" target="_top">Used
in science and mathematics.</a>
</li>
<li class="listitem">
No integer values (because so cheap to construct).<br> (You can easily
define your own if found convenient, for example: <code class="computeroutput"><span class="identifier">FPT</span>
<span class="identifier">one</span> <span class="special">=</span><span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">FPT</span><span class="special">&gt;(</span><span class="number">42</span><span class="special">);</span></code>).
</li>
</ul></div>
<h5>
<a name="math_toolkit.constants.FAQ.h1"></a>
<span><a name="math_toolkit.constants.FAQ.how_are_constants_named_"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.how_are_constants_named_">How
are constants named?</a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
Not macros, so no upper case.
</li>
<li class="listitem">
All lower case (following C++ standard names).
</li>
<li class="listitem">
No CamelCase.
</li>
<li class="listitem">
Underscore as _ delimiter between words.
</li>
<li class="listitem">
Numbers spelt as words rather than decimal digits (except following pow).
</li>
<li class="listitem">
Abbreviation conventions:
<div class="itemizedlist"><ul class="itemizedlist" type="circle">
<li class="listitem">
root for square root.
</li>
<li class="listitem">
cbrt for cube root.
</li>
<li class="listitem">
pow for pow function using decimal digits like pow23 for n<sup>2/3</sup>.
</li>
<li class="listitem">
div for divided by or operator /.
</li>
<li class="listitem">
minus for operator -, plus for operator +.
</li>
<li class="listitem">
sqr for squared.
</li>
<li class="listitem">
cubed for cubed n<sup>3</sup>.
</li>
<li class="listitem">
words for greek, like &#960;, &#950; and &#915;.
</li>
<li class="listitem">
words like half, third, three_quarters, sixth for fractions. (Digit(s)
can get muddled).
</li>
<li class="listitem">
log10 for log<sub>10</sub>
</li>
<li class="listitem">
ln for log<sub>e</sub>
</li>
</ul></div>
</li>
</ul></div>
<h5>
<a name="math_toolkit.constants.FAQ.h2"></a>
<span><a name="math_toolkit.constants.FAQ.how_are_the_constants_derived_"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.how_are_the_constants_derived_">How are
the constants derived?</a>
</h5>
<p>
The constants have all been calculated using high-precision software working
with up to 300-bit precision giving about 100 decimal digits. (The precision
can be arbitrarily chosen and is limited only by compute time).
</p>
<h5>
<a name="math_toolkit.constants.FAQ.h3"></a>
<span><a name="math_toolkit.constants.FAQ.how_accurate_are_the_constants_"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.how_accurate_are_the_constants_">How
Accurate are the constants?</a>
</h5>
<p>
The minimum accuracy chosen (100 decimal digits) exceeds the accuracy of
reasonably-foreseeable floating-point hardware (256-bit) and should meet
most high-precision computations.
</p>
<h5>
<a name="math_toolkit.constants.FAQ.h4"></a>
<span><a name="math_toolkit.constants.FAQ.how_are_the_constants_tested_"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.how_are_the_constants_tested_">How are
the constants tested?</a>
</h5>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
Comparison using Boost.Test BOOST_CHECK_CLOSE_FRACTION using long double
literals, with at least 35 decimal digits, enough to be accurate for
all long double implementations. The tolerance is usually twice <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span>
<span class="identifier">epsilon</span></code>.
</li>
<li class="listitem">
Comparison with calculation at long double precision. This often requires
a slightly higher tolerance than two epsilon because of computational
noise from round-off etc, especially when trig and other functions are
called.
</li>
<li class="listitem">
Comparison with independent published values, for example, using <a href="http://oeis.org/" target="_top">The On-Line Encyclopedia of Integer Sequences
(OEIS)</a> again using at least 35 decimal digits strings.
</li>
<li class="listitem">
Comparison with independely calculated values using arbitrary precision
tools like <a href="http://www.wolfram.com/mathematica/" target="_top">Mathematica</a>,
again using at least 35 decimal digits literal strings.
</li>
</ol></div>
<div class="warning"><table border="0" summary="Warning">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../../../doc/src/images/warning.png"></td>
<th align="left">Warning</th>
</tr>
<tr><td align="left" valign="top"><p>
We have not yet been able to <span class="bold"><strong>check</strong></span> that
<span class="bold"><strong>all</strong></span> constants are accurate at the full
arbitrary precision, at present 100 decimal digits. But certain key values
like <code class="computeroutput"><span class="identifier">e</span></code> and <code class="computeroutput"><span class="identifier">pi</span></code> appear to be accurate and internal
consistencies suggest that others are this accurate too.
</p></td></tr>
</table></div>
<h5>
<a name="math_toolkit.constants.FAQ.h5"></a>
<span><a name="math_toolkit.constants.FAQ.why_is_portability_important_"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.why_is_portability_important_">Why is
Portability important?</a>
</h5>
<p>
Code written using math constants is easily portable even when using different
floating-point types with differing precision.
</p>
<p>
It is a mistake to expect that results of computations will be <span class="bold"><strong>identical</strong></span>, but you can achieve the <span class="bold"><strong>best
accuracy possible for the floating-point type in use</strong></span>.
</p>
<p>
This has no extra cost to the user, but reduces irritating, and often confusing
and very hard-to-trace effects, caused by the intrinsically limited precision
of floating-point calculations.
</p>
<p>
A harmless symptom of this limit is a spurious least-significant digit; at
worst, slightly inaccurate constants sometimes cause iterating algorithms
to diverge wildly because internal comparisons just fail.
</p>
<h5>
<a name="math_toolkit.constants.FAQ.h6"></a>
<span><a name="math_toolkit.constants.FAQ.what_is_the_internal_format_of_the_constants__and_why_"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.what_is_the_internal_format_of_the_constants__and_why_">What
is the Internal Format of the constants, and why?</a>
</h5>
<p>
See <a class="link" href="tutorial.html" title="Tutorial">tutorial</a> above
for normal use, but this FAQ explains the internal details used for the constants.
</p>
<p>
Constants are stored as 100 decimal digit values. However, some compilers
do not accept decimal digits strings as long as this. So the constant is
split into two parts, with the first containing at least 128-bit long double
precision (35 decimal digits), and for consistency should be in scientific
format with a signed exponent.
</p>
<p>
The second part is the value of the constant expressed as a string literal,
accurate to at least 100 decimal digits (in practice that means at least
102 digits). Again for consistency use scientific format with a signed exponent.
</p>
<p>
For types with precision greater than a long double, then if T is constructible
<code class="computeroutput"><span class="identifier">T</span> </code>is constructible from a
<code class="computeroutput"><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span></code> then it's directly constructed from the
string, otherwise we fall back on lexical_cast to convert to type <code class="computeroutput"><span class="identifier">T</span></code>. (Using a string is necessary because
you can't use a numeric constant since even a <code class="computeroutput"><span class="keyword">long</span>
<span class="keyword">double</span></code> might not have enough digits).
</p>
<p>
So, for example, a constant like pi is internally defined as
</p>
<pre class="programlisting"><span class="identifier">BOOST_DEFINE_MATH_CONSTANT</span><span class="special">(</span><span class="identifier">pi</span><span class="special">,</span> <span class="number">3.141592653589793238462643383279502884e+00</span><span class="special">,</span> <span class="string">"3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651e+00"</span><span class="special">);</span>
</pre>
<p>
In this case the significand is 109 decimal digits, ensuring 100 decimal
digits are exact, and exponent is zero.
</p>
<p>
See <a class="link" href="new_const.html" title="Defining New Constants">defining new constants</a>
to calculate new constants.
</p>
<p>
A macro definition like this can be pasted into user code where convenient,
or into <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span></code> if
it is to be added to the Boost.Math library.
</p>
<h5>
<a name="math_toolkit.constants.FAQ.h7"></a>
<span><a name="math_toolkit.constants.FAQ.what_floating_point_types_could_i_use_"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.what_floating_point_types_could_i_use_">What
Floating-point Types could I use?</a>
</h5>
<p>
Apart from the built-in floating-point types <code class="computeroutput"><span class="keyword">float</span></code>,
<code class="computeroutput"><span class="keyword">double</span></code>, <code class="computeroutput"><span class="keyword">long</span>
<span class="keyword">double</span></code>, there are several arbitrary
precision floating-point classes available, but most are not licensed for
commercial use.
</p>
<h6>
<a name="math_toolkit.constants.FAQ.h8"></a>
<span><a name="math_toolkit.constants.FAQ.boost_multiprecision_by_christopher_kormanyos"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.boost_multiprecision_by_christopher_kormanyos">Boost.Multiprecision
by Christopher Kormanyos</a>
</h6>
<p>
This work is based on an earlier work called e-float: Algorithm 910: A Portable
C++ Multiple-Precision System for Special-Function Calculations, in ACM TOMS,
{VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. <a href="http://doi.acm.org/10.1145/1916461.1916469" target="_top">http://doi.acm.org/10.1145/1916461.1916469</a>
<a href="https://svn.boost.org/svn/boost/sandbox/e_float/" target="_top">e_float</a>
but is now re-factored and available under the Boost license in the Boost-sandbox
at <a href="https://svn.boost.org/svn/boost/sandbox/multiprecision/" target="_top">multiprecision</a>
where it is being refined and prepared for review.
</p>
<h6>
<a name="math_toolkit.constants.FAQ.h9"></a>
<span><a name="math_toolkit.constants.FAQ.boost_cpp_float_by_john_maddock_using_expression_templates"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.boost_cpp_float_by_john_maddock_using_expression_templates">Boost.cpp_float
by John Maddock using Expression Templates</a>
</h6>
<p>
<a href="https://svn.boost.org/svn/boost/sandbox/big_number/" target="_top">Big Number</a>
which is a reworking of <a href="https://svn.boost.org/svn/boost/sandbox/e_float/" target="_top">e_float</a>
by Christopher Kormanyos to use expression templates for faster execution.
</p>
<h6>
<a name="math_toolkit.constants.FAQ.h10"></a>
<span><a name="math_toolkit.constants.FAQ.ntl_class_quad_float"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.ntl_class_quad_float">NTL
class quad_float</a>
</h6>
<p>
<a href="http://shoup.net/ntl/" target="_top">NTL</a> by Victor Shoup has fixed
and arbitrary high precision fixed and floating-point types. However none
of these are licenced for commercial use.
</p>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">NTL</span><span class="special">/</span><span class="identifier">quad_float</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span> <span class="comment">// quad precision 106-bit, about 32 decimal digits.</span>
<span class="keyword">using</span> <span class="identifier">NTL</span><span class="special">::</span><span class="identifier">to_quad_float</span><span class="special">;</span> <span class="comment">// Less precise than arbitrary precision NTL::RR.</span>
</pre>
<p>
NTL class <code class="computeroutput"><span class="identifier">quad_float</span></code>, which
gives a form of quadruple precision, 106-bit significand (but without an
extended exponent range.) With an IEC559/IEEE 754 compatible processor, for
example Intel X86 family, with 64-bit double, and 53-bit significand, using
the significands of <span class="bold"><strong>two</strong></span> 64-bit doubles,
if <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">digits10</span></code> is 16, then we get about twice
the precision, so <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">quad_float</span><span class="special">&gt;::</span><span class="identifier">digits10</span><span class="special">()</span></code>
should be 32. (the default <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">RR</span><span class="special">&gt;::</span><span class="identifier">digits10</span><span class="special">()</span></code> should be about 40). (which seems to agree
with experiments). We output constants (including some noisy bits, an approximation
to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">RR</span><span class="special">&gt;::</span><span class="identifier">max_digits10</span><span class="special">()</span></code>)
by adding 2 extra decimal digits, so using <code class="computeroutput"><span class="identifier">quad_float</span><span class="special">::</span><span class="identifier">SetOutputPrecision</span><span class="special">(</span><span class="number">32</span> <span class="special">+</span>
<span class="number">2</span><span class="special">);</span></code>
</p>
<p>
Apple Mac/Darwin uses a similar <span class="emphasis"><em>doubledouble</em></span> 106-bit
for its built-in <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>
type.
</p>
<div class="note"><table border="0" summary="Note">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
<th align="left">Note</th>
</tr>
<tr><td align="left" valign="top"><p>
The precision of all <code class="computeroutput"><span class="identifier">doubledouble</span></code>
floating-point types is rather odd and values given are only approximate.
</p></td></tr>
</table></div>
<h6>
<a name="math_toolkit.constants.FAQ.h11"></a>
<span><a name="math_toolkit.constants.FAQ.ntl_class_rr"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.ntl_class_rr">NTL
class RR</a>
</h6>
<p>
Arbitrary precision floating point with NTL class RR, default is 150 bit
(about 50 decimal digits) used here with 300 bit to output 100 decimal digits,
enough for many practical non-'number-theoretic' C++ applications.
</p>
<p>
NTL is <span class="bold"><strong>not licenced for commercial use</strong></span>.
</p>
<p>
This class is used in Boost.Math and an option when using big_number projects
to calculate new math constants.
</p>
<h6>
<a name="math_toolkit.constants.FAQ.h12"></a>
<span><a name="math_toolkit.constants.FAQ.gmp_and_mpfr"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.gmp_and_mpfr">GMP
and MPFR</a>
</h6>
<p>
<a href="../../gmplib.org" target="_top">GMP</a> and <a href="http://www.mpfr.org/" target="_top">MPFR</a>
have also been used to compute constants, but are licensed under the <a href="http://www.gnu.org/copyleft/lesser.html" target="_top">Lesser GPL license</a>
and are <span class="bold"><strong>not licensed for commercial use</strong></span>.
</p>
<h5>
<a name="math_toolkit.constants.FAQ.h13"></a>
<span><a name="math_toolkit.constants.FAQ.what_happened_to_a_previous_collection_of_constants_proposed_for_boost_"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.what_happened_to_a_previous_collection_of_constants_proposed_for_boost_">What
happened to a previous collection of constants proposed for Boost?</a>
</h5>
<p>
A review concluded that the way in which the constants were presented did
not meet many peoples needs. None of the methods proposed met many users'
essential requirement to allow writing simply <code class="computeroutput"><span class="identifier">pi</span></code>
rather than <code class="computeroutput"><span class="identifier">pi</span><span class="special">()</span></code>.
Many science and engineering equations look difficult to read when because
function call brackets can be confused with the many other brackets often
needed. All the methods then proposed of avoiding the brackets failed to
meet all needs, often on grounds of complexity and lack of applicability
to various realistic scenarios.
</p>
<p>
So the simple namespace method, proposed on its own, but rejected at the
first review, has been added to allow users to have convenient access to
float, double and long double values, but combined with template struct and
functions to allow simultaneous use with other non-built-in floating-point
types.
</p>
<h5>
<a name="math_toolkit.constants.FAQ.h14"></a>
<span><a name="math_toolkit.constants.FAQ.why_do_the_constants__internally__have_a_struct_rather_than_a_simple_function_"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.why_do_the_constants__internally__have_a_struct_rather_than_a_simple_function_">Why
do the constants (internally) have a struct rather than a simple function?</a>
</h5>
<p>
A function mechanism was provided by in previous versions of Boost.Math.
</p>
<p>
The new mechanism is to permit partial specialization. See Custom Specializing
a constant above. It should also allow use with other packages like <a href="http://www.ttmath.org/" target="_top">ttmath Bignum C++ library.</a>
</p>
<h5>
<a name="math_toolkit.constants.FAQ.h15"></a>
<span><a name="math_toolkit.constants.FAQ.where_can_i_find_other_high_precision_constants_"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.where_can_i_find_other_high_precision_constants_">Where
can I find other high precision constants?</a>
</h5>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
Constants with very high precision and good accuracy (&gt;40 decimal
digits) from Simon Plouffe's web based collection <a href="http://pi.lacim.uqam.ca/eng/" target="_top">http://pi.lacim.uqam.ca/eng/</a>.
</li>
<li class="listitem">
<a href="https://oeis.org/" target="_top">The On-Line Encyclopedia of Integer Sequences
(OEIS)</a>
</li>
<li class="listitem">
Checks using printed text optically scanned values and converted from:
D. E. Knuth, Art of Computer Programming, Appendix A, Table 1, Vol 1,
ISBN 0 201 89683 4 (1997)
</li>
<li class="listitem">
M. Abrahamovitz &amp; I. E. Stegun, National Bureau of Standards, Handbook
of Mathematical Functions, a reference source for formulae now superceded
by
</li>
<li class="listitem">
Frank W. Olver, Daniel W. Lozier, Ronald F. Boisvert, Charles W. Clark,
NIST Handbook of Mathemetical Functions, Cambridge University Press,
ISBN 978-0-521-14063-8, 2010.
</li>
<li class="listitem">
John F Hart, Computer Approximations, Kreiger (1978) ISBN 0 88275 642
7.
</li>
<li class="listitem">
Some values from Cephes Mathematical Library, Stephen L. Moshier and
CALC100 100 decimal digit Complex Variable Calculator Program, a DOS
utility.
</li>
<li class="listitem">
Xavier Gourdon, Pascal Sebah, 50 decimal digits constants at <a href="http://numbers.computation.free.fr/Constants/constants.html" target="_top">Number,
constants and computation</a>.
</li>
</ol></div>
<h5>
<a name="math_toolkit.constants.FAQ.h16"></a>
<span><a name="math_toolkit.constants.FAQ.where_are_physical_constants_"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.where_are_physical_constants_">Where
are Physical Constants?</a>
</h5>
<p>
Not here in this Boost.Math collection, because physical constants:
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
Are measurements.
</li>
<li class="listitem">
Are not truly constant and keeping changing as mensuration technology
improves.
</li>
<li class="listitem">
Have a instrinsic uncertainty.
</li>
<li class="listitem">
Mathematical constants are stored and represented at varying precision,
but should never be inaccurate.
</li>
</ul></div>
<p>
Some physical constants may be available in Boost.Units.
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="new_const.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../toolkit.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,118 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Introduction</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="../../index.html" title="Math Toolkit">
<link rel="up" href="../constants.html" title="Mathematical Constants">
<link rel="prev" href="../constants.html" title="Mathematical Constants">
<link rel="next" href="tutorial.html" title="Tutorial">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../constants.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section math_toolkit_constants_intro">
<div class="titlepage"><div><div><h3 class="title">
<a name="math_toolkit.constants.intro"></a><a class="link" href="intro.html" title="Introduction">Introduction</a>
</h3></div></div></div>
<p>
Boost.Math provides a collection of mathematical constants.
</p>
<h5>
<a name="math_toolkit.constants.intro.h0"></a>
<span><a name="math_toolkit.constants.intro.why_use_boost_math_mathematical_constants_"></a></span><a class="link" href="intro.html#math_toolkit.constants.intro.why_use_boost_math_mathematical_constants_">Why
use Boost.Math mathematical constants?</a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
Readable. For the very many jobs just using built-in like <code class="computeroutput"><span class="keyword">double</span></code>, you can just write expressions
like
<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">area</span> <span class="special">=</span> <span class="identifier">pi</span> <span class="special">*</span> <span class="identifier">r</span> <span class="special">*</span> <span class="identifier">r</span><span class="special">;</span></pre>
(If that's all you want, jump direct to <a class="link" href="tutorial/non_templ.html" title="Use in non-template code">use
in non-template code</a>!)
</li>
<li class="listitem">
Effortless - avoiding a search of reference sources.
</li>
<li class="listitem">
Usable with both builtin floating point types, and user-defined, possibly
extended precision, types such as NTL, MPFR/GMP, mp_float: in the latter
case the constants are computed to the necessary precision and then cached.
</li>
<li class="listitem">
Accurate - ensuring that the values are as accurate as possible for the
chosen floating-point type
<div class="itemizedlist"><ul class="itemizedlist" type="circle">
<li class="listitem">
No loss of accuracy from repeated rounding of intermediate computations.
</li>
<li class="listitem">
Result is computed with higher precision and only rounded once.
</li>
<li class="listitem">
Less risk of inaccurate result from functions pow, trig and log
at <a href="http://en.wikipedia.org/wiki/Corner_case" target="_top">corner
cases</a>.
</li>
<li class="listitem">
Less risk of <a href="http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html" target="_top">cancellation
error</a>.
</li>
</ul></div>
</li>
<li class="listitem">
Faster - can avoid (re-)calculation at runtime. This can be significant
if:
<div class="itemizedlist"><ul class="itemizedlist" type="circle">
<li class="listitem">
Functions pow, trig or log are used.
</li>
<li class="listitem">
Inside an inner loop.
</li>
<li class="listitem">
Using a high-precision UDT.
</li>
<li class="listitem">
Compiler optimizations possible with built-in types, especially
<code class="computeroutput"><span class="keyword">double</span></code>, are not available.
</li>
</ul></div>
</li>
<li class="listitem">
Portable - as possible between different systems using different floating-point
precisions: see <a class="link" href="tutorial/templ.html" title="Use in template code">use
in template code</a>.
</li>
<li class="listitem">
Tested - by comparison with other published sources, or separately computed
at long double precision.
</li>
</ul></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../constants.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,267 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Defining New Constants</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="../../index.html" title="Math Toolkit">
<link rel="up" href="../constants.html" title="Mathematical Constants">
<link rel="prev" href="constants.html" title="The Mathematical Constants">
<link rel="next" href="FAQ.html" title="FAQs">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="constants.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="FAQ.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section math_toolkit_constants_new_const">
<div class="titlepage"><div><div><h3 class="title">
<a name="math_toolkit.constants.new_const"></a><a class="link" href="new_const.html" title="Defining New Constants">Defining New Constants</a>
</h3></div></div></div>
<p>
The library provides some helper code to assist in defining new constants;
the process for defining a constant called <code class="computeroutput"><span class="identifier">my_constant</span></code>
goes like this:
</p>
<p>
1. <span class="bold"><strong>Define a function that calculates the value of the
constant</strong></span>. This should be a template function, and be placed in
<code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">calculate_constants</span><span class="special">.</span><span class="identifier">hpp</span></code> if
the constant is to be added to this library, or else defined at the top of
your source file if not.
</p>
<p>
The function should look like this:
</p>
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">constants</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">detail</span><span class="special">{</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Real</span><span class="special">&gt;</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">&gt;</span>
<span class="identifier">Real</span> <span class="identifier">constant_my_constant</span><span class="special">&lt;</span><span class="identifier">Real</span><span class="special">&gt;::</span><span class="identifier">compute</span><span class="special">(</span><span class="identifier">BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC</span><span class="special">(</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;))</span>
<span class="special">{</span>
<span class="keyword">int</span> <span class="identifier">required_precision</span> <span class="special">=</span> <span class="identifier">N</span> <span class="special">?</span> <span class="identifier">N</span> <span class="special">:</span> <span class="identifier">tools</span><span class="special">::</span><span class="identifier">digits</span><span class="special">&lt;</span><span class="identifier">Real</span><span class="special">&gt;();</span>
<span class="identifier">Real</span> <span class="identifier">result</span> <span class="special">=</span> <span class="comment">/* value computed to required_precision bits */</span> <span class="special">;</span>
<span class="keyword">return</span> <span class="identifier">result</span><span class="special">;</span>
<span class="special">}</span>
<span class="special">}}}}</span> <span class="comment">// namespaces</span>
</pre>
<p>
Then define a placeholder for the constant itself:
</p>
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">constants</span><span class="special">{</span>
<span class="identifier">BOOST_DEFINE_MATH_CONSTANT</span><span class="special">(</span><span class="identifier">my_constant</span><span class="special">,</span> <span class="number">0.0</span><span class="special">,</span> <span class="string">"0"</span><span class="special">);</span>
<span class="special">}}}</span>
</pre>
<p>
For example, to calculate &#960;/2, add to <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">calculate_constants</span><span class="special">.</span><span class="identifier">hpp</span></code>
</p>
<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">&gt;</span>
<span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">constant_half_pi</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">compute</span><span class="special">(</span><span class="identifier">BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC</span><span class="special">(</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;))</span>
<span class="special">{</span>
<span class="identifier">BOOST_MATH_STD_USING</span>
<span class="keyword">return</span> <span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">digits2</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&gt;()</span> <span class="special">/</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="number">2</span><span class="special">);</span>
<span class="special">}</span>
</pre>
<p>
Then to <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span></code> add:
</p>
<pre class="programlisting"><span class="identifier">BOOST_DEFINE_MATH_CONSTANT</span><span class="special">(</span><span class="identifier">half_pi</span><span class="special">,</span> <span class="number">0.0</span><span class="special">,</span> <span class="string">"0"</span><span class="special">);</span> <span class="comment">// Actual values are temporary, we'll replace them later.</span>
</pre>
<div class="note"><table border="0" summary="Note">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
<th align="left">Note</th>
</tr>
<tr><td align="left" valign="top"><p>
Previously defined constants like pi and e can be used, but by <span class="bold"><strong>not simply calling</strong></span> <code class="computeroutput"><span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;()</span></code>; specifying the precision via the
policy <code class="computeroutput"><span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">digits2</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&gt;()</span></code> is essential to ensure full accuracy.
</p></td></tr>
</table></div>
<div class="warning"><table border="0" summary="Warning">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../../../doc/src/images/warning.png"></td>
<th align="left">Warning</th>
</tr>
<tr><td align="left" valign="top">
<p>
Newly defined constants can only be used once they are included in <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span></code>. So if you add <code class="computeroutput"><span class="keyword">template</span>
<span class="special">&lt;</span><span class="keyword">class</span>
<span class="identifier">T</span><span class="special">,</span>
<span class="keyword">class</span> <span class="identifier">N</span><span class="special">&gt;</span> <span class="identifier">T</span> <span class="identifier">constant_my_constant</span><span class="special">{...}</span></code>,
then you cannot define <code class="computeroutput"><span class="identifier">constant_my_constant</span></code>
until you add the temporary <code class="computeroutput"><span class="identifier">BOOST_DEFINE_MATH_CONSTANT</span><span class="special">(</span><span class="identifier">my_constant</span><span class="special">,</span> <span class="number">0.0</span><span class="special">,</span>
<span class="string">"0"</span><span class="special">)</span></code>.
Failing to do this will result in surprising compile errors:
</p>
<pre class="programlisting"><span class="identifier">error</span> <span class="identifier">C2143</span><span class="special">:</span> <span class="identifier">syntax</span> <span class="identifier">error</span> <span class="special">:</span> <span class="identifier">missing</span> <span class="char">';'</span> <span class="identifier">before</span> <span class="char">'&lt;'</span>
<span class="identifier">error</span> <span class="identifier">C2433</span><span class="special">:</span> <span class="char">'constant_root_two_div_pi'</span> <span class="special">:</span> <span class="char">'inline'</span> <span class="keyword">not</span> <span class="identifier">permitted</span> <span class="identifier">on</span> <span class="identifier">data</span> <span class="identifier">declarations</span>
<span class="identifier">error</span> <span class="identifier">C2888</span><span class="special">:</span> <span class="char">'T constant_root_two_div_pi'</span> <span class="special">:</span> <span class="identifier">symbol</span> <span class="identifier">cannot</span> <span class="identifier">be</span> <span class="identifier">defined</span> <span class="identifier">within</span> <span class="keyword">namespace</span> <span class="char">'detail'</span>
<span class="identifier">error</span> <span class="identifier">C2988</span><span class="special">:</span> <span class="identifier">unrecognizable</span> <span class="keyword">template</span> <span class="identifier">declaration</span><span class="special">/</span><span class="identifier">definition</span>
</pre>
<p>
</p>
</td></tr>
</table></div>
<p>
2. <span class="bold"><strong>You will need an arbitrary precision type to use
to calculate the value</strong></span>. This library currently supports either
<code class="computeroutput"><span class="identifier">cpp_float</span></code>, <code class="computeroutput"><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span></code>
or <code class="computeroutput"><span class="identifier">mpfr_class</span></code> used via the
bindings in <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">bindings</span></code>.
The default is to use <code class="computeroutput"><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span></code> unless
you define an alternate macro, for example, <code class="computeroutput"><span class="identifier">USE_MPFR</span></code>
or <code class="computeroutput"><span class="identifier">USE_CPP_FLOAT</span></code> at the start
of your program.
</p>
<p>
3. It is necessary to link to the Boost.Regex library, and probably to your
chosen arbitrary precision type library.
</p>
<p>
4. The complete program to generate the constant <code class="computeroutput"><span class="identifier">half_pi</span></code>
using function <code class="computeroutput"><span class="identifier">calculate_half_pi</span></code>
is then:
</p>
<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">USE_CPP_FLOAT</span> <span class="comment">// If required.</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">generate</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
<span class="special">{</span>
<span class="identifier">BOOST_CONSTANTS_GENERATE</span><span class="special">(</span><span class="identifier">half_pi</span><span class="special">);</span>
<span class="special">}</span>
</pre>
<p>
The output from the program is a snippet of C++ code (actually a macro call)
that can be cut and pasted into <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span></code> or else into your own code, for example:
</p>
<pre class="programlisting">BOOST_DEFINE_MATH_CONSTANT(half_pi, 1.570796326794896619231321691639751442e+00, "1.57079632679489661923132169163975144209858469968755291048747229615390820314310449931401741267105853399107404326e+00");
</pre>
<p>
This macro BOOST_DEFINE_MATH_CONSTANT inserts a C++ struct code snippet that
declares the <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span>
<span class="keyword">double</span></code> versions of the constant, plus
a decimal digit string representation correct to 100 decimal digits, and
all the meta-programming machinery needed to select between them.
</p>
<p>
The result of an expanded macro for Pi is shown below.
</p>
<p>
</p>
<pre class="programlisting"><span class="comment">// Preprocessed pi constant, annotated.</span>
<span class="keyword">namespace</span> <span class="identifier">boost</span>
<span class="special">{</span>
<span class="keyword">namespace</span> <span class="identifier">math</span>
<span class="special">{</span>
<span class="keyword">namespace</span> <span class="identifier">constants</span>
<span class="special">{</span>
<span class="keyword">namespace</span> <span class="identifier">detail</span>
<span class="special">{</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">constant_pi</span>
<span class="special">{</span>
<span class="keyword">private</span><span class="special">:</span>
<span class="comment">// Default implementations from string of decimal digits:</span>
<span class="keyword">static</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">get_from_string</span><span class="special">()</span>
<span class="special">{</span>
<span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">result</span>
<span class="special">=</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">convert_from_string</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="string">"3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651e+00"</span><span class="special">,</span>
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_convertible</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*,</span> <span class="identifier">T</span><span class="special">&gt;());</span>
<span class="keyword">return</span> <span class="identifier">result</span><span class="special">;</span>
<span class="special">}</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">&gt;</span> <span class="keyword">static</span> <span class="identifier">T</span> <span class="identifier">compute</span><span class="special">();</span>
<span class="keyword">public</span><span class="special">:</span>
<span class="comment">// Default implementations from string of decimal digits:</span>
<span class="keyword">static</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">construct_from_string</span><span class="special">&gt;&amp;)</span>
<span class="special">{</span>
<span class="identifier">constant_initializer</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="special">&amp;</span> <span class="identifier">constant_pi</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">get_from_string</span> <span class="special">&gt;::</span><span class="identifier">do_nothing</span><span class="special">();</span>
<span class="keyword">return</span> <span class="identifier">get_from_string</span><span class="special">();</span>
<span class="special">}</span>
<span class="comment">// Float, double and long double versions:</span>
<span class="keyword">static</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">construct_from_float</span><span class="special">&gt;)</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="number">3.141592653589793238462643383279502884e+00F</span><span class="special">;</span>
<span class="special">}</span>
<span class="keyword">static</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">construct_from_double</span><span class="special">&gt;&amp;)</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="number">3.141592653589793238462643383279502884e+00</span><span class="special">;</span>
<span class="special">}</span>
<span class="keyword">static</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">construct_from_long_double</span><span class="special">&gt;&amp;)</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="number">3.141592653589793238462643383279502884e+00L</span><span class="special">;</span>
<span class="special">}</span>
<span class="comment">// For very high precision that is nonetheless can be calculated at compile time:</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">&gt;</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;&amp;</span> <span class="identifier">n</span><span class="special">)</span>
<span class="special">{</span>
<span class="identifier">constant_initializer2</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">,</span> <span class="special">&amp;</span> <span class="identifier">constant_pi</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="keyword">template</span> <span class="identifier">compute</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">do_nothing</span><span class="special">();</span>
<span class="keyword">return</span> <span class="identifier">compute</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;();</span>
<span class="special">}</span>
<span class="comment">//For true arbitrary precision, which may well vary at runtime.</span>
<span class="keyword">static</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;&amp;)</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">tools</span><span class="special">::</span><span class="identifier">digits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;()</span> <span class="special">&gt;</span> <span class="identifier">max_string_digits</span> <span class="special">?</span> <span class="identifier">compute</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;()</span> <span class="special">:</span> <span class="identifier">get</span><span class="special">(</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">construct_from_string</span><span class="special">&gt;());</span>
<span class="special">}</span>
<span class="special">};</span> <span class="comment">// template &lt;class T&gt; struct constant_pi</span>
<span class="special">}</span> <span class="comment">// namespace detail</span>
<span class="comment">// The actual forwarding function (including policy to control precision).</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">pi</span><span class="special">(</span> <span class="special">)</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">detail</span><span class="special">::</span> <span class="identifier">constant_pi</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">get</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">construction_traits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">Policy</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">());</span>
<span class="special">}</span>
<span class="comment">// The actual forwarding function (using default policy to control precision).</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">pi</span><span class="special">()</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;&gt;</span> <span class="special">&gt;()</span>
<span class="special">}</span>
<span class="special">}</span> <span class="comment">// namespace constants</span>
<span class="comment">// Namespace specific versions, for the three built-in floats:</span>
<span class="keyword">namespace</span> <span class="identifier">float_constants</span>
<span class="special">{</span>
<span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">float</span> <span class="identifier">pi</span> <span class="special">=</span> <span class="number">3.141592653589793238462643383279502884e+00F</span><span class="special">;</span>
<span class="special">}</span>
<span class="keyword">namespace</span> <span class="identifier">double_constants</span>
<span class="special">{</span>
<span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">pi</span> <span class="special">=</span> <span class="number">3.141592653589793238462643383279502884e+00</span><span class="special">;</span>
<span class="special">}</span>
<span class="keyword">namespace</span> <span class="identifier">long_double_constants</span>
<span class="special">{</span>
<span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">pi</span> <span class="special">=</span> <span class="number">3.141592653589793238462643383279502884e+00L</span><span class="special">;</span>
<span class="special">}</span>
<span class="keyword">namespace</span> <span class="identifier">constants</span><span class="special">{;</span>
<span class="special">}</span> <span class="comment">// namespace constants</span>
<span class="special">}</span> <span class="comment">// namespace math</span>
<span class="special">}</span> <span class="comment">// namespace boost</span>
</pre>
<p>
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="constants.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="FAQ.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,52 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Tutorial</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="../../index.html" title="Math Toolkit">
<link rel="up" href="../constants.html" title="Mathematical Constants">
<link rel="prev" href="intro.html" title="Introduction">
<link rel="next" href="tutorial/non_templ.html" title="Use in non-template code">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="intro.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial/non_templ.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section math_toolkit_constants_tutorial">
<div class="titlepage"><div><div><h3 class="title">
<a name="math_toolkit.constants.tutorial"></a><a class="link" href="tutorial.html" title="Tutorial">Tutorial</a>
</h3></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="tutorial/non_templ.html">Use in non-template
code</a></span></dt>
<dt><span class="section"><a href="tutorial/templ.html">Use in template
code</a></span></dt>
<dt><span class="section"><a href="tutorial/user_def.html">Use With
User Defined Types</a></span></dt>
</dl></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="intro.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial/non_templ.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,82 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Use in non-template code</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="../../../index.html" title="Math Toolkit">
<link rel="up" href="../tutorial.html" title="Tutorial">
<link rel="prev" href="../tutorial.html" title="Tutorial">
<link rel="next" href="templ.html" title="Use in template code">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../tutorial.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="templ.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section math_toolkit_constants_tutorial_non_templ">
<div class="titlepage"><div><div><h4 class="title">
<a name="math_toolkit.constants.tutorial.non_templ"></a><a class="link" href="non_templ.html" title="Use in non-template code">Use in non-template
code</a>
</h4></div></div></div>
<p>
When using the math constants at your chosen fixed precision in non-template
code, you can simply add a <code class="computeroutput"><span class="keyword">using</span></code>
declaration, for example, <code class="computeroutput"><span class="keyword">using</span>
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">double_constants</span></code>, to make the constants
of the correct precision for your code visible in the current scope, and
then use each constant <span class="emphasis"><em>as a simple variable</em></span>:
</p>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="keyword">double</span> <span class="identifier">area</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">r</span><span class="special">)</span>
<span class="special">{</span>
<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">double_constants</span><span class="special">;</span>
<span class="keyword">return</span> <span class="identifier">pi</span> <span class="special">*</span> <span class="identifier">r</span> <span class="special">*</span> <span class="identifier">r</span><span class="special">;</span>
<span class="special">}</span>
</pre>
<p>
Had our function been written as taking a <code class="computeroutput"><span class="keyword">float</span></code>
rather than a <code class="computeroutput"><span class="keyword">double</span></code>, we could
have written instead:
</p>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="keyword">float</span> <span class="identifier">area</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">r</span><span class="special">)</span>
<span class="special">{</span>
<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">float_constants</span><span class="special">;</span>
<span class="keyword">return</span> <span class="identifier">pi</span> <span class="special">*</span> <span class="identifier">r</span> <span class="special">*</span> <span class="identifier">r</span><span class="special">;</span>
<span class="special">}</span>
</pre>
<p>
Likewise, constants that are suitable for use at <code class="computeroutput"><span class="keyword">long</span>
<span class="keyword">double</span></code> precision are available in
the namespace <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">long_double_constants</span></code>.
</p>
<p>
You can see the full list of available constants at <a class="link" href="../constants.html" title="The Mathematical Constants">math_toolkit.constants.constants</a>.
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../tutorial.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="templ.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,164 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Use in template code</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="../../../index.html" title="Math Toolkit">
<link rel="up" href="../tutorial.html" title="Tutorial">
<link rel="prev" href="non_templ.html" title="Use in non-template code">
<link rel="next" href="user_def.html" title="Use With User Defined Types">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="non_templ.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="user_def.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section math_toolkit_constants_tutorial_templ">
<div class="titlepage"><div><div><h4 class="title">
<a name="math_toolkit.constants.tutorial.templ"></a><a class="link" href="templ.html" title="Use in template code">Use in template
code</a>
</h4></div></div></div>
<p>
When using the constants inside a function template, we need to ensure
that we use a constant of the correct precision for our template parameters.
We can do this by calling the function-template versions, <code class="computeroutput"><span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">FPType</span><span class="special">&gt;()</span></code>,
of the constants like this:
</p>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Real</span><span class="special">&gt;</span>
<span class="identifier">Real</span> <span class="identifier">area</span><span class="special">(</span><span class="identifier">Real</span> <span class="identifier">r</span><span class="special">)</span>
<span class="special">{</span>
<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">;</span>
<span class="keyword">return</span> <span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">Real</span><span class="special">&gt;()</span> <span class="special">*</span> <span class="identifier">r</span> <span class="special">*</span> <span class="identifier">r</span><span class="special">;</span>
<span class="special">}</span>
</pre>
<p>
Although this syntax is a little less "cute" than the non-template
version, the code is no less efficient (at least for the built-in types
<code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code>
and <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>)
: the function template versions of the constants are simple inline functions
that return a constant of the correct precision for the type used. In addition,
these functions are declared <code class="computeroutput"><span class="identifier">constexp</span></code>
for those compilers that support this, allowing the result to be used in
constant-expressions provided the template argument is a literal type.
</p>
<div class="tip"><table border="0" summary="Tip">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../../../doc/src/images/tip.png"></td>
<th align="left">Tip</th>
</tr>
<tr><td align="left" valign="top"><p>
Keep in mind the difference between the variable version, just <code class="computeroutput"><span class="identifier">pi</span></code>, and the template-function version:
the template-function requires both a &lt;<em class="replaceable"><code>floating-point-type</code></em>&gt;
and function call <code class="computeroutput"><span class="special">()</span></code> brackets,
for example: <code class="computeroutput"><span class="identifier">pi</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;()</span></code>.
You cannot write <code class="computeroutput"><span class="keyword">double</span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">pi</span><span class="special">&lt;&gt;()</span></code>,
nor <code class="computeroutput"><span class="keyword">double</span> <span class="identifier">p</span>
<span class="special">=</span> <span class="identifier">pi</span><span class="special">()</span></code>.
</p></td></tr>
</table></div>
<div class="note"><table border="0" summary="Note">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../doc/src/images/note.png"></td>
<th align="left">Note</th>
</tr>
<tr><td align="left" valign="top">
<p>
You can always use <span class="bold"><strong>both</strong></span> variable and
template-function versions <span class="bold"><strong>provided calls are fully
qualified</strong></span>, for example:
</p>
<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">my_pi1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;();</span>
<span class="keyword">double</span> <span class="identifier">my_pi2</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">double_constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">;</span>
</pre>
<p>
</p>
</td></tr>
</table></div>
<div class="warning"><table border="0" summary="Warning">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../../../../doc/src/images/warning.png"></td>
<th align="left">Warning</th>
</tr>
<tr><td align="left" valign="top">
<p>
It may be tempting to simply define
</p>
<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">double_constants</span><span class="special">;</span>
<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">;</span>
</pre>
<p>
but if you do define two namespaces, this will, of course, create ambiguity!
</p>
<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">my_pi</span> <span class="special">=</span> <span class="identifier">pi</span><span class="special">();</span> <span class="comment">// error C2872: 'pi' : ambiguous symbol</span>
<span class="keyword">double</span> <span class="identifier">my_pi2</span> <span class="special">=</span> <span class="identifier">pi</span><span class="special">;</span> <span class="comment">// Context does not allow for disambiguation of overloaded function</span>
</pre>
<p>
Although the mistake above is fairly obvious, it is also not too difficult
to do this accidentally, or worse, create it in someone elses code.
</p>
<p>
Therefore is it prudent to avoid this risk by <span class="bold"><strong>localising
the scope of such definitions</strong></span>, as shown above.
</p>
</td></tr>
</table></div>
<div class="tip"><table border="0" summary="Tip">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../../../doc/src/images/tip.png"></td>
<th align="left">Tip</th>
</tr>
<tr><td align="left" valign="top">
<p>
Be very careful with the type provided as parameter. For example, providing
an <span class="bold"><strong>integer</strong></span> instead of a floating-point
type can be disastrous (a C++ feature).
</p>
<p>
</p>
<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Area = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">area</span><span class="special">(</span><span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Area = 12!!!</span></pre>
<p>
</p>
<p>
You should get a compiler warning
</p>
<pre class="programlisting">warning : 'return' : conversion from 'double' to 'int', possible loss of data
</pre>
<p>
Failure to heed this warning can lead to very wrong answers!
</p>
<p>
You can also avoid this by being explicit about the type of <code class="computeroutput"><span class="identifier">Area</span></code>.
</p>
<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Area = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">area</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Area = 12.566371</span></pre>
<p>
</p>
</td></tr>
</table></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="non_templ.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="user_def.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,313 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Use With User Defined Types</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="../../../index.html" title="Math Toolkit">
<link rel="up" href="../tutorial.html" title="Tutorial">
<link rel="prev" href="templ.html" title="Use in template code">
<link rel="next" href="../constants.html" title="The Mathematical Constants">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="templ.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../constants.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section math_toolkit_constants_tutorial_user_def">
<div class="titlepage"><div><div><h4 class="title">
<a name="math_toolkit.constants.tutorial.user_def"></a><a class="link" href="user_def.html" title="Use With User Defined Types">Use With
User Defined Types</a>
</h4></div></div></div>
<p>
The syntax for using the function-call constants with user-defined types
is the same as it is in the template class, which is to say we use:
</p>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">UserDefinedType</span><span class="special">&gt;();</span>
</pre>
<p>
However, since the precision of the user-defined type may be much greater
than that of the built-in floating pointer types, how the value returned
is created is as follows:
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
If the precision of the type is known at compile time:
<div class="itemizedlist"><ul class="itemizedlist" type="circle">
<li class="listitem">
If the precision is less than or equal to that of a <code class="computeroutput"><span class="keyword">float</span></code> and the type is constructable
from a <code class="computeroutput"><span class="keyword">float</span></code> then
our code returns a <code class="computeroutput"><span class="keyword">float</span></code>
literal. If the user-defined type is a literal type then the
function call that returns the constant will be a <code class="computeroutput"><span class="identifier">constexp</span></code>.
</li>
<li class="listitem">
If the precision is less than or equal to that of a <code class="computeroutput"><span class="keyword">double</span></code> and the type is constructable
from a <code class="computeroutput"><span class="keyword">double</span></code> then
our code returns a <code class="computeroutput"><span class="keyword">double</span></code>
literal. If the user-defined type is a literal type then the
function call that returns the constant will be a <code class="computeroutput"><span class="identifier">constexp</span></code>.
</li>
<li class="listitem">
If the precision is less than or equal to that of a <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>
and the type is constructable from a <code class="computeroutput"><span class="keyword">long</span>
<span class="keyword">double</span></code> then our code returns
a <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>
literal. If the user-defined type is a literal type then the
function call that returns the constant will be a <code class="computeroutput"><span class="identifier">constexp</span></code>.
</li>
<li class="listitem">
If the precision is less than 100 decimal digits, then the constant
will be constructed (just the once, then cached in a thread-safe
manner) from a string representation of the constant.
</li>
<li class="listitem">
Otherwise the value is computed (just once, then cached in a
thread-safe manner).
</li>
</ul></div>
</li>
<li class="listitem">
If the precision is unknown at compile time then:
<div class="itemizedlist"><ul class="itemizedlist" type="circle">
<li class="listitem">
If the runtime precision (obtained from a call to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">::</span><span class="identifier">digits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;()</span></code>)
is less than 100 decimal digits, then the constant is constructed
"on the fly" from the string representation of the
constant.
</li>
<li class="listitem">
Otherwise the value is constructed "on the fly" by
calculating then value of the constant using the current default
precision of the type. Note that this can make use of the constants
rather expensive.
</li>
</ul></div>
</li>
</ul></div>
<p>
In addition, it is possible to pass a <code class="computeroutput"><span class="identifier">Policy</span></code>
type as a second template argument, and use this to control the precision:
</p>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">digits2</span><span class="special">&lt;</span><span class="number">80</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">my_policy_type</span><span class="special">;</span>
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">MyType</span><span class="special">,</span> <span class="identifier">my_policy_type</span><span class="special">&gt;();</span>
</pre>
<div class="note"><table border="0" summary="Note">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../doc/src/images/note.png"></td>
<th align="left">Note</th>
</tr>
<tr><td align="left" valign="top"><p>
Boost.Math doesn't know how to control the internal precision of <code class="computeroutput"><span class="identifier">MyType</span></code>, the policy just controls how
the selection process above is carried out, and the calculation precision
if the result is computed.
</p></td></tr>
</table></div>
<p>
It is also possible to control which method is used to construct the constant
by specialising the traits class <code class="computeroutput"><span class="identifier">construction_traits</span></code>:
</p>
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">constant</span><span class="special">{</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">construction_traits</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="special">}}}</span> <span class="comment">// namespaces</span>
</pre>
<p>
Where <span class="emphasis"><em>N</em></span> takes one of the following values:
</p>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
<span class="emphasis"><em>N</em></span>
</p>
</th>
<th>
<p>
Meaning
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
0
</p>
</td>
<td>
<p>
The precision is unavailable at compile time; either construct
from a decimal digit string or calculate on the fly depending
upon the runtime precision.
</p>
</td>
</tr>
<tr>
<td>
<p>
1
</p>
</td>
<td>
<p>
Return a float precision constant.
</p>
</td>
</tr>
<tr>
<td>
<p>
2
</p>
</td>
<td>
<p>
Return a double precision constant.
</p>
</td>
</tr>
<tr>
<td>
<p>
3
</p>
</td>
<td>
<p>
Return a long double precision constant.
</p>
</td>
</tr>
<tr>
<td>
<p>
4
</p>
</td>
<td>
<p>
Construct the result from the string representation, and cache
the result.
</p>
</td>
</tr>
<tr>
<td>
<p>
Any other value <span class="emphasis"><em>N</em></span>
</p>
</td>
<td>
<p>
Sets the compile time precision to <span class="emphasis"><em>N</em></span> bits.
</p>
</td>
</tr>
</tbody>
</table></div>
<h6>
<a name="math_toolkit.constants.tutorial.user_def.h0"></a>
<span><a name="math_toolkit.constants.tutorial.user_def.custom_specializing_a_constant"></a></span><a class="link" href="user_def.html#math_toolkit.constants.tutorial.user_def.custom_specializing_a_constant">Custom
Specializing a constant</a>
</h6>
<p>
In addition, for user-defined types that need special handling, it's possible
to [partially-] specialize the internal structure used by each constant.
For example, suppose we're using the C++ wrapper around MPFR <code class="computeroutput"><span class="identifier">mpfr_class</span></code>: this has its own representation
of Pi which we may well wish to use in place of the above mechanism. We
can achieve this by specialising the class template <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">constant_pi</span></code>:
</p>
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">constants</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">detail</span><span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;&gt;</span>
<span class="keyword">struct</span> <span class="identifier">constant_pi</span><span class="special">&lt;</span><span class="identifier">mpfr_class</span><span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">&gt;</span>
<span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;&amp;)</span>
<span class="special">{</span>
<span class="comment">// The template param N is one of the values in the table above,</span>
<span class="comment">// we can either handle all cases in one as is the case here,</span>
<span class="comment">// or overload "get" for the different options.</span>
<span class="identifier">mpfr_class</span> <span class="identifier">result</span><span class="special">;</span>
<span class="identifier">mpfr_const_pi</span><span class="special">(</span><span class="identifier">result</span><span class="special">.</span><span class="identifier">get_mpfr_t</span><span class="special">(),</span> <span class="identifier">GMP_RNDN</span><span class="special">);</span>
<span class="keyword">return</span> <span class="identifier">result</span><span class="special">;</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="special">}}}}</span> <span class="comment">// namespaces</span>
</pre>
<h6>
<a name="math_toolkit.constants.tutorial.user_def.h1"></a>
<span><a name="math_toolkit.constants.tutorial.user_def.diagnosing_what_meta_programmed_code_is_doing"></a></span><a class="link" href="user_def.html#math_toolkit.constants.tutorial.user_def.diagnosing_what_meta_programmed_code_is_doing">Diagnosing
what meta-programmed code is doing</a>
</h6>
<p>
Finally, since it can be tricky to diagnose what meta-programmed code is
doing, there is a diagnostic routine that prints information about how
this library will handle a specific type, it can be used like this:
</p>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">info</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
<span class="special">{</span>
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">print_info_on_type</span><span class="special">&lt;</span><span class="identifier">MyType</span><span class="special">&gt;();</span>
<span class="special">}</span>
</pre>
<p>
If you wish, you can also pass an optional std::ostream argument to the
<code class="computeroutput"><span class="identifier">print_info_on_type</span></code> function.
Typical output for a user-defined type looks like this:
</p>
<pre class="programlisting">Information on the Implementation and Handling of
Mathematical Constants for Type class boost::math::concepts::real_concept
Checking for std::numeric_limits&lt;class boost::math::concepts::real_concept&gt; specialisation: no
boost::math::policies::precision&lt;class boost::math::concepts::real_concept, Policy&gt;
reports that there is no compile type precision available.
boost::math::tools::digits&lt;class boost::math::concepts::real_concept&gt;()
reports that the current runtime precision is
53 binary digits.
No compile time precision is available, the construction method
will be decided at runtime and results will not be cached
- this may lead to poor runtime performance.
Current runtime precision indicates that
the constant will be constructed from a string on each call.
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="templ.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../constants.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -190,6 +190,8 @@
Distribution</a></span></dt>
<dt><span class="section"><a href="dist/dist_ref/dists/rayleigh.html">Rayleigh
Distribution</a></span></dt>
<dt><span class="section"><a href="dist/dist_ref/dists/skew_normal_dist.html">Skew
Normal Distribution</a></span></dt>
<dt><span class="section"><a href="dist/dist_ref/dists/students_t_dist.html">Students
t Distribution</a></span></dt>
<dt><span class="section"><a href="dist/dist_ref/dists/triangular_dist.html">Triangular
@@ -208,7 +210,7 @@
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>

View File

@@ -81,6 +81,8 @@
Distribution</a></span></dt>
<dt><span class="section"><a href="dist_ref/dists/rayleigh.html">Rayleigh
Distribution</a></span></dt>
<dt><span class="section"><a href="dist_ref/dists/skew_normal_dist.html">Skew
Normal Distribution</a></span></dt>
<dt><span class="section"><a href="dist_ref/dists/students_t_dist.html">Students
t Distribution</a></span></dt>
<dt><span class="section"><a href="dist_ref/dists/triangular_dist.html">Triangular
@@ -97,7 +99,7 @@
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>

View File

@@ -129,7 +129,7 @@
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>

View File

@@ -77,6 +77,8 @@
Distribution</a></span></dt>
<dt><span class="section"><a href="dists/rayleigh.html">Rayleigh
Distribution</a></span></dt>
<dt><span class="section"><a href="dists/skew_normal_dist.html">Skew
Normal Distribution</a></span></dt>
<dt><span class="section"><a href="dists/students_t_dist.html">Students
t Distribution</a></span></dt>
<dt><span class="section"><a href="dists/triangular_dist.html">Triangular
@@ -90,7 +92,7 @@
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>

View File

@@ -343,7 +343,7 @@
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>

View File

@@ -612,7 +612,7 @@
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>

View File

@@ -904,7 +904,7 @@
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>

View File

@@ -294,7 +294,7 @@
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>

View File

@@ -400,7 +400,7 @@ independent, normally distributed random
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>

View File

@@ -318,7 +318,7 @@
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>

View File

@@ -320,7 +320,7 @@
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>

View File

@@ -427,7 +427,7 @@
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>

Some files were not shown because too many files have changed in this diff Show More