1 // Copyright Paul A. Bristow 2007.
2 // 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)
9 #ifndef BOOST_MATH_DISTRIBUTIONS_FWD_HPP
10 #define BOOST_MATH_DISTRIBUTIONS_FWD_HPP
12 namespace boost{ namespace math{
14 template <class RealType, class Policy>
15 class bernoulli_distribution;
17 template <class RealType, class Policy>
18 class beta_distribution;
20 template <class RealType, class Policy>
21 class binomial_distribution;
23 template <class RealType, class Policy>
24 class cauchy_distribution;
26 template <class RealType, class Policy>
27 class chi_squared_distribution;
29 template <class RealType, class Policy>
30 class exponential_distribution;
32 template <class RealType, class Policy>
33 class extreme_value_distribution;
35 template <class RealType, class Policy>
36 class fisher_f_distribution;
38 template <class RealType, class Policy>
39 class gamma_distribution;
41 template <class RealType, class Policy>
42 class hypergeometric_distribution;
44 template <class RealType, class Policy>
45 class laplace_distribution;
47 template <class RealType, class Policy>
48 class logistic_distribution;
50 template <class RealType, class Policy>
51 class lognormal_distribution;
53 template <class RealType, class Policy>
54 class negative_binomial_distribution;
56 template <class RealType, class Policy>
57 class non_central_chi_squared_distribution;
59 template <class RealType, class Policy>
60 class non_central_beta_distribution;
62 template <class RealType, class Policy>
63 class non_central_f_distribution;
65 template <class RealType, class Policy>
66 class non_central_t_distribution;
68 template <class RealType, class Policy>
69 class normal_distribution;
71 template <class RealType, class Policy>
72 class pareto_distribution;
74 template <class RealType, class Policy>
75 class poisson_distribution;
77 template <class RealType, class Policy>
78 class rayleigh_distribution;
80 template <class RealType, class Policy>
81 class students_t_distribution;
83 template <class RealType, class Policy>
84 class triangular_distribution;
86 template <class RealType, class Policy>
87 class uniform_distribution;
89 template <class RealType, class Policy>
90 class weibull_distribution;
94 #define BOOST_MATH_DECLARE_DISTRIBUTIONS(Type, Policy)\
95 typedef boost::math::bernoulli_distribution<Type, Policy> bernoulli;\
96 typedef boost::math::beta_distribution<Type, Policy> beta;\
97 typedef boost::math::binomial_distribution<Type, Policy> binomial;\
98 typedef boost::math::cauchy_distribution<Type, Policy> cauchy;\
99 typedef boost::math::chi_squared_distribution<Type, Policy> chi_squared;\
100 typedef boost::math::exponential_distribution<Type, Policy> exponential;\
101 typedef boost::math::extreme_value_distribution<Type, Policy> extreme_value;\
102 typedef boost::math::fisher_f_distribution<Type, Policy> fisher_f;\
103 typedef boost::math::gamma_distribution<Type, Policy> gamma;\
104 typedef boost::math::laplace_distribution<Type, Policy> laplace;\
105 typedef boost::math::logistic_distribution<Type, Policy> logistic;\
106 typedef boost::math::lognormal_distribution<Type, Policy> lognormal;\
107 typedef boost::math::negative_binomial_distribution<Type, Policy> negative_binomial;\
108 typedef boost::math::normal_distribution<Type, Policy> normal;\
109 typedef boost::math::pareto_distribution<Type, Policy> pareto;\
110 typedef boost::math::poisson_distribution<Type, Policy> poisson;\
111 typedef boost::math::rayleigh_distribution<Type, Policy> rayleigh;\
112 typedef boost::math::students_t_distribution<Type, Policy> students_t;\
113 typedef boost::math::triangular_distribution<Type, Policy> triangular;\
114 typedef boost::math::uniform_distribution<Type, Policy> uniform;\
115 typedef boost::math::weibull_distribution<Type, Policy> weibull;\
116 typedef boost::math::non_central_chi_squared_distribution<Type, Policy> non_central_chi_squared;\
117 typedef boost::math::non_central_beta_distribution<Type, Policy> non_central_beta;\
118 typedef boost::math::non_central_f_distribution<Type, Policy> non_central_f;\
119 typedef boost::math::non_central_t_distribution<Type, Policy> non_central_t;\
120 typedef boost::math::hypergeometric_distribution<Type, Policy> hypergeometric;\
122 #endif // BOOST_MATH_DISTRIBUTIONS_FWD_HPP