Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
policy.hpp File Reference
#include <boost/mpl/list.hpp>
#include <boost/mpl/contains.hpp>
#include <boost/mpl/if.hpp>
#include <boost/mpl/find_if.hpp>
#include <boost/mpl/remove_if.hpp>
#include <boost/mpl/vector.hpp>
#include <boost/mpl/push_back.hpp>
#include <boost/mpl/at.hpp>
#include <boost/mpl/size.hpp>
#include <boost/mpl/comparison.hpp>
#include <boost/type_traits/is_same.hpp>
#include <boost/static_assert.hpp>
#include <boost/assert.hpp>
#include <boost/math/tools/config.hpp>
#include <limits>
#include <limits.h>
#include <stdlib.h>
#include <stddef.h>
#include <math.h>
Include dependency graph for policy.hpp:
This graph shows which files directly or indirectly include this file:

Classes

struct  boost::math::policies::domain_error< N >
 
struct  boost::math::policies::detail::is_domain_error_imp< T >
 
struct  boost::math::policies::is_domain_error< T >
 
struct  boost::math::policies::pole_error< N >
 
struct  boost::math::policies::detail::is_pole_error_imp< T >
 
struct  boost::math::policies::is_pole_error< T >
 
struct  boost::math::policies::overflow_error< N >
 
struct  boost::math::policies::detail::is_overflow_error_imp< T >
 
struct  boost::math::policies::is_overflow_error< T >
 
struct  boost::math::policies::underflow_error< N >
 
struct  boost::math::policies::detail::is_underflow_error_imp< T >
 
struct  boost::math::policies::is_underflow_error< T >
 
struct  boost::math::policies::denorm_error< N >
 
struct  boost::math::policies::detail::is_denorm_error_imp< T >
 
struct  boost::math::policies::is_denorm_error< T >
 
struct  boost::math::policies::evaluation_error< N >
 
struct  boost::math::policies::detail::is_evaluation_error_imp< T >
 
struct  boost::math::policies::is_evaluation_error< T >
 
struct  boost::math::policies::rounding_error< N >
 
struct  boost::math::policies::detail::is_rounding_error_imp< T >
 
struct  boost::math::policies::is_rounding_error< T >
 
struct  boost::math::policies::indeterminate_result_error< N >
 
struct  boost::math::policies::detail::is_indeterminate_result_error_imp< T >
 
struct  boost::math::policies::is_indeterminate_result_error< T >
 
struct  boost::math::policies::promote_float< N >
 
struct  boost::math::policies::detail::is_promote_float_imp< T >
 
struct  boost::math::policies::is_promote_float< T >
 
struct  boost::math::policies::promote_double< N >
 
struct  boost::math::policies::detail::is_promote_double_imp< T >
 
struct  boost::math::policies::is_promote_double< T >
 
struct  boost::math::policies::assert_undefined< N >
 
struct  boost::math::policies::detail::is_assert_undefined_imp< T >
 
struct  boost::math::policies::is_assert_undefined< T >
 
struct  boost::math::policies::discrete_quantile< N >
 
struct  boost::math::policies::detail::is_discrete_quantile_imp< T >
 
struct  boost::math::policies::is_discrete_quantile< T >
 
struct  boost::math::policies::digits10< N >
 
struct  boost::math::policies::detail::is_digits10_imp< T >
 
struct  boost::math::policies::is_digits10< T >
 
struct  boost::math::policies::digits2< N >
 
struct  boost::math::policies::detail::is_digits2_imp< T >
 
struct  boost::math::policies::is_digits2< T >
 
struct  boost::math::policies::max_series_iterations< N >
 
struct  boost::math::policies::detail::is_max_series_iterations_imp< T >
 
struct  boost::math::policies::is_max_series_iterations< T >
 
struct  boost::math::policies::max_root_iterations< N >
 
struct  boost::math::policies::detail::is_max_root_iterations_imp< T >
 
struct  boost::math::policies::is_max_root_iterations< T >
 
struct  boost::math::policies::default_policy
 
struct  boost::math::policies::detail::precision< Digits10, Digits2 >
 
