Remarks: If the result is not a representable value for its type (
[expr.pre]),
the result is unspecified,
but the operations otherwise have no undefined behavior
. Atomic arithmetic operations on
floating-point-type
should conform to the
numeric_limits<floating-point-type>
traits associated with the floating-point type (
[limits.syn])
. The floating-point environment (
[cfenv])
for atomic arithmetic operations on
floating-point-type
may be different than the calling thread's floating-point environment
. The arithmetic rules of floating-point atomic modify-write operations
may be different from operations on floating-point types or
atomic floating-point types
. [
Note 1:
Tree reductions are permitted for atomic modify-write operations
. —
end note]