mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-27 11:00:32 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			89 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| // arcsine_example.cpp
 | |
| 
 | |
| // Copyright John Maddock 2014.
 | |
| // Copyright  Paul A. Bristow 2014.
 | |
| 
 | |
| // 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)
 | |
| 
 | |
| // Example for the arcsine Distribution.
 | |
| 
 | |
| // Note: Contains Quickbook snippets in comments.
 | |
| 
 | |
| //[arcsine_snip_1
 | |
| #include <boost/math/distributions/arcsine.hpp> // For arcsine_distribution.
 | |
| //] [/arcsine_snip_1]
 | |
| 
 | |
| #include <iostream>
 | |
| #include <exception>
 | |
| 
 | |
| int main()
 | |
| {
 | |
|   std::cout << "Examples of Arcsine distribution." << std::endl;
 | |
|   std::cout.precision(3);  // Avoid uninformative decimal digits.
 | |
| 
 | |
|   using boost::math::arcsine;
 | |
| 
 | |
|   arcsine as; // Construct a default `double` standard [0, 1] arcsine distribution.
 | |
| 
 | |
| //[arcsine_snip_2
 | |
|   std::cout << pdf(as, 1. / 2) << std::endl; // 0.637
 | |
|   // pdf has a minimum at x = 0.5
 | |
| //]  [/arcsine_snip_2]
 | |
| 
 | |
| //[arcsine_snip_3
 | |
|   std::cout << pdf(as, 1. / 4) << std::endl; // 0.735
 | |
| //]  [/arcsine_snip_3]
 | |
| 
 | |
| 
 | |
| //[arcsine_snip_4
 | |
|   std::cout << cdf(as, 0.05) << std::endl; // 0.144
 | |
| //] [/arcsine_snip_4]
 | |
| 
 | |
| //[arcsine_snip_5
 | |
|   std::cout << 2 * cdf(as, 1 - 0.975) << std::endl; // 0.202
 | |
| //] [/arcsine_snip_5]
 | |
| 
 | |
| 
 | |
| //[arcsine_snip_6
 | |
|   std::cout << 2 * cdf(complement(as, 0.975)) << std::endl; // 0.202
 | |
| //] [/arcsine_snip_6]
 | |
| 
 | |
| //[arcsine_snip_7
 | |
|   std::cout << quantile(as, 1 - 0.2 / 2) << std::endl; //  0.976
 | |
| 
 | |
|   std::cout << quantile(complement(as, 0.2 / 2)) << std::endl; // 0.976
 | |
| //] [/arcsine_snip_7]
 | |
| 
 | |
| {
 | |
| //[arcsine_snip_8
 | |
|   using boost::math::arcsine_distribution;
 | |
| 
 | |
|   arcsine_distribution<> as(2, 5); // Cconstructs a double arcsine distribution.
 | |
|   assert(as.x_min() == 2.);  // as.x_min() returns 2.
 | |
|   assert(as.x_max() == 5.);   // as.x_max()  returns 5.
 | |
| //] [/arcsine_snip_8]
 | |
| }
 | |
|     return 0;
 | |
| 
 | |
| } // int main()
 | |
| 
 | |
| /*
 | |
| [arcsine_output
 | |
| 
 | |
| Example of Arcsine distribution
 | |
| 0.637
 | |
| 0.735
 | |
| 0.144
 | |
| 0.202
 | |
| 0.202
 | |
| 0.976
 | |
| 0.976
 | |
| 
 | |
| ] [/arcsine_output]
 | |
| */
 | |
| 
 | |
| 
 |