#ifdef __GNUC__ #pragma GCC system_header #endif /*============================================================================= Copyright (c) 2001-2014 Joel de Guzman Copyright (c) 2001-2011 Hartmut Kaiser http://spirit.sourceforge.net/ Distributed under 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) =============================================================================*/ #if !defined(SPIRIT_SIGN_MAR_11_2009_0734PM) #define SPIRIT_SIGN_MAR_11_2009_0734PM #include #include #include namespace snps_boost_1_63_0 {} namespace boost = snps_boost_1_63_0; namespace snps_boost_1_63_0 { namespace spirit { namespace x3 { template inline bool (signbit)(T x) { return (snps_boost_1_63_0::math::signbit)(x) ? true : false; } // This routine has been taken and adapted from Johan Rade's fp_traits // library template inline T (changesign)(T x) { #if defined(BOOST_MATH_USE_STD_FPCLASSIFY) && !defined(BOOST_MATH_DISABLE_STD_FPCLASSIFY) return -x; #else return (boost::math::changesign)(x); #endif } }}} #endif