mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-04 05:50:31 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			64 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
//  Copyright John Maddock 2006-15.
 | 
						|
//  Copyright Paul A. Bristow 2007
 | 
						|
//  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)
 | 
						|
 | 
						|
#include "bindings.hpp"
 | 
						|
#include "../../test/test_ellint_3.hpp"
 | 
						|
#include <boost/math/special_functions/ellint_3.hpp>
 | 
						|
 | 
						|
BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
 | 
						|
 | 
						|
BOOST_AUTO_TEST_CASE(test_main)
 | 
						|
{
 | 
						|
   BOOST_MATH_CONTROL_FP;
 | 
						|
 | 
						|
   error_stream_replacer rep;
 | 
						|
 | 
						|
#ifdef TYPE_TO_TEST
 | 
						|
 | 
						|
   test_spots(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
 | 
						|
 | 
						|
#else
 | 
						|
   bool test_float = false;
 | 
						|
   bool test_double = false;
 | 
						|
   bool test_long_double = false;
 | 
						|
 | 
						|
   if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
 | 
						|
   {
 | 
						|
      //
 | 
						|
      // Don't bother with long double, it's the same as double:
 | 
						|
      //
 | 
						|
      if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
 | 
						|
         test_float = true;
 | 
						|
      test_double = true;
 | 
						|
   }
 | 
						|
   else
 | 
						|
   {
 | 
						|
      if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
 | 
						|
         test_float = true;
 | 
						|
      if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
 | 
						|
         test_double = true;
 | 
						|
      test_long_double = true;
 | 
						|
   }
 | 
						|
 | 
						|
#ifdef ALWAYS_TEST_DOUBLE
 | 
						|
   test_double = true;
 | 
						|
#endif
 | 
						|
 | 
						|
   if(test_float)
 | 
						|
      test_spots(0.0f, "float");
 | 
						|
   if(test_double)
 | 
						|
      test_spots(0.0, "double");
 | 
						|
   if(test_long_double)
 | 
						|
      test_spots(0.0L, "long double");
 | 
						|
#ifdef BOOST_MATH_USE_FLOAT128
 | 
						|
   //test_spots(0.0Q, "__float128");
 | 
						|
#endif
 | 
						|
 | 
						|
 | 
						|
#endif
 | 
						|
}
 | 
						|
 |