blob: c1bdaf7d8724c98637dc2f3d9a31c21b26faba4d [file] [log] [blame]
Jeff Thompsonef2d5a42013-08-22 19:09:24 -07001// Copyright John Maddock 2007.
2// Copyright Paul A. Bristow 2007.
3
4// Use, modification and distribution are subject to the
5// Boost Software License, Version 1.0.
6// (See accompanying file LICENSE_1_0.txt
7// or copy at http://www.boost.org/LICENSE_1_0.txt)
8
9#ifndef BOOST_MATH_TOOLS_USER_HPP
10#define BOOST_MATH_TOOLS_USER_HPP
11
12#ifdef _MSC_VER
13#pragma once
14#endif
15
16// This file can be modified by the user to change the default policies.
17// See "Changing the Policy Defaults" in documentation.
18
19// define this if the platform has no long double functions,
20// or if the long double versions have only double precision:
21//
22// #define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
23//
24// Performance tuning options:
25//
26// #define BOOST_MATH_POLY_METHOD 3
27// #define BOOST_MATH_RATIONAL_METHOD 3
28//
29// The maximum order of polynomial that will be evaluated
30// via an unrolled specialisation:
31//
32// #define BOOST_MATH_MAX_POLY_ORDER 17
33//
34// decide whether to store constants as integers or reals:
35//
36// #define BOOST_MATH_INT_TABLE_TYPE(RT, IT) IT
37
38//
39// Default policies follow:
40//
41// Domain errors:
42//
43// #define BOOST_MATH_DOMAIN_ERROR_POLICY throw_on_error
44//
45// Pole errors:
46//
47// #define BOOST_MATH_POLE_ERROR_POLICY throw_on_error
48//
49// Overflow Errors:
50//
51// #define BOOST_MATH_OVERFLOW_ERROR_POLICY throw_on_error
52//
53// Internal Evaluation Errors:
54//
55// #define BOOST_MATH_EVALUATION_ERROR_POLICY throw_on_error
56//
57// Underfow:
58//
59// #define BOOST_MATH_UNDERFLOW_ERROR_POLICY ignore_error
60//
61// Denorms:
62//
63// #define BOOST_MATH_DENORM_ERROR_POLICY ignore_error
64//
65// Max digits to use for internal calculations:
66//
67// #define BOOST_MATH_DIGITS10_POLICY 0
68//
69// Promote floats to doubles internally?
70//
71// #define BOOST_MATH_PROMOTE_FLOAT_POLICY true
72//
73// Promote doubles to long double internally:
74//
75// #define BOOST_MATH_PROMOTE_DOUBLE_POLICY true
76//
77// What do discrete quantiles return?
78//
79// #define BOOST_MATH_DISCRETE_QUANTILE_POLICY integer_round_outwards
80//
81// If a function is mathematically undefined
82// (for example the Cauchy distribution has no mean),
83// then do we stop the code from compiling?
84//
85// #define BOOST_MATH_ASSERT_UNDEFINED_POLICY true
86//
87// Maximum series iterstions permitted:
88//
89// #define BOOST_MATH_MAX_SERIES_ITERATION_POLICY 1000000
90//
91// Maximum root finding steps permitted:
92//
93// define BOOST_MATH_MAX_ROOT_ITERATION_POLICY 200
94
95#endif // BOOST_MATH_TOOLS_USER_HPP
96
97