Chris@16: // Copyright John Maddock 2007. Chris@16: // Copyright Paul A. Bristow 2007. Chris@16: Chris@16: // Use, modification and distribution are subject to the Chris@16: // Boost Software License, Version 1.0. Chris@16: // (See accompanying file LICENSE_1_0.txt Chris@16: // or copy at http://www.boost.org/LICENSE_1_0.txt) Chris@16: Chris@16: #ifndef BOOST_MATH_TOOLS_USER_HPP Chris@16: #define BOOST_MATH_TOOLS_USER_HPP Chris@16: Chris@16: #ifdef _MSC_VER Chris@16: #pragma once Chris@16: #endif Chris@16: Chris@16: // This file can be modified by the user to change the default policies. Chris@16: // See "Changing the Policy Defaults" in documentation. Chris@16: Chris@16: // define this if the platform has no long double functions, Chris@16: // or if the long double versions have only double precision: Chris@16: // Chris@16: // #define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS Chris@16: // Chris@16: // Performance tuning options: Chris@16: // Chris@16: // #define BOOST_MATH_POLY_METHOD 3 Chris@16: // #define BOOST_MATH_RATIONAL_METHOD 3 Chris@16: // Chris@16: // The maximum order of polynomial that will be evaluated Chris@16: // via an unrolled specialisation: Chris@16: // Chris@16: // #define BOOST_MATH_MAX_POLY_ORDER 17 Chris@16: // Chris@16: // decide whether to store constants as integers or reals: Chris@16: // Chris@16: // #define BOOST_MATH_INT_TABLE_TYPE(RT, IT) IT Chris@16: Chris@16: // Chris@16: // Default policies follow: Chris@16: // Chris@16: // Domain errors: Chris@16: // Chris@16: // #define BOOST_MATH_DOMAIN_ERROR_POLICY throw_on_error Chris@16: // Chris@16: // Pole errors: Chris@16: // Chris@16: // #define BOOST_MATH_POLE_ERROR_POLICY throw_on_error Chris@16: // Chris@16: // Overflow Errors: Chris@16: // Chris@16: // #define BOOST_MATH_OVERFLOW_ERROR_POLICY throw_on_error Chris@16: // Chris@16: // Internal Evaluation Errors: Chris@16: // Chris@16: // #define BOOST_MATH_EVALUATION_ERROR_POLICY throw_on_error Chris@16: // Chris@16: // Underfow: Chris@16: // Chris@16: // #define BOOST_MATH_UNDERFLOW_ERROR_POLICY ignore_error Chris@16: // Chris@16: // Denorms: Chris@16: // Chris@16: // #define BOOST_MATH_DENORM_ERROR_POLICY ignore_error Chris@16: // Chris@16: // Max digits to use for internal calculations: Chris@16: // Chris@16: // #define BOOST_MATH_DIGITS10_POLICY 0 Chris@16: // Chris@16: // Promote floats to doubles internally? Chris@16: // Chris@16: // #define BOOST_MATH_PROMOTE_FLOAT_POLICY true Chris@16: // Chris@16: // Promote doubles to long double internally: Chris@16: // Chris@16: // #define BOOST_MATH_PROMOTE_DOUBLE_POLICY true Chris@16: // Chris@16: // What do discrete quantiles return? Chris@16: // Chris@16: // #define BOOST_MATH_DISCRETE_QUANTILE_POLICY integer_round_outwards Chris@16: // Chris@16: // If a function is mathematically undefined Chris@16: // (for example the Cauchy distribution has no mean), Chris@16: // then do we stop the code from compiling? Chris@16: // Chris@16: // #define BOOST_MATH_ASSERT_UNDEFINED_POLICY true Chris@16: // Chris@16: // Maximum series iterstions permitted: Chris@16: // Chris@16: // #define BOOST_MATH_MAX_SERIES_ITERATION_POLICY 1000000 Chris@16: // Chris@16: // Maximum root finding steps permitted: Chris@16: // Chris@16: // define BOOST_MATH_MAX_ROOT_ITERATION_POLICY 200 Chris@101: // Chris@101: // Enable use of __float128 in numeric constants: Chris@101: // Chris@101: // #define BOOST_MATH_USE_FLOAT128 Chris@101: // Chris@101: // Disable use of __float128 in numeric_constants even if the compiler looks to support it: Chris@101: // Chris@101: // #define BOOST_MATH_DISABLE_FLOAT128 Chris@16: Chris@16: #endif // BOOST_MATH_TOOLS_USER_HPP Chris@16: Chris@16: