12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- // test_real_concept.cpp
- // Copyright Paul A. Bristow 2010.
- // Copyright John Maddock 2010.
- // Use, modification and distribution are subject to the
- // Boost Software License, Version 1.0.
- // (See accompanying file LICENSE_1_0.txt
- // or copy at http://www.boost.org/LICENSE_1_0.txt)
- // Tests real_concept for Negative Binomial and Geometric Distribution.
- // find_upper_bound ...
- #include <boost/math/concepts/real_concept.hpp> // for real_concept
- using ::boost::math::concepts::real_concept;
- #include <boost/math/distributions/geometric.hpp> // for geometric_distribution
- using boost::math::geometric_distribution;
- using boost::math::geometric; // using typedef for geometric_distribution<double>
- #include <boost/math/distributions/negative_binomial.hpp> // for some comparisons.
- #include <iostream>
- using std::cout;
- using std::endl;
- using std::setprecision;
- using std::showpoint;
- #include <limits>
- using std::numeric_limits;
- template <class RealType>
- void test_spot(RealType)
- {
- using boost::math::negative_binomial_distribution;
- // NOT boost::math::negative_binomial or boost::math::geometric
- // - because then you get the default negative_binomial_distribution<double>!!!
- RealType k = static_cast<RealType>(2.L);
- RealType alpha = static_cast<RealType>(0.05L);
- RealType p = static_cast<RealType>(0.5L);
- RealType result;
- result = negative_binomial_distribution<RealType>::find_lower_bound_on_p(static_cast<RealType>(k), static_cast<RealType>(1), static_cast<RealType>(alpha));
- result = negative_binomial_distribution<RealType>::find_lower_bound_on_p(k, 1, alpha);
- result = geometric_distribution<RealType>::find_lower_bound_on_p(k, alpha);
- }
- int main()
- {
- test_spot(boost::math::concepts::real_concept(0.)); // Test real concept.
- return 0;
- }
|