mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-30 20:40:28 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			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;
 | |
| } 
 |