172 lines · plain
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 the7// Boost Software License, Version 1.0.8// (See accompanying file LICENSE_1_0.txt9// or copy at http://www.boost.org/LICENSE_1_0.txt)10 11#ifndef BOOST_MATH_DISTRIBUTIONS_FWD_HPP12#define BOOST_MATH_DISTRIBUTIONS_FWD_HPP13 14namespace boost{ namespace math{15 16template <class RealType, class Policy>17class arcsine_distribution;18 19template <class RealType, class Policy>20class bernoulli_distribution;21 22template <class RealType, class Policy>23class beta_distribution;24 25template <class RealType, class Policy>26class binomial_distribution;27 28template <class RealType, class Policy>29class cauchy_distribution;30 31template <class RealType, class Policy>32class chi_squared_distribution;33 34template <class RealType, class Policy>35class exponential_distribution;36 37template <class RealType, class Policy>38class extreme_value_distribution;39 40template <class RealType, class Policy>41class fisher_f_distribution;42 43template <class RealType, class Policy>44class gamma_distribution;45 46template <class RealType, class Policy>47class geometric_distribution;48 49template <class RealType, class Policy>50class hyperexponential_distribution;51 52template <class RealType, class Policy>53class hypergeometric_distribution;54 55template <class RealType, class Policy>56class inverse_chi_squared_distribution;57 58template <class RealType, class Policy>59class inverse_gamma_distribution;60 61template <class RealType, class Policy>62class inverse_gaussian_distribution;63 64template <class RealType, class Policy>65class kolmogorov_smirnov_distribution;66 67template <class RealType, class Policy>68class landau_distribution;69 70template <class RealType, class Policy>71class mapairy_distribution;72 73template <class RealType, class Policy>74class holtsmark_distribution;75 76template <class RealType, class Policy>77class saspoint5_distribution;78 79template <class RealType, class Policy>80class laplace_distribution;81 82template <class RealType, class Policy>83class logistic_distribution;84 85template <class RealType, class Policy>86class lognormal_distribution;87 88template <class RealType, class Policy>89class negative_binomial_distribution;90 91template <class RealType, class Policy>92class non_central_beta_distribution;93 94template <class RealType, class Policy>95class non_central_chi_squared_distribution;96 97template <class RealType, class Policy>98class non_central_f_distribution;99 100template <class RealType, class Policy>101class non_central_t_distribution;102 103template <class RealType, class Policy>104class normal_distribution;105 106template <class RealType, class Policy>107class pareto_distribution;108 109template <class RealType, class Policy>110class poisson_distribution;111 112template <class RealType, class Policy>113class rayleigh_distribution;114 115template <class RealType, class Policy>116class skew_normal_distribution;117 118template <class RealType, class Policy>119class students_t_distribution;120 121template <class RealType, class Policy>122class triangular_distribution;123 124template <class RealType, class Policy>125class uniform_distribution;126 127template <class RealType, class Policy>128class weibull_distribution;129 130}} // namespaces131 132#define BOOST_MATH_DECLARE_DISTRIBUTIONS(Type, Policy)\133 typedef boost::math::arcsine_distribution<Type, Policy> arcsine;\134 typedef boost::math::bernoulli_distribution<Type, Policy> bernoulli;\135 typedef boost::math::beta_distribution<Type, Policy> beta;\136 typedef boost::math::binomial_distribution<Type, Policy> binomial;\137 typedef boost::math::cauchy_distribution<Type, Policy> cauchy;\138 typedef boost::math::chi_squared_distribution<Type, Policy> chi_squared;\139 typedef boost::math::exponential_distribution<Type, Policy> exponential;\140 typedef boost::math::extreme_value_distribution<Type, Policy> extreme_value;\141 typedef boost::math::fisher_f_distribution<Type, Policy> fisher_f;\142 typedef boost::math::gamma_distribution<Type, Policy> gamma;\143 typedef boost::math::geometric_distribution<Type, Policy> geometric;\144 typedef boost::math::hypergeometric_distribution<Type, Policy> hypergeometric;\145 typedef boost::math::kolmogorov_smirnov_distribution<Type, Policy> kolmogorov_smirnov;\146 typedef boost::math::inverse_chi_squared_distribution<Type, Policy> inverse_chi_squared;\147 typedef boost::math::inverse_gaussian_distribution<Type, Policy> inverse_gaussian;\148 typedef boost::math::inverse_gamma_distribution<Type, Policy> inverse_gamma;\149 typedef boost::math::landau_distribution<Type, Policy> landau;\150 typedef boost::math::mapairy_distribution<Type, Policy> mapairy;\151 typedef boost::math::holtsmark_distribution<Type, Policy> holtsmark;\152 typedef boost::math::saspoint5_distribution<Type, Policy> saspoint5;\153 typedef boost::math::laplace_distribution<Type, Policy> laplace;\154 typedef boost::math::logistic_distribution<Type, Policy> logistic;\155 typedef boost::math::lognormal_distribution<Type, Policy> lognormal;\156 typedef boost::math::negative_binomial_distribution<Type, Policy> negative_binomial;\157 typedef boost::math::non_central_beta_distribution<Type, Policy> non_central_beta;\158 typedef boost::math::non_central_chi_squared_distribution<Type, Policy> non_central_chi_squared;\159 typedef boost::math::non_central_f_distribution<Type, Policy> non_central_f;\160 typedef boost::math::non_central_t_distribution<Type, Policy> non_central_t;\161 typedef boost::math::normal_distribution<Type, Policy> normal;\162 typedef boost::math::pareto_distribution<Type, Policy> pareto;\163 typedef boost::math::poisson_distribution<Type, Policy> poisson;\164 typedef boost::math::rayleigh_distribution<Type, Policy> rayleigh;\165 typedef boost::math::skew_normal_distribution<Type, Policy> skew_normal;\166 typedef boost::math::students_t_distribution<Type, Policy> students_t;\167 typedef boost::math::triangular_distribution<Type, Policy> triangular;\168 typedef boost::math::uniform_distribution<Type, Policy> uniform;\169 typedef boost::math::weibull_distribution<Type, Policy> weibull;170 171#endif // BOOST_MATH_DISTRIBUTIONS_FWD_HPP172