3524499fc0
[SVN r68168]
53 lines
1.8 KiB
C++
53 lines
1.8 KiB
C++
// 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;
|
|
}
|