struct  boost::math::policies::detail::select_result< A, B, b >
 
struct  boost::math::policies::detail::select_result< A, B, false >
 
struct  boost::math::policies::detail::find_arg< Seq, Pred, DefaultType >
 
struct  boost::math::policies::detail::is_valid_policy_imp< T >
 
struct  boost::math::policies::detail::is_default_policy_imp< T >
 
struct  boost::math::policies::detail::is_valid_policy< T >
 
struct  boost::math::policies::detail::is_default_policy< T >
 
struct  boost::math::policies::detail::is_default_policy< T >::apply< U >
 
struct  boost::math::policies::detail::append_N< Seq, T, N >
 
struct  boost::math::policies::detail::append_N< Seq, T, 0 >
 
struct  boost::math::policies::detail::default_args< f, d >
 
struct  boost::math::policies::detail::default_args< false, false >
 
struct  boost::math::policies::detail::default_args< true, false >
 
struct  boost::math::policies::detail::default_args< false, true >
 
struct  boost::math::policies::policy< A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13 >
 
struct  boost::math::policies::policy< default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy >
 
struct  boost::math::policies::policy< detail::forwarding_arg1, detail::forwarding_arg2, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy >
 
struct  boost::math::policies::normalise< Policy, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13 >
 
struct  boost::math::policies::normalise< policy<>, promote_float< false >, promote_double< false >, discrete_quantile<>, assert_undefined<>, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy >
 
struct  boost::math::policies::normalise< policy< detail::forwarding_arg1, detail::forwarding_arg2 >, promote_float< false >, promote_double< false >, discrete_quantile<>, assert_undefined<>, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy >
 
struct  boost::math::policies::evaluation< Real, Policy >
 
struct  boost::math::policies::evaluation< float, Policy >
 
struct  boost::math::policies::evaluation< double, Policy >
 
struct  boost::math::policies::precision< Real, Policy >
 
struct  boost::math::policies::detail::series_factor_calc< T, Digits, Small, Default >
 
struct  boost::math::policies::detail::series_factor_calc< T, Digits, mpl::true_, mpl::true_ >
 
struct  boost::math::policies::detail::series_factor_calc< T, Digits, mpl::true_, mpl::false_ >
 
struct  boost::math::policies::detail::series_factor_calc< T, Digits, mpl::false_, mpl::true_ >
 
struct  boost::math::policies::detail::is_policy_imp< P >
 
struct  boost::math::policies::is_policy< P >
 
struct  boost::math::policies::constructor_error_check< Policy >
 
struct  boost::math::policies::method_error_check< Policy >
 

Namespaces

 boost
 Duration formatting facet for input.
 
 boost::math
 
 boost::math::tools
 
 boost::math::policies
 
 boost::math::policies::detail
 

Macros

#define BOOST_MATH_DOMAIN_ERROR_POLICY   throw_on_error
 
#define BOOST_MATH_POLE_ERROR_POLICY   throw_on_error
 
#define BOOST_MATH_OVERFLOW_ERROR_POLICY   throw_on_error
 
#define BOOST_MATH_EVALUATION_ERROR_POLICY   throw_on_error
 
#define BOOST_MATH_ROUNDING_ERROR_POLICY   throw_on_error
 
#define BOOST_MATH_UNDERFLOW_ERROR_POLICY   ignore_error
 
#define BOOST_MATH_DENORM_ERROR_POLICY   ignore_error
 
#define BOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY   ignore_error
 
#define BOOST_MATH_DIGITS10_POLICY   0
 
#define BOOST_MATH_PROMOTE_FLOAT_POLICY   true
 
#define BOOST_MATH_PROMOTE_DOUBLE_POLICY   true
 
#define BOOST_MATH_DISCRETE_QUANTILE_POLICY   integer_round_outwards
 
#define BOOST_MATH_ASSERT_UNDEFINED_POLICY   true
 
#define BOOST_MATH_MAX_SERIES_ITERATION_POLICY   1000000
 
#define BOOST_MATH_MAX_ROOT_ITERATION_POLICY   200
 
