Lines Matching +full:floating +full:- +full:point
1 // -*- C++ -*-
2 //===----------------------------------------------------------------------===//
6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
8 //===----------------------------------------------------------------------===//
31 consume, // load-consume
32 acquire, // load-acquire
33 release, // store-release
34 acq_rel, // store-release load-acquire
35 seq_cst // store-release load-acquire
47 // lock-free property
170 integral operator--(int) volatile noexcept;
171 integral operator--(int) noexcept;
174 integral operator--() volatile noexcept;
175 integral operator--() noexcept;
178 integral operator-=(integral op) volatile noexcept;
179 integral operator-=(integral op) noexcept;
246 T* operator--(int) volatile noexcept;
247 T* operator--(int) noexcept;
250 T* operator--() volatile noexcept;
251 T* operator--() noexcept;
254 T* operator-=(ptrdiff_t op) volatile noexcept;
255 T* operator-=(ptrdiff_t op) noexcept;
266 struct atomic<floating-point-type> { // since C++20
267 using value_type = floating-point-type;
270 static constexpr bool is_always_lock_free = implementation-defined;
275 constexpr atomic(floating-point-type) noexcept;
280 void store(floating-point-type, memory_order = memory_order::seq_cst) volatile noexcept;
281 void store(floating-point-type, memory_order = memory_order::seq_cst) noexcept;
282 floating-point-type operator=(floating-point-type) volatile noexcept;
283 floating-point-type operator=(floating-point-type) noexcept;
284 floating-point-type load(memory_order = memory_order::seq_cst) volatile noexcept;
285 floating-point-type load(memory_order = memory_order::seq_cst) noexcept;
286 operator floating-point-type() volatile noexcept;
287 operator floating-point-type() noexcept;
289 floating-point-type exchange(floating-point-type,
291 floating-point-type exchange(floating-point-type,
293 bool compare_exchange_weak(floating-point-type&, floating-point-type,
295 bool compare_exchange_weak(floating-point-type&, floating-point-type,
297 bool compare_exchange_strong(floating-point-type&, floating-point-type,
299 bool compare_exchange_strong(floating-point-type&, floating-point-type,
301 bool compare_exchange_weak(floating-point-type&, floating-point-type,
303 bool compare_exchange_weak(floating-point-type&, floating-point-type,
305 bool compare_exchange_strong(floating-point-type&, floating-point-type,
307 bool compare_exchange_strong(floating-point-type&, floating-point-type,
310 floating-point-type fetch_add(floating-point-type,
312 floating-point-type fetch_add(floating-point-type,
314 floating-point-type fetch_sub(floating-point-type,
316 floating-point-type fetch_sub(floating-point-type,
319 floating-point-type operator+=(floating-point-type) volatile noexcept;
320 floating-point-type operator+=(floating-point-type) noexcept;
321 floating-point-type operator-=(floating-point-type) volatile noexcept;
322 floating-point-type operator-=(floating-point-type) noexcept;
324 void wait(floating-point-type, memory_order = memory_order::seq_cst) const volatile noexcept;
325 void wait(floating-point-type, memory_order = memory_order::seq_cst) const noexcept;
332 // [atomics.nonmembers], non-member functions
517 typedef see-below atomic_signed_lock_free; // since C++20
518 typedef see-below atomic_unsigned_lock_free; // since C++20
593 # error <atomic> is incompatible with <stdatomic.h> before C++23. Please compile with -std=c++23.