user.hpp 2.6 KB

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