#define BOOST_MATH_META_INT(type, name, Default)
 
#define BOOST_MATH_META_BOOL(name, Default)
 
#define BOOST_MATH_PARAMETER(name)
 

Typedefs

typedef default_args< true,
true >::arg1 
boost::math::policies::detail::forwarding_arg1
 
typedef default_args< true,
true >::arg2 
boost::math::policies::detail::forwarding_arg2
 

Enumerations

enum  boost::math::policies::error_policy_type {
  boost::math::policies::throw_on_error = 0,
  boost::math::policies::errno_on_error = 1,
  boost::math::policies::ignore_error = 2,
  boost::math::policies::user_error = 3
}
 
enum  boost::math::policies::discrete_quantile_policy_type {
  boost::math::policies::real,
  boost::math::policies::integer_round_outwards,
  boost::math::policies::integer_round_inwards,
  boost::math::policies::integer_round_down,
  boost::math::policies::integer_round_up,
  boost::math::policies::integer_round_nearest
}
 

Functions

template<class T >
int boost::math::tools::digits (BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T))
 
template<class T >
T boost::math::tools::epsilon (BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T))
 
template<error_policy_type N>
char boost::math::policies::detail::test_is_valid_arg (const domain_error< N > *)
 
char boost::math::policies::detail::test_is_default_arg (const domain_error< throw_on_error > *)
 
template<error_policy_type N>
char boost::math::policies::detail::test_is_valid_arg (const pole_error< N > *)
 
char boost::math::policies::detail::test_is_default_arg (const pole_error< throw_on_error > *)
 
template<error_policy_type N>
char boost::math::policies::detail::test_is_valid_arg (const overflow_error< N > *)
 
char boost::math::policies::detail::test_is_default_arg (const overflow_error< throw_on_error > *)
 
template<error_policy_type N>
char boost::math::policies::detail::test_is_valid_arg (const underflow_error< N > *)
 
char boost::math::policies::detail::test_is_default_arg (const underflow_error< ignore_error > *)
 
template<error_policy_type N>
char boost::math::policies::detail::test_is_valid_arg (const denorm_error< N > *)
 
char boost::math::policies::detail::test_is_default_arg (const denorm_error< ignore_error > *)
 
template<error_policy_type N>
char boost::math::policies::detail::test_is_valid_arg (const evaluation_error< N > *)
 
char boost::math::policies::detail::test_is_default_arg (const evaluation_error< throw_on_error > *)
 
template<error_policy_type N>
char boost::math::policies::detail::test_is_valid_arg (const rounding_error< N > *)
 
char boost::math::policies::detail::test_is_default_arg (const rounding_error< throw_on_error > *)
 
template<error_policy_type N>
char boost::math::policies::detail::test_is_valid_arg (const indeterminate_result_error< N > *)
 
char boost::math::policies::detail::test_is_default_arg (const indeterminate_result_error< ignore_error > *)
 
template<bool N>
char boost::math::policies::detail::test_is_valid_arg (const promote_float< N > *)
 
char boost::math::policies::detail::test_is_default_arg (const promote_float< true > *)
 
template<bool N>
char boost::math::policies::detail::test_is_valid_arg (const promote_double< N > *)
 
char boost::math::policies::detail::test_is_default_arg (const promote_double< true > *)
 
template<bool N>
char boost::math::policies::detail::test_is_valid_arg (const assert_undefined< N > *)
 
char boost::math::policies::detail::test_is_default_arg (const assert_undefined< true > *)
 
template<discrete_quantile_policy_type N>
char boost::math::policies::detail::test_is_valid_arg (const discrete_quantile< N > *)
 
char boost::math::policies::detail::test_is_default_arg (const discrete_quantile< integer_round_outwards > *)
 
template<int N>
char boost::math::policies::detail::test_is_valid_arg (const digits10< N > *)
 
char boost::math::policies::detail::test_is_default_arg (const digits10< 0 > *)
 
template<int N>
char boost::math::policies::detail::test_is_valid_arg (const digits2< N > *)
 
