mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-31 04:50:34 -04:00 
			
		
		
		
	
		
			
	
	
		
			59 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			59 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|  | //  (C) Copyright John Maddock 2001. | ||
|  | //  (C) Copyright Bryce Lelbach 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) | ||
|  | 
 | ||
|  | //  See http://www.boost.org/libs/config for most recent version. | ||
|  | 
 | ||
|  | //  MACRO:         BOOST_NO_FENV_H | ||
|  | //  TITLE:         fenv.h | ||
|  | //  DESCRIPTION:   There is no standard <fenv.h> available. If <fenv.h> is | ||
|  | //                 available, <boost/detail/fenv.hpp> should be included | ||
|  | //                 instead of directly including <fenv.h>. | ||
|  | 
 | ||
|  | #include <fenv.h> | ||
|  | 
 | ||
|  | namespace boost_no_fenv_h { | ||
|  | 
 | ||
|  | int test() | ||
|  | { | ||
|  |   /// C++0x required typedefs | ||
|  |   typedef ::fenv_t has_fenv_t; | ||
|  |   typedef ::fexcept_t has_fexcept_t; | ||
|  | 
 | ||
|  |   /// C++0x required macros | ||
|  |   #if !defined(FE_DIVBYZERO) | ||
|  |     #error platform does not define FE_DIVBYZERO | ||
|  |   #endif | ||
|  |    | ||
|  |   #if !defined(FE_INEXACT) | ||
|  |     #error platform does not define FE_INEXACT | ||
|  |   #endif | ||
|  | 
 | ||
|  |   #if !defined(FE_ALL_EXCEPT) | ||
|  |     #error platform does not define FE_ALL_EXCEPT | ||
|  |   #endif | ||
|  | 
 | ||
|  |    int i; | ||
|  |    has_fexcept_t fe; | ||
|  |    has_fenv_t env; | ||
|  |    | ||
|  |    i = feclearexcept(FE_ALL_EXCEPT); | ||
|  |    i += fetestexcept(FE_ALL_EXCEPT); // All flags should be zero | ||
|  |    i += fegetexceptflag(&fe, FE_ALL_EXCEPT); | ||
|  |    i += fesetexceptflag(&fe, FE_ALL_EXCEPT); | ||
|  |    i += feraiseexcept(0); | ||
|  |    i += fesetround(fegetround()); | ||
|  |    i += fegetenv(&env); | ||
|  |    i += fesetenv(&env); | ||
|  |    i += feholdexcept(&env); | ||
|  |    if(i) | ||
|  |       i += feupdateenv(&env); | ||
|  | 
 | ||
|  |    return i; | ||
|  | } | ||
|  | 
 | ||
|  | } | ||
|  | 
 |