7#include "architecture.hpp"
17T fetch_max(
std::atomic<T> &lhs, T rhs, std::memory_order order)
noexcept
19 auto expected = lhs.load(order);
20 while (expected < rhs) {
21 if (lhs.compare_exchange_weak(expected, rhs, order)) {
31T fetch_min(
std::atomic<T> &lhs, T rhs, std::memory_order order)
noexcept
33 auto expected = lhs.load(order);
34 while (rhs < expected) {
35 if (lhs.compare_exchange_weak(expected, rhs, order)) {