char boost::math::policies::detail::test_is_default_arg (const digits2< 0 > *)
 
template<unsigned long N>
char boost::math::policies::detail::test_is_valid_arg (const max_series_iterations< N > *)
 
char boost::math::policies::detail::test_is_default_arg (const max_series_iterations< 1000000 > *)
 
template<unsigned long N>
char boost::math::policies::detail::test_is_valid_arg (const max_root_iterations< N > *)
 
char boost::math::policies::detail::test_is_default_arg (const max_root_iterations< 200 > *)
 
double boost::math::policies::detail::test_is_valid_arg (...)
 
double boost::math::policies::detail::test_is_default_arg (...)
 
char boost::math::policies::detail::test_is_valid_arg (const default_policy *)
 
char boost::math::policies::detail::test_is_default_arg (const default_policy *)
 
policy boost::math::policies::make_policy ()
 
template<class A1 >
normalise< policy<>, A1 >::type boost::math::policies::make_policy (const A1 &)
 
template<class A1 , class A2 >
normalise< policy<>, A1, A2 >::type boost::math::policies::make_policy (const A1 &, const A2 &)
 
template<class A1 , class A2 , class A3 >
normalise< policy<>, A1, A2,
A3 >::type 
boost::math::policies::make_policy (const A1 &, const A2 &, const A3 &)
 
template<class A1 , class A2 , class A3 , class A4 >
normalise< policy<>, A1, A2,
A3, A4 >::type 
boost::math::policies::make_policy (const A1 &, const A2 &, const A3 &, const A4 &)
 
template<class A1 , class A2 , class A3 , class A4 , class A5 >
normalise< policy<>, A1, A2,
A3, A4, A5 >::type 
boost::math::policies::make_policy (const A1 &, const A2 &, const A3 &, const A4 &, const A5 &)
 
template<class A1 , class A2 , class A3 , class A4 , class A5 , class A6 >
normalise< policy<>, A1, A2,
A3, A4, A5, A6 >::type 
boost::math::policies::make_policy (const A1 &, const A2 &, const A3 &, const A4 &, const A5 &, const A6 &)
 
template<class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 >
normalise< policy<>, A1, A2,
A3, A4, A5, A6, A7 >::type 
boost::math::policies::make_policy (const A1 &, const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 &)
 
template<class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 >
normalise< policy<>, A1, A2,
A3, A4, A5, A6, A7, A8 >::type 
boost::math::policies::make_policy (const A1 &, const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 &, const A8 &)
 
template<class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 >
normalise< policy<>, A1, A2,
A3, A4, A5, A6, A7, A8, A9 >
::type 
boost::math::policies::make_policy (const A1 &, const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 &, const A8 &, const A9 &)
 
template<class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 >
normalise< policy<>, A1, A2,
A3, A4, A5, A6, A7, A8, A9,
A10 >::type 
boost::math::policies::make_policy (const A1 &, const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 &, const A8 &, const A9 &, const A10 &)
 
template<class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 >
normalise< policy<>, A1, A2,
A3, A4, A5, A6, A7, A8, A9,
A10, A11 >::type 
boost::math::policies::make_policy (const A1 &, const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 &, const A8 &, const A9 &, const A10 &, const A11 &)
 
template<class T , class Policy >
int boost::math::policies::detail::digits_imp (mpl::true_ const &)
 
template<class T , class Policy >
int boost::math::policies::detail::digits_imp (mpl::false_ const &)
 
template<class T , class Policy >
int boost::math::policies::digits (BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T))
 
template<class Policy >
unsigned long boost::math::policies::get_max_series_iterations ()
 
template<class Policy >
unsigned long boost::math::policies::get_max_root_iterations ()
 
template<class T , class Policy >
T boost::math::policies::detail::get_epsilon_imp (mpl::true_ const &)
 
template<class T , class Policy >
T boost::math::policies::detail::get_epsilon_imp (mpl::false_ const &)
 
template<class T , class Policy >
T boost::math::policies::get_epsilon (BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T))
 
template<class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 >
char boost::math::policies::detail::test_is_policy (const policy< A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11 > *)
 
