/usr/include/boost/math/tools
NameSizeModeActions
detail/-0755rm
atomic.hpp32550644editdlrm
big_constant.hpp34120644editdlrm
bivariate_statistics.hpp28580644editdlrm
complex.hpp17440644editdlrm
condition_numbers.hpp34980644editdlrm
config.hpp145790644editdlrm
convert_from_string.hpp16560644editdlrm
cxx03_warn.hpp51280644editdlrm
fraction.hpp87330644editdlrm
minima.hpp43190644editdlrm
norms.hpp164250644editdlrm
numerical_differentiation.hpp5330644editdlrm
polynomial.hpp219460644editdlrm
polynomial_gcd.hpp60440644editdlrm
precision.hpp141330644editdlrm
promotion.hpp84340644editdlrm
rational.hpp138090644editdlrm
real_cast.hpp7440644editdlrm
recurrence.hpp129010644editdlrm
roots.hpp343730644editdlrm
series.hpp64450644editdlrm
signal_statistics.hpp120610644editdlrm
stats.hpp20560644editdlrm
test_value.hpp55230644editdlrm
toms748_solve.hpp183290644editdlrm
traits.hpp30010644editdlrm
tuple.hpp20400644editdlrm
univariate_statistics.hpp124650644editdlrm
user.hpp26360644editdlrm
workaround.hpp10670644editdlrm
Edit: /usr/include/boost/math/tools/atomic.hpp (3255B)
/////////////////////////////////////////////////////////////////////////////// // Copyright 2017 John Maddock // 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) #ifndef BOOST_MATH_ATOMIC_DETAIL_HPP #define BOOST_MATH_ATOMIC_DETAIL_HPP #include #include #ifdef BOOST_HAS_THREADS #ifndef BOOST_NO_CXX11_HDR_ATOMIC # include # define BOOST_MATH_ATOMIC_NS std namespace boost { namespace math { namespace detail { #if ATOMIC_INT_LOCK_FREE == 2 typedef std::atomic atomic_counter_type; typedef std::atomic atomic_unsigned_type; typedef int atomic_integer_type; typedef unsigned atomic_unsigned_integer_type; #elif ATOMIC_SHORT_LOCK_FREE == 2 typedef std::atomic atomic_counter_type; typedef std::atomic atomic_unsigned_type; typedef short atomic_integer_type; typedef unsigned short atomic_unsigned_type; #elif ATOMIC_LONG_LOCK_FREE == 2 typedef std::atomic atomic_unsigned_integer_type; typedef std::atomic atomic_unsigned_type; typedef unsigned long atomic_unsigned_type; typedef long atomic_integer_type; #elif ATOMIC_LLONG_LOCK_FREE == 2 typedef std::atomic atomic_unsigned_integer_type; typedef std::atomic atomic_unsigned_type; typedef long long atomic_integer_type; typedef unsigned long long atomic_unsigned_integer_type; #else # define BOOST_MATH_NO_ATOMIC_INT #endif } }} #else // BOOST_NO_CXX11_HDR_ATOMIC // // We need Boost.Atomic, but on any platform that supports auto-linking we do // not need to link against a separate library: // #define BOOST_ATOMIC_NO_LIB #include # define BOOST_MATH_ATOMIC_NS boost namespace boost{ namespace math{ namespace detail{ // // We need a type to use as an atomic counter: // #if BOOST_ATOMIC_INT_LOCK_FREE == 2 typedef boost::atomic atomic_counter_type; typedef boost::atomic atomic_unsigned_type; typedef int atomic_integer_type; typedef unsigned atomic_unsigned_integer_type; #elif BOOST_ATOMIC_SHORT_LOCK_FREE == 2 typedef boost::atomic atomic_counter_type; typedef boost::atomic atomic_unsigned_type; typedef short atomic_integer_type; typedef unsigned short atomic_unsigned_integer_type; #elif BOOST_ATOMIC_LONG_LOCK_FREE == 2 typedef boost::atomic atomic_counter_type; typedef boost::atomic atomic_unsigned_type; typedef long atomic_integer_type; typedef unsigned long atomic_unsigned_integer_type; #elif BOOST_ATOMIC_LLONG_LOCK_FREE == 2 typedef boost::atomic atomic_counter_type; typedef boost::atomic atomic_unsigned_type; typedef long long atomic_integer_type; typedef unsigned long long atomic_unsigned_integer_type; #else # define BOOST_MATH_NO_ATOMIC_INT #endif }}} // namespaces #endif // BOOST_NO_CXX11_HDR_ATOMIC #else // BOOST_HAS_THREADS # define BOOST_MATH_NO_ATOMIC_INT #endif // BOOST_HAS_THREADS #endif // BOOST_MATH_ATOMIC_DETAIL_HPP