fwd.hpp 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. // fwd.hpp Forward declarations of Boost.Math distributions.
  2. // Copyright Paul A. Bristow 2007, 2010, 2012, 2014.
  3. // Copyright John Maddock 2007.
  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. #ifndef BOOST_MATH_DISTRIBUTIONS_FWD_HPP
  9. #define BOOST_MATH_DISTRIBUTIONS_FWD_HPP
  10. // 33 distributions at Boost 1.9.1 after adding hyperexpon and arcsine
  11. namespace boost{ namespace math{
  12. template <class RealType, class Policy>
  13. class arcsine_distribution;
  14. template <class RealType, class Policy>
  15. class bernoulli_distribution;
  16. template <class RealType, class Policy>
  17. class beta_distribution;
  18. template <class RealType, class Policy>
  19. class binomial_distribution;
  20. template <class RealType, class Policy>
  21. class cauchy_distribution;
  22. template <class RealType, class Policy>
  23. class chi_squared_distribution;
  24. template <class RealType, class Policy>
  25. class exponential_distribution;
  26. template <class RealType, class Policy>
  27. class extreme_value_distribution;
  28. template <class RealType, class Policy>
  29. class fisher_f_distribution;
  30. template <class RealType, class Policy>
  31. class gamma_distribution;
  32. template <class RealType, class Policy>
  33. class geometric_distribution;
  34. template <class RealType, class Policy>
  35. class hyperexponential_distribution;
  36. template <class RealType, class Policy>
  37. class hypergeometric_distribution;
  38. template <class RealType, class Policy>
  39. class inverse_chi_squared_distribution;
  40. template <class RealType, class Policy>
  41. class inverse_gamma_distribution;
  42. template <class RealType, class Policy>
  43. class inverse_gaussian_distribution;
  44. template <class RealType, class Policy>
  45. class laplace_distribution;
  46. template <class RealType, class Policy>
  47. class logistic_distribution;
  48. template <class RealType, class Policy>
  49. class lognormal_distribution;
  50. template <class RealType, class Policy>
  51. class negative_binomial_distribution;
  52. template <class RealType, class Policy>
  53. class non_central_beta_distribution;
  54. template <class RealType, class Policy>
  55. class non_central_chi_squared_distribution;
  56. template <class RealType, class Policy>
  57. class non_central_f_distribution;
  58. template <class RealType, class Policy>
  59. class non_central_t_distribution;
  60. template <class RealType, class Policy>
  61. class normal_distribution;
  62. template <class RealType, class Policy>
  63. class pareto_distribution;
  64. template <class RealType, class Policy>
  65. class poisson_distribution;
  66. template <class RealType, class Policy>
  67. class rayleigh_distribution;
  68. template <class RealType, class Policy>
  69. class skew_normal_distribution;
  70. template <class RealType, class Policy>
  71. class students_t_distribution;
  72. template <class RealType, class Policy>
  73. class triangular_distribution;
  74. template <class RealType, class Policy>
  75. class uniform_distribution;
  76. template <class RealType, class Policy>
  77. class weibull_distribution;
  78. }} // namespaces
  79. #define BOOST_MATH_DECLARE_DISTRIBUTIONS(Type, Policy)\
  80. typedef boost::math::arcsine_distribution<Type, Policy> arcsine;\
  81. typedef boost::math::bernoulli_distribution<Type, Policy> bernoulli;\
  82. typedef boost::math::beta_distribution<Type, Policy> beta;\
  83. typedef boost::math::binomial_distribution<Type, Policy> binomial;\
  84. typedef boost::math::cauchy_distribution<Type, Policy> cauchy;\
  85. typedef boost::math::chi_squared_distribution<Type, Policy> chi_squared;\
  86. typedef boost::math::exponential_distribution<Type, Policy> exponential;\
  87. typedef boost::math::extreme_value_distribution<Type, Policy> extreme_value;\
  88. typedef boost::math::fisher_f_distribution<Type, Policy> fisher_f;\
  89. typedef boost::math::gamma_distribution<Type, Policy> gamma;\
  90. typedef boost::math::geometric_distribution<Type, Policy> geometric;\
  91. typedef boost::math::hypergeometric_distribution<Type, Policy> hypergeometric;\
  92. typedef boost::math::inverse_chi_squared_distribution<Type, Policy> inverse_chi_squared;\
  93. typedef boost::math::inverse_gaussian_distribution<Type, Policy> inverse_gaussian;\
  94. typedef boost::math::inverse_gamma_distribution<Type, Policy> inverse_gamma;\
  95. typedef boost::math::laplace_distribution<Type, Policy> laplace;\
  96. typedef boost::math::logistic_distribution<Type, Policy> logistic;\
  97. typedef boost::math::lognormal_distribution<Type, Policy> lognormal;\
  98. typedef boost::math::negative_binomial_distribution<Type, Policy> negative_binomial;\
  99. typedef boost::math::non_central_beta_distribution<Type, Policy> non_central_beta;\
  100. typedef boost::math::non_central_chi_squared_distribution<Type, Policy> non_central_chi_squared;\
  101. typedef boost::math::non_central_f_distribution<Type, Policy> non_central_f;\
  102. typedef boost::math::non_central_t_distribution<Type, Policy> non_central_t;\
  103. typedef boost::math::normal_distribution<Type, Policy> normal;\
  104. typedef boost::math::pareto_distribution<Type, Policy> pareto;\
  105. typedef boost::math::poisson_distribution<Type, Policy> poisson;\
  106. typedef boost::math::rayleigh_distribution<Type, Policy> rayleigh;\
  107. typedef boost::math::skew_normal_distribution<Type, Policy> skew_normal;\
  108. typedef boost::math::students_t_distribution<Type, Policy> students_t;\
  109. typedef boost::math::triangular_distribution<Type, Policy> triangular;\
  110. typedef boost::math::uniform_distribution<Type, Policy> uniform;\
  111. typedef boost::math::weibull_distribution<Type, Policy> weibull;
  112. #endif // BOOST_MATH_DISTRIBUTIONS_FWD_HPP