/usr/include/boost/multiprecision/detail
NameSizeModeActions
functions/-0755rm
atomic.hpp34300644editdlrm
big_lanczos.hpp11120644editdlrm
bitscan.hpp87930644editdlrm
constexpr.hpp11130644editdlrm
default_ops.hpp2249290644editdlrm
digits.hpp6470644editdlrm
dynamic_array.hpp12260644editdlrm
et_ops.hpp1018210644editdlrm
float_string_cvt.hpp85510644editdlrm
generic_interconvert.hpp213550644editdlrm
integer_ops.hpp173190644editdlrm
itos.hpp11010644editdlrm
min_max.hpp51200644editdlrm
no_et_ops.hpp345740644editdlrm
number_base.hpp767690644editdlrm
number_compare.hpp446460644editdlrm
precision.hpp68860644editdlrm
rebind.hpp8510644editdlrm
ublas_interop.hpp42920644editdlrm
utype_helper.hpp61250644editdlrm
Edit: /usr/include/boost/multiprecision/detail/atomic.hpp (3430B)
/////////////////////////////////////////////////////////////////////////////// // 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_MT_ATOMIC_DETAIL_HPP #define BOOST_MT_ATOMIC_DETAIL_HPP #include #ifdef BOOST_HAS_THREADS #ifndef BOOST_NO_CXX11_HDR_ATOMIC # include # define BOOST_MATH_ATOMIC_NS std namespace boost { namespace multiprecision { 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_integer_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_integer_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_MT_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 multiprecision{ 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_MT_NO_ATOMIC_INT #endif }}} // namespaces #endif // BOOST_NO_CXX11_HDR_ATOMIC #else // BOOST_HAS_THREADS #define BOOST_MT_NO_ATOMIC_INT #endif // BOOST_HAS_THREADS namespace boost { namespace multiprecision { namespace detail { #ifdef BOOST_MT_NO_ATOMIC_INT typedef unsigned precision_type; #else typedef atomic_unsigned_type precision_type; #endif } } } #endif // BOOST_MATH_ATOMIC_DETAIL_HPP