double boost::math::policies::detail::test_is_policy (...)
 

Macro Definition Documentation

#define BOOST_MATH_ASSERT_UNDEFINED_POLICY   true
#define BOOST_MATH_DENORM_ERROR_POLICY   ignore_error
#define BOOST_MATH_DIGITS10_POLICY   0
#define BOOST_MATH_DISCRETE_QUANTILE_POLICY   integer_round_outwards
#define BOOST_MATH_DOMAIN_ERROR_POLICY   throw_on_error
#define BOOST_MATH_EVALUATION_ERROR_POLICY   throw_on_error
#define BOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY   ignore_error
#define BOOST_MATH_MAX_ROOT_ITERATION_POLICY   200
#define BOOST_MATH_MAX_SERIES_ITERATION_POLICY   1000000
#define BOOST_MATH_META_BOOL (   name,
  Default 
)
Value:
template <bool N = Default> struct name : public boost::mpl::bool_<N>{};\
namespace detail{\
template <bool N>\
char test_is_valid_arg(const name<N>*);\
char test_is_default_arg(const name<Default>*);\
template <class T> struct is_##name##_imp\
{\
template <bool N> static char test(const name<N>*);\
static double test(...);\
BOOST_STATIC_CONSTANT(bool, value = sizeof(test(static_cast<T*>(0))) == 1);\
};\
}\
template <class T> struct is_##name : public boost::mpl::bool_< ::boost::math::policies::detail::is_##name##_imp<T>::value>{};
const int name
Definition: gzip.hpp:94
char test_is_default_arg(const default_policy *)
test_result< typename Range::const_iterator > test(Range test_file, F gen, char const *demarcation="<**expected**>", char const *re_prefix="<%", char const *re_suffix="%>")
typed_value< T > * value()
Creates a typed_value instance.
char test_is_valid_arg(const default_policy *)
#define BOOST_STATIC_CONSTANT(type, assignment)
Definition: suffix.hpp:394
bool_type const bool_
Definition: bool.hpp:97
#define BOOST_MATH_META_INT (   type,
  name,
  Default 
)
Value:
template <type N = Default> struct name : public boost::mpl::int_<N>{};\
namespace detail{\
template <type N>\
char test_is_valid_arg(const name<N>*);\
char test_is_default_arg(const name<Default>*);\
template <class T> struct is_##name##_imp\
{\
template <type N> static char test(const name<N>*);\
static double test(...);\
BOOST_STATIC_CONSTANT(bool, value = sizeof(test(static_cast<T*>(0))) == 1);\
};\
}\
template <class T> struct is_##name : public boost::mpl::bool_< ::boost::math::policies::detail::is_##name##_imp<T>::value>{};
const int name
Definition: gzip.hpp:94
char test_is_default_arg(const default_policy *)
int_type const int_
Definition: int.hpp:54
test_result< typename Range::const_iterator > test(Range test_file, F gen, char const *demarcation="<**expected**>", char const *re_prefix="<%", char const *re_suffix="%>")
typed_value< T > * value()
Creates a typed_value instance.
char test_is_valid_arg(const default_policy *)
#define BOOST_STATIC_CONSTANT(type, assignment)
Definition: suffix.hpp:394
bool_type const bool_
Definition: bool.hpp:97
#define BOOST_MATH_OVERFLOW_ERROR_POLICY   throw_on_error
#define BOOST_MATH_PARAMETER (   name)
Value:
#define BOOST_PARAMETER_TEMPLATE_KEYWORD(name)
Definition: name.hpp:144
const int name
Definition: gzip.hpp:94
#define BOOST_PARAMETER_NAME(name)
Definition: name.hpp:135
#define BOOST_MATH_POLE_ERROR_POLICY   throw_on_error
#define BOOST_MATH_PROMOTE_DOUBLE_POLICY   true
#define BOOST_MATH_PROMOTE_FLOAT_POLICY   true
#define BOOST_MATH_ROUNDING_ERROR_POLICY   throw_on_error
#define BOOST_MATH_UNDERFLOW_ERROR_POLICY   ignore_error