1 // fwd.hpp Forward declarations of Boost.Math distributions. 2 3 // Copyright Paul A. Bristow 2007, 2010, 2012, 2014. 4 // Copyright John Maddock 2007. 5 6 // Use, modification and distribution are subject to the 7 // Boost Software License, Version 1.0. 8 // (See accompanying file LICENSE_1_0.txt 9 // or copy at http://www.boost.org/LICENSE_1_0.txt) 10 11 #ifndef BOOST_MATH_DISTRIBUTIONS_FWD_HPP 12 #define BOOST_MATH_DISTRIBUTIONS_FWD_HPP 13 14 // 33 distributions at Boost 1.9.1 after adding hyperexpon and arcsine 15 16 namespace boost{ namespace math{ 17 18 template <class RealType, class Policy> 19 class arcsine_distribution; 20 21 template <class RealType, class Policy> 22 class bernoulli_distribution; 23 24 template <class RealType, class Policy> 25 class beta_distribution; 26 27 template <class RealType, class Policy> 28 class binomial_distribution; 29 30 template <class RealType, class Policy> 31 class cauchy_distribution; 32 33 template <class RealType, class Policy> 34 class chi_squared_distribution; 35 36 template <class RealType, class Policy> 37 class exponential_distribution; 38 39 template <class RealType, class Policy> 40 class extreme_value_distribution; 41 42 template <class RealType, class Policy> 43 class fisher_f_distribution; 44 45 template <class RealType, class Policy> 46 class gamma_distribution; 47 48 template <class RealType, class Policy> 49 class geometric_distribution; 50 51 template <class RealType, class Policy> 52 class hyperexponential_distribution; 53 54 template <class RealType, class Policy> 55 class hypergeometric_distribution; 56 57 template <class RealType, class Policy> 58 class inverse_chi_squared_distribution; 59 60 template <class RealType, class Policy> 61 class inverse_gamma_distribution; 62 63 template <class RealType, class Policy> 64 class inverse_gaussian_distribution; 65 66 template <class RealType, class Policy> 67 class laplace_distribution; 68 69 template <class RealType, class Policy> 70 class logistic_distribution; 71 72 template <class RealType, class Policy> 73 class lognormal_distribution; 74 75 template <class RealType, class Policy> 76 class negative_binomial_distribution; 77 78 template <class RealType, class Policy> 79 class non_central_beta_distribution; 80 81 template <class RealType, class Policy> 82 class non_central_chi_squared_distribution; 83 84 template <class RealType, class Policy> 85 class non_central_f_distribution; 86 87 template <class RealType, class Policy> 88 class non_central_t_distribution; 89 90 template <class RealType, class Policy> 91 class normal_distribution; 92 93 template <class RealType, class Policy> 94 class pareto_distribution; 95 96 template <class RealType, class Policy> 97 class poisson_distribution; 98 99 template <class RealType, class Policy> 100 class rayleigh_distribution; 101 102 template <class RealType, class Policy> 103 class skew_normal_distribution; 104 105 template <class RealType, class Policy> 106 class students_t_distribution; 107 108 template <class RealType, class Policy> 109 class triangular_distribution; 110 111 template <class RealType, class Policy> 112 class uniform_distribution; 113 114 template <class RealType, class Policy> 115 class weibull_distribution; 116 117 }} // namespaces 118 119 #define BOOST_MATH_DECLARE_DISTRIBUTIONS(Type, Policy)\ 120 typedef boost::math::arcsine_distribution<Type, Policy> arcsine;\ 121 typedef boost::math::bernoulli_distribution<Type, Policy> bernoulli;\ 122 typedef boost::math::beta_distribution<Type, Policy> beta;\ 123 typedef boost::math::binomial_distribution<Type, Policy> binomial;\ 124 typedef boost::math::cauchy_distribution<Type, Policy> cauchy;\ 125 typedef boost::math::chi_squared_distribution<Type, Policy> chi_squared;\ 126 typedef boost::math::exponential_distribution<Type, Policy> exponential;\ 127 typedef boost::math::extreme_value_distribution<Type, Policy> extreme_value;\ 128 typedef boost::math::fisher_f_distribution<Type, Policy> fisher_f;\ 129 typedef boost::math::gamma_distribution<Type, Policy> gamma;\ 130 typedef boost::math::geometric_distribution<Type, Policy> geometric;\ 131 typedef boost::math::hypergeometric_distribution<Type, Policy> hypergeometric;\ 132 typedef boost::math::inverse_chi_squared_distribution<Type, Policy> inverse_chi_squared;\ 133 typedef boost::math::inverse_gaussian_distribution<Type, Policy> inverse_gaussian;\ 134 typedef boost::math::inverse_gamma_distribution<Type, Policy> inverse_gamma;\ 135 typedef boost::math::laplace_distribution<Type, Policy> laplace;\ 136 typedef boost::math::logistic_distribution<Type, Policy> logistic;\ 137 typedef boost::math::lognormal_distribution<Type, Policy> lognormal;\ 138 typedef boost::math::negative_binomial_distribution<Type, Policy> negative_binomial;\ 139 typedef boost::math::non_central_beta_distribution<Type, Policy> non_central_beta;\ 140 typedef boost::math::non_central_chi_squared_distribution<Type, Policy> non_central_chi_squared;\ 141 typedef boost::math::non_central_f_distribution<Type, Policy> non_central_f;\ 142 typedef boost::math::non_central_t_distribution<Type, Policy> non_central_t;\ 143 typedef boost::math::normal_distribution<Type, Policy> normal;\ 144 typedef boost::math::pareto_distribution<Type, Policy> pareto;\ 145 typedef boost::math::poisson_distribution<Type, Policy> poisson;\ 146 typedef boost::math::rayleigh_distribution<Type, Policy> rayleigh;\ 147 typedef boost::math::skew_normal_distribution<Type, Policy> skew_normal;\ 148 typedef boost::math::students_t_distribution<Type, Policy> students_t;\ 149 typedef boost::math::triangular_distribution<Type, Policy> triangular;\ 150 typedef boost::math::uniform_distribution<Type, Policy> uniform;\ 151 typedef boost::math::weibull_distribution<Type, Policy> weibull; 152 153 #endif // BOOST_MATH_DISTRIBUTIONS_FWD_HPP 154