2
0
mirror of https://github.com/boostorg/atomic.git synced 2026-01-19 04:02:09 +00:00
Andrey Semashev edef50f042 Added support for atomic floating point operations.
The support includes:

- The standard fetch_add/fetch_sub operations.
- Extra operations: (fetch_/opaque_)negate, (opaque_)add/sub.
- Extra capability macros: BOOST_ATOMIC_FLOAT/DOUBLE/LONG_DOUBLE_LOCK_FREE.

The atomic operations are currently implemented on top of the integer-based
backends and thus are mostly CAS-based. The CAS operations perform binary
comparisons, and as such have different behavior wrt. special FP values like
NaN and signed zero than normal C++.

The support for floating point types is optional and can be disabled by
defining BOOST_ATOMIC_NO_FLOATING_POINT. This can be useful if on a certain
platform parameters of the floating point types cannot be deduced from the
compiler-defined or system macros (in which case the compilation fails).

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0020r6.html
2018-02-13 03:36:35 +03:00
2016-11-06 21:29:33 +03:00
2017-10-10 20:26:34 +03:00

Boost.Atomic

Boost.Atomic, part of collection of the Boost C++ Libraries, implements atomic operations for various CPU architectures, reflecting and extending the standard interface defined in C++11.

Directories

  • build - Boost.Atomic build scripts
  • doc - QuickBook documentation sources
  • include - Interface headers of Boost.Atomic
  • src - Compilable source code of Boost.Atomic
  • test - Boost.Atomic unit tests

More information

  • Documentation
  • Report bugs. Be sure to mention Boost version, platform and compiler you're using. A small compilable code sample to reproduce the problem is always good as well.
  • Submit your patches as pull requests against develop branch. Note that by submitting patches you agree to license your modifications under the Boost Software License, Version 1.0.

Build status

Master: AppVeyor Travis CI Develop: AppVeyor Travis CI

License

Distributed under the Boost Software License, Version 1.0.

Description
Mirrored via gitea-mirror
Readme 2.3 MiB
Languages
C++ 99.3%
CMake 0.7%