// 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 // for real_concept using ::boost::math::concepts::real_concept; #include // for geometric_distribution using boost::math::geometric_distribution; using boost::math::geometric; // using typedef for geometric_distribution #include // for some comparisons. #include using std::cout; using std::endl; using std::setprecision; using std::showpoint; #include using std::numeric_limits; template 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!!! RealType k = static_cast(2.L); RealType alpha = static_cast(0.05L); RealType p = static_cast(0.5L); RealType result; result = negative_binomial_distribution::find_lower_bound_on_p(static_cast(k), static_cast(1), static_cast(alpha)); result = negative_binomial_distribution::find_lower_bound_on_p(k, 1, alpha); result = geometric_distribution::find_lower_bound_on_p(k, alpha); } int main() { test_spot(boost::math::concepts::real_concept(0.)); // Test real concept. return 0; }