vsync / atomic / core_sz.h
Atomic functions for vatomicsz_t variables.
This file declares and documents the core atomic functions operating on vatomicsz_t variables.
Please do not include this file directly, instead use:
#include <vsync/atomic/core.h>
Functions
| Function | Description |
|---|---|
| vatomicsz_init | Initializes the atomic variable a with value v. |
| vatomicsz_read | Returns the value of the atomic variable pointed by a. |
| vatomicsz_read_acq | Returns the value of the atomic variable pointed by a. |
| vatomicsz_read_rlx | Returns the value of the atomic variable pointed by a. |
| vatomicsz_write | Writes value v in the atomic variable pointed by a. |
| vatomicsz_write_rel | Writes value v in the atomic variable pointed by a. |
| vatomicsz_write_rlx | Writes value v in the atomic variable pointed by a. |
| vatomicsz_xchg | Writes v in a and returns old value. |
| vatomicsz_xchg_acq | Writes v in a and returns old value. |
| vatomicsz_xchg_rel | Writes v in a and returns old value. |
| vatomicsz_xchg_rlx | Writes v in a and returns old value. |
| vatomicsz_cmpxchg | Writes value v in a if e is the current value. |
| vatomicsz_cmpxchg_acq | Writes value v in a if e is the current value. |
| vatomicsz_cmpxchg_rel | Writes value v in a if e is the current value. |
| vatomicsz_cmpxchg_rlx | Writes value v in a if e is the current value. |
| vatomicsz_get_max | Writes v to a if v is greater than *a and returns the old value. |
| vatomicsz_get_max_acq | Writes v to a if v is greater than *a and returns the old value. |
| vatomicsz_get_max_rel | Writes v to a if v is greater than *a and returns the old value. |
| vatomicsz_get_max_rlx | Writes v to a if v is greater than *a and returns the old value. |
| vatomicsz_max_get | Writes v to a if v is greater than *a and returns the new value. |
| vatomicsz_max_get_acq | Writes v to a if v is greater than *a and returns the new value. |
| vatomicsz_max_get_rel | Writes v to a if v is greater than *a and returns the new value. |
| vatomicsz_max_get_rlx | Writes v to a if v is greater than *a and returns the new value. |
| vatomicsz_max | Writes v to a if v is greater than *a. |
| vatomicsz_max_rel | Writes v to a if v is greater than *a. |
| vatomicsz_max_rlx | Writes v to a if v is greater than *a. |
| vatomicsz_get_and | Applies bitwise and to the value of a and returns the old value. |
| vatomicsz_get_and_acq | Applies bitwise and to the value of a and returns the old value. |
| vatomicsz_get_and_rel | Applies bitwise and to the value of a and returns the old value. |
| vatomicsz_get_and_rlx | Applies bitwise and to the value of a and returns the old value. |
| vatomicsz_and_get | Applies bitwise and operation with v to the value of a and returns the new value. |
| vatomicsz_and_get_acq | Applies bitwise and operation with v to the value of a and returns the new value. |
| vatomicsz_and_get_rel | Applies bitwise and operation with v to the value of a and returns the new value. |
| vatomicsz_and_get_rlx | Applies bitwise and operation with v to the value of a and returns the new value. |
| vatomicsz_and | Applies bitwise and operation with v to the value of a. |
| vatomicsz_and_rel | Applies bitwise and operation with v to the value of a. |
| vatomicsz_and_rlx | Applies bitwise and operation with v to the value of a. |
| vatomicsz_get_or | Applies bitwise or operation with v to the value of a and returns the old value. |
| vatomicsz_get_or_acq | Applies bitwise or operation with v to the value of a and returns the old value. |
| vatomicsz_get_or_rel | Applies bitwise or operation with v to the value of a and returns the old value. |
| vatomicsz_get_or_rlx | Applies bitwise or operation with v to the value of a and returns the old value. |
| vatomicsz_or_get | Applies bitwise or operation with v to the value of a and returns the new value. |
| vatomicsz_or_get_acq | Applies bitwise or operation with v to the value of a and returns the new value. |
| vatomicsz_or_get_rel | Applies bitwise or operation with v to the value of a and returns the new value. |
| vatomicsz_or_get_rlx | Applies bitwise or operation with v to the value of a and returns the new value. |
| vatomicsz_or | Applies bitwise or operation with v to the value of a. |
| vatomicsz_or_rel | Applies bitwise or operation with v to the value of a. |
| vatomicsz_or_rlx | Applies bitwise or operation with v to the value of a. |
| vatomicsz_get_xor | Applies bitwise xor operation with v to the value of a and returns the old value. |
| vatomicsz_get_xor_acq | Applies bitwise xor operation with v to the value of a and returns the old value. |
| vatomicsz_get_xor_rel | Applies bitwise xor operation with v to the value of a and returns the old value. |
| vatomicsz_get_xor_rlx | Applies bitwise xor operation with v to the value of a and returns the old value. |
| vatomicsz_xor_get | Applies bitwise xor operation with v to the value of a and returns the new value. |
| vatomicsz_xor_get_acq | Applies bitwise xor operation with v to the value of a and returns the new value. |
| vatomicsz_xor_get_rel | Applies bitwise xor operation with v to the value of a and returns the new value. |
| vatomicsz_xor_get_rlx | Applies bitwise xor operation with v to the value of a and returns the new value. |
| vatomicsz_xor | Applies bitwise xor opeation with v to the value of a. |
| vatomicsz_xor_rel | Applies bitwise xor opeation with v to the value of a. |
| vatomicsz_xor_rlx | Applies bitwise xor opeation with v to the value of a. |
| vatomicsz_get_add | Adds v to the value of a and returns the old value. |
| vatomicsz_get_add_acq | Adds v to the value of a and returns the old value. |
| vatomicsz_get_add_rel | Adds v to the value of a and returns the old value. |
| vatomicsz_get_add_rlx | Adds v to the value of a and returns the old value. |
| vatomicsz_add_get | Adds v to the value of a and returns the new value. |
| vatomicsz_add_get_acq | Adds v to the value of a and returns the new value. |
| vatomicsz_add_get_rel | Adds v to the value of a and returns the new value. |
| vatomicsz_add_get_rlx | Adds v to the value of a and returns the new value. |
| vatomicsz_add | Adds v to the value of a. |
| vatomicsz_add_rel | Adds v to the value of a. |
| vatomicsz_add_rlx | Adds v to the value of a. |
| vatomicsz_get_inc | Increments the value of a and returns the old value. |
| vatomicsz_get_inc_acq | Increments the value of a and returns the old value. |
| vatomicsz_get_inc_rel | Increments the value of a and returns the old value. |
| vatomicsz_get_inc_rlx | Increments the value of a and returns the old value. |
| vatomicsz_inc_get | Increments the value of a and returns the new value. |
| vatomicsz_inc_get_acq | Increments the value of a and returns the new value. |
| vatomicsz_inc_get_rel | Increments the value of a and returns the new value. |
| vatomicsz_inc_get_rlx | Increments the value of a and returns the new value. |
| vatomicsz_inc | Increments the value of a. |
| vatomicsz_inc_rel | Increments the value of a. |
| vatomicsz_inc_rlx | Increments the value of a. |
| vatomicsz_get_sub | Subtracts v from a and returns the old value. |
| vatomicsz_get_sub_acq | Subtracts v from a and returns the old value. |
| vatomicsz_get_sub_rel | Subtracts v from a and returns the old value. |
| vatomicsz_get_sub_rlx | Subtracts v from a and returns the old value. |
| vatomicsz_sub_get | Subtracts v from a and returns the new value. |
| vatomicsz_sub_get_acq | Subtracts v from a and returns the new value. |
| vatomicsz_sub_get_rel | Subtracts v from a and returns the new value. |
| vatomicsz_sub_get_rlx | Subtracts v from a and returns the new value. |
| vatomicsz_sub | Subtracts v from a. |
| vatomicsz_sub_rel | Subtracts v from a. |
| vatomicsz_sub_rlx | Subtracts v from a. |
| vatomicsz_get_dec | Decrements the value of a and returns the old value. |
| vatomicsz_get_dec_acq | Decrements the value of a and returns the old value. |
| vatomicsz_get_dec_rel | Decrements the value of a and returns the old value. |
| vatomicsz_get_dec_rlx | Decrements the value of a and returns the old value. |
| vatomicsz_dec_get | Decrements the value of a and returns the new value. |
| vatomicsz_dec_get_acq | Decrements the value of a and returns the new value. |
| vatomicsz_dec_get_rel | Decrements the value of a and returns the new value. |
| vatomicsz_dec_get_rlx | Decrements the value of a and returns the new value. |
| vatomicsz_dec | Decrements the value of a. |
| vatomicsz_dec_rel | Decrements the value of a. |
| vatomicsz_dec_rlx | Decrements the value of a. |
Function vatomicsz_init
static void vatomicsz_init(vatomicsz_t *a, vsize_t v)
Initializes the atomic variable a with value v.
The initialization is equivalent to an vatomicsz_write().
Parameters:
a: atomic variablev: initial value
Memory ordering: seq_cst
Function vatomicsz_read
static vsize_t vatomicsz_read(const vatomicsz_t *a)
Returns the value of the atomic variable pointed by a.
Parameters:
a: atomic variable
Returns: current value
Memory ordering: seq_cst
Function vatomicsz_read_acq
static vsize_t vatomicsz_read_acq(const vatomicsz_t *a)
Returns the value of the atomic variable pointed by a.
Parameters:
a: atomic variable
Returns: current value
Memory ordering: acquire
Function vatomicsz_read_rlx
static vsize_t vatomicsz_read_rlx(const vatomicsz_t *a)
Returns the value of the atomic variable pointed by a.
Parameters:
a: atomic variable
Returns: current value
Memory ordering: relaxed
Function vatomicsz_write
static void vatomicsz_write(vatomicsz_t *a, vsize_t v)
Writes value v in the atomic variable pointed by a.
Parameters:
a: atomic variablev: new value
Memory ordering: seq_cst
Function vatomicsz_write_rel
static void vatomicsz_write_rel(vatomicsz_t *a, vsize_t v)
Writes value v in the atomic variable pointed by a.
Parameters:
a: atomic variablev: new value
Memory ordering: release
Function vatomicsz_write_rlx
static void vatomicsz_write_rlx(vatomicsz_t *a, vsize_t v)
Writes value v in the atomic variable pointed by a.
Parameters:
a: atomic variablev: new value
Memory ordering: relaxed
Function vatomicsz_xchg
static vsize_t vatomicsz_xchg(vatomicsz_t *a, vsize_t v)
Writes v in a and returns old value.
Parameters:
a: atomic variablev: new value
Returns: old value
Memory ordering: seq_cst
Function vatomicsz_xchg_acq
static vsize_t vatomicsz_xchg_acq(vatomicsz_t *a, vsize_t v)
Writes v in a and returns old value.
Parameters:
a: atomic variablev: new value
Returns: old value
Memory ordering: acquire
Function vatomicsz_xchg_rel
static vsize_t vatomicsz_xchg_rel(vatomicsz_t *a, vsize_t v)
Writes v in a and returns old value.
Parameters:
a: atomic variablev: new value
Returns: old value
Memory ordering: release
Function vatomicsz_xchg_rlx
static vsize_t vatomicsz_xchg_rlx(vatomicsz_t *a, vsize_t v)
Writes v in a and returns old value.
Parameters:
a: atomic variablev: new value
Returns: old value
Memory ordering: relaxed
Function vatomicsz_cmpxchg
static vsize_t vatomicsz_cmpxchg(vatomicsz_t *a, vsize_t e, vsize_t v)
Writes value v in a if e is the current value.
Parameters:
a: atomic variablee: expected valuev: new value
Returns: old value
Function vatomicsz_cmpxchg_acq
static vsize_t vatomicsz_cmpxchg_acq(vatomicsz_t *a, vsize_t e, vsize_t v)
Writes value v in a if e is the current value.
Parameters:
a: atomic variablee: expected valuev: new value
Returns: old value
Function vatomicsz_cmpxchg_rel
static vsize_t vatomicsz_cmpxchg_rel(vatomicsz_t *a, vsize_t e, vsize_t v)
Writes value v in a if e is the current value.
Parameters:
a: atomic variablee: expected valuev: new value
Returns: old value
Function vatomicsz_cmpxchg_rlx
static vsize_t vatomicsz_cmpxchg_rlx(vatomicsz_t *a, vsize_t e, vsize_t v)
Writes value v in a if e is the current value.
Parameters:
a: atomic variablee: expected valuev: new value
Returns: old value
Function vatomicsz_get_max
static vsize_t vatomicsz_get_max(vatomicsz_t *a, vsize_t v)
Writes v to a if v is greater than *a and returns the old value.
Parameters:
a: atomic variablev: potential max value
Returns: old max value
Memory ordering: seq_cst
Function vatomicsz_get_max_acq
static vsize_t vatomicsz_get_max_acq(vatomicsz_t *a, vsize_t v)
Writes v to a if v is greater than *a and returns the old value.
Parameters:
a: atomic variablev: potential max value
Returns: old max value
Memory ordering: acquire
Function vatomicsz_get_max_rel
static vsize_t vatomicsz_get_max_rel(vatomicsz_t *a, vsize_t v)
Writes v to a if v is greater than *a and returns the old value.
Parameters:
a: atomic variablev: potential max value
Returns: old max value
Memory ordering: release
Function vatomicsz_get_max_rlx
static vsize_t vatomicsz_get_max_rlx(vatomicsz_t *a, vsize_t v)
Writes v to a if v is greater than *a and returns the old value.
Parameters:
a: atomic variablev: potential max value
Returns: old max value
Memory ordering: relaxed
Function vatomicsz_max_get
static vsize_t vatomicsz_max_get(vatomicsz_t *a, vsize_t v)
Writes v to a if v is greater than *a and returns the new value.
Parameters:
a: atomic variablev: potential max value
Returns: new max value
Memory ordering: seq_cst
Function vatomicsz_max_get_acq
static vsize_t vatomicsz_max_get_acq(vatomicsz_t *a, vsize_t v)
Writes v to a if v is greater than *a and returns the new value.
Parameters:
a: atomic variablev: potential max value
Returns: new max value
Memory ordering: acquire
Function vatomicsz_max_get_rel
static vsize_t vatomicsz_max_get_rel(vatomicsz_t *a, vsize_t v)
Writes v to a if v is greater than *a and returns the new value.
Parameters:
a: atomic variablev: potential max value
Returns: new max value
Memory ordering: release
Function vatomicsz_max_get_rlx
static vsize_t vatomicsz_max_get_rlx(vatomicsz_t *a, vsize_t v)
Writes v to a if v is greater than *a and returns the new value.
Parameters:
a: atomic variablev: potential max value
Returns: new max value
Memory ordering: relaxed
Function vatomicsz_max
static void vatomicsz_max(vatomicsz_t *a, vsize_t v)
Writes v to a if v is greater than *a.
Parameters:
a: atomic variablev: potential max value
Memory ordering: seq_cst
Function vatomicsz_max_rel
static void vatomicsz_max_rel(vatomicsz_t *a, vsize_t v)
Writes v to a if v is greater than *a.
Parameters:
a: atomic variablev: potential max value
Memory ordering: release
Function vatomicsz_max_rlx
static void vatomicsz_max_rlx(vatomicsz_t *a, vsize_t v)
Writes v to a if v is greater than *a.
Parameters:
a: atomic variablev: potential max value
Memory ordering: relaxed
Function vatomicsz_get_and
static vsize_t vatomicsz_get_and(vatomicsz_t *a, vsize_t v)
Applies bitwise and to the value of a and returns the old value.
Parameters:
a: atomic variablev: mask value
Returns: old value
Memory ordering: seq_cst
Function vatomicsz_get_and_acq
static vsize_t vatomicsz_get_and_acq(vatomicsz_t *a, vsize_t v)
Applies bitwise and to the value of a and returns the old value.
Parameters:
a: atomic variablev: mask value
Returns: old value
Memory ordering: acquire
Function vatomicsz_get_and_rel
static vsize_t vatomicsz_get_and_rel(vatomicsz_t *a, vsize_t v)
Applies bitwise and to the value of a and returns the old value.
Parameters:
a: atomic variablev: mask value
Returns: old value
Memory ordering: release
Function vatomicsz_get_and_rlx
static vsize_t vatomicsz_get_and_rlx(vatomicsz_t *a, vsize_t v)
Applies bitwise and to the value of a and returns the old value.
Parameters:
a: atomic variablev: mask value
Returns: old value
Memory ordering: relaxed
Function vatomicsz_and_get
static vsize_t vatomicsz_and_get(vatomicsz_t *a, vsize_t v)
Applies bitwise and operation with v to the value of a and returns the new value.
Parameters:
a: atomic variablev: mask value
Returns: new value
Memory ordering: seq_cst
Function vatomicsz_and_get_acq
static vsize_t vatomicsz_and_get_acq(vatomicsz_t *a, vsize_t v)
Applies bitwise and operation with v to the value of a and returns the new value.
Parameters:
a: atomic variablev: mask value
Returns: new value
Memory ordering: acquire
Function vatomicsz_and_get_rel
static vsize_t vatomicsz_and_get_rel(vatomicsz_t *a, vsize_t v)
Applies bitwise and operation with v to the value of a and returns the new value.
Parameters:
a: atomic variablev: mask value
Returns: new value
Memory ordering: release
Function vatomicsz_and_get_rlx
static vsize_t vatomicsz_and_get_rlx(vatomicsz_t *a, vsize_t v)
Applies bitwise and operation with v to the value of a and returns the new value.
Parameters:
a: atomic variablev: mask value
Returns: new value
Memory ordering: relaxed
Function vatomicsz_and
static void vatomicsz_and(vatomicsz_t *a, vsize_t v)
Applies bitwise and operation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: seq_cst
Function vatomicsz_and_rel
static void vatomicsz_and_rel(vatomicsz_t *a, vsize_t v)
Applies bitwise and operation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: release
Function vatomicsz_and_rlx
static void vatomicsz_and_rlx(vatomicsz_t *a, vsize_t v)
Applies bitwise and operation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: relaxed
Function vatomicsz_get_or
static vsize_t vatomicsz_get_or(vatomicsz_t *a, vsize_t v)
Applies bitwise or operation with v to the value of a and returns the old value.
Parameters:
a: atomic variablev: mask value
Returns: old value
Memory ordering: seq_cst
Function vatomicsz_get_or_acq
static vsize_t vatomicsz_get_or_acq(vatomicsz_t *a, vsize_t v)
Applies bitwise or operation with v to the value of a and returns the old value.
Parameters:
a: atomic variablev: mask value
Returns: old value
Memory ordering: acquire
Function vatomicsz_get_or_rel
static vsize_t vatomicsz_get_or_rel(vatomicsz_t *a, vsize_t v)
Applies bitwise or operation with v to the value of a and returns the old value.
Parameters:
a: atomic variablev: mask value
Returns: old value
Memory ordering: release
Function vatomicsz_get_or_rlx
static vsize_t vatomicsz_get_or_rlx(vatomicsz_t *a, vsize_t v)
Applies bitwise or operation with v to the value of a and returns the old value.
Parameters:
a: atomic variablev: mask value
Returns: old value
Memory ordering: relaxed
Function vatomicsz_or_get
static vsize_t vatomicsz_or_get(vatomicsz_t *a, vsize_t v)
Applies bitwise or operation with v to the value of a and returns the new value.
Parameters:
a: atomic variablev: mask value
Returns: new value
Memory ordering: seq_cst
Function vatomicsz_or_get_acq
static vsize_t vatomicsz_or_get_acq(vatomicsz_t *a, vsize_t v)
Applies bitwise or operation with v to the value of a and returns the new value.
Parameters:
a: atomic variablev: mask value
Returns: new value
Memory ordering: acquire
Function vatomicsz_or_get_rel
static vsize_t vatomicsz_or_get_rel(vatomicsz_t *a, vsize_t v)
Applies bitwise or operation with v to the value of a and returns the new value.
Parameters:
a: atomic variablev: mask value
Returns: new value
Memory ordering: release
Function vatomicsz_or_get_rlx
static vsize_t vatomicsz_or_get_rlx(vatomicsz_t *a, vsize_t v)
Applies bitwise or operation with v to the value of a and returns the new value.
Parameters:
a: atomic variablev: mask value
Returns: new value
Memory ordering: relaxed
Function vatomicsz_or
static void vatomicsz_or(vatomicsz_t *a, vsize_t v)
Applies bitwise or operation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: seq_cst
Function vatomicsz_or_rel
static void vatomicsz_or_rel(vatomicsz_t *a, vsize_t v)
Applies bitwise or operation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: release
Function vatomicsz_or_rlx
static void vatomicsz_or_rlx(vatomicsz_t *a, vsize_t v)
Applies bitwise or operation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: relaxed
Function vatomicsz_get_xor
static vsize_t vatomicsz_get_xor(vatomicsz_t *a, vsize_t v)
Applies bitwise xor operation with v to the value of a and returns the old value.
Parameters:
a: atomic variablev: mask value
Returns: old value
Memory ordering: seq_cst
Function vatomicsz_get_xor_acq
static vsize_t vatomicsz_get_xor_acq(vatomicsz_t *a, vsize_t v)
Applies bitwise xor operation with v to the value of a and returns the old value.
Parameters:
a: atomic variablev: mask value
Returns: old value
Memory ordering: acquire
Function vatomicsz_get_xor_rel
static vsize_t vatomicsz_get_xor_rel(vatomicsz_t *a, vsize_t v)
Applies bitwise xor operation with v to the value of a and returns the old value.
Parameters:
a: atomic variablev: mask value
Returns: old value
Memory ordering: release
Function vatomicsz_get_xor_rlx
static vsize_t vatomicsz_get_xor_rlx(vatomicsz_t *a, vsize_t v)
Applies bitwise xor operation with v to the value of a and returns the old value.
Parameters:
a: atomic variablev: mask value
Returns: old value
Memory ordering: relaxed
Function vatomicsz_xor_get
static vsize_t vatomicsz_xor_get(vatomicsz_t *a, vsize_t v)
Applies bitwise xor operation with v to the value of a and returns the new value.
Parameters:
a: atomic variablev: mask value
Returns: new value
Memory ordering: seq_cst
Function vatomicsz_xor_get_acq
static vsize_t vatomicsz_xor_get_acq(vatomicsz_t *a, vsize_t v)
Applies bitwise xor operation with v to the value of a and returns the new value.
Parameters:
a: atomic variablev: mask value
Returns: new value
Memory ordering: acquire
Function vatomicsz_xor_get_rel
static vsize_t vatomicsz_xor_get_rel(vatomicsz_t *a, vsize_t v)
Applies bitwise xor operation with v to the value of a and returns the new value.
Parameters:
a: atomic variablev: mask value
Returns: new value
Memory ordering: release
Function vatomicsz_xor_get_rlx
static vsize_t vatomicsz_xor_get_rlx(vatomicsz_t *a, vsize_t v)
Applies bitwise xor operation with v to the value of a and returns the new value.
Parameters:
a: atomic variablev: mask value
Returns: new value
Memory ordering: relaxed
Function vatomicsz_xor
static void vatomicsz_xor(vatomicsz_t *a, vsize_t v)
Applies bitwise xor opeation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: seq_cst
Function vatomicsz_xor_rel
static void vatomicsz_xor_rel(vatomicsz_t *a, vsize_t v)
Applies bitwise xor opeation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: release
Function vatomicsz_xor_rlx
static void vatomicsz_xor_rlx(vatomicsz_t *a, vsize_t v)
Applies bitwise xor opeation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: relaxed
Function vatomicsz_get_add
static vsize_t vatomicsz_get_add(vatomicsz_t *a, vsize_t v)
Adds v to the value of a and returns the old value.
Parameters:
a: atomic variablev: addend value
Returns: old value
Memory ordering: seq_cst
Function vatomicsz_get_add_acq
static vsize_t vatomicsz_get_add_acq(vatomicsz_t *a, vsize_t v)
Adds v to the value of a and returns the old value.
Parameters:
a: atomic variablev: addend value
Returns: old value
Memory ordering: acquire
Function vatomicsz_get_add_rel
static vsize_t vatomicsz_get_add_rel(vatomicsz_t *a, vsize_t v)
Adds v to the value of a and returns the old value.
Parameters:
a: atomic variablev: addend value
Returns: old value
Memory ordering: release
Function vatomicsz_get_add_rlx
static vsize_t vatomicsz_get_add_rlx(vatomicsz_t *a, vsize_t v)
Adds v to the value of a and returns the old value.
Parameters:
a: atomic variablev: addend value
Returns: old value
Memory ordering: relaxed
Function vatomicsz_add_get
static vsize_t vatomicsz_add_get(vatomicsz_t *a, vsize_t v)
Adds v to the value of a and returns the new value.
Parameters:
a: atomic variablev: addend value
Returns: new value
Memory ordering: seq_cst
Function vatomicsz_add_get_acq
static vsize_t vatomicsz_add_get_acq(vatomicsz_t *a, vsize_t v)
Adds v to the value of a and returns the new value.
Parameters:
a: atomic variablev: addend value
Returns: new value
Memory ordering: acquire
Function vatomicsz_add_get_rel
static vsize_t vatomicsz_add_get_rel(vatomicsz_t *a, vsize_t v)
Adds v to the value of a and returns the new value.
Parameters:
a: atomic variablev: addend value
Returns: new value
Memory ordering: release
Function vatomicsz_add_get_rlx
static vsize_t vatomicsz_add_get_rlx(vatomicsz_t *a, vsize_t v)
Adds v to the value of a and returns the new value.
Parameters:
a: atomic variablev: addend value
Returns: new value
Memory ordering: relaxed
Function vatomicsz_add
static void vatomicsz_add(vatomicsz_t *a, vsize_t v)
Adds v to the value of a.
Parameters:
a: atomic variablev: addend value
Memory ordering: seq_cst
Function vatomicsz_add_rel
static void vatomicsz_add_rel(vatomicsz_t *a, vsize_t v)
Adds v to the value of a.
Parameters:
a: atomic variablev: addend value
Memory ordering: release
Function vatomicsz_add_rlx
static void vatomicsz_add_rlx(vatomicsz_t *a, vsize_t v)
Adds v to the value of a.
Parameters:
a: atomic variablev: addend value
Memory ordering: relaxed
Function vatomicsz_get_inc
static vsize_t vatomicsz_get_inc(vatomicsz_t *a)
Increments the value of a and returns the old value.
Parameters:
a: atomic variable
Returns: old value
Memory ordering: seq_cst
Function vatomicsz_get_inc_acq
static vsize_t vatomicsz_get_inc_acq(vatomicsz_t *a)
Increments the value of a and returns the old value.
Parameters:
a: atomic variable
Returns: old value
Memory ordering: acquire
Function vatomicsz_get_inc_rel
static vsize_t vatomicsz_get_inc_rel(vatomicsz_t *a)
Increments the value of a and returns the old value.
Parameters:
a: atomic variable
Returns: old value
Memory ordering: release
Function vatomicsz_get_inc_rlx
static vsize_t vatomicsz_get_inc_rlx(vatomicsz_t *a)
Increments the value of a and returns the old value.
Parameters:
a: atomic variable
Returns: old value
Memory ordering: relaxed
Function vatomicsz_inc_get
static vsize_t vatomicsz_inc_get(vatomicsz_t *a)
Increments the value of a and returns the new value.
Parameters:
a: atomic variable
Returns: new value
Memory ordering: seq_cst
Function vatomicsz_inc_get_acq
static vsize_t vatomicsz_inc_get_acq(vatomicsz_t *a)
Increments the value of a and returns the new value.
Parameters:
a: atomic variable
Returns: new value
Memory ordering: acquire
Function vatomicsz_inc_get_rel
static vsize_t vatomicsz_inc_get_rel(vatomicsz_t *a)
Increments the value of a and returns the new value.
Parameters:
a: atomic variable
Returns: new value
Memory ordering: release
Function vatomicsz_inc_get_rlx
static vsize_t vatomicsz_inc_get_rlx(vatomicsz_t *a)
Increments the value of a and returns the new value.
Parameters:
a: atomic variable
Returns: new value
Memory ordering: relaxed
Function vatomicsz_inc
static void vatomicsz_inc(vatomicsz_t *a)
Increments the value of a.
Parameters:
a: atomic variable
Memory ordering: seq_cst
Function vatomicsz_inc_rel
static void vatomicsz_inc_rel(vatomicsz_t *a)
Increments the value of a.
Parameters:
a: atomic variable
Memory ordering: release
Function vatomicsz_inc_rlx
static void vatomicsz_inc_rlx(vatomicsz_t *a)
Increments the value of a.
Parameters:
a: atomic variable
Memory ordering: relaxed
Function vatomicsz_get_sub
static vsize_t vatomicsz_get_sub(vatomicsz_t *a, vsize_t v)
Subtracts v from a and returns the old value.
Parameters:
a: atomic variablev: subtrahend value
Returns: old value
Memory ordering: seq_cst
Function vatomicsz_get_sub_acq
static vsize_t vatomicsz_get_sub_acq(vatomicsz_t *a, vsize_t v)
Subtracts v from a and returns the old value.
Parameters:
a: atomic variablev: subtrahend value
Returns: old value
Memory ordering: acquire
Function vatomicsz_get_sub_rel
static vsize_t vatomicsz_get_sub_rel(vatomicsz_t *a, vsize_t v)
Subtracts v from a and returns the old value.
Parameters:
a: atomic variablev: subtrahend value
Returns: old value
Memory ordering: release
Function vatomicsz_get_sub_rlx
static vsize_t vatomicsz_get_sub_rlx(vatomicsz_t *a, vsize_t v)
Subtracts v from a and returns the old value.
Parameters:
a: atomic variablev: subtrahend value
Returns: old value
Memory ordering: relaxed
Function vatomicsz_sub_get
static vsize_t vatomicsz_sub_get(vatomicsz_t *a, vsize_t v)
Subtracts v from a and returns the new value.
Parameters:
a: atomic variablev: subtrahend value
Returns: new value
Memory ordering: seq_cst
Function vatomicsz_sub_get_acq
static vsize_t vatomicsz_sub_get_acq(vatomicsz_t *a, vsize_t v)
Subtracts v from a and returns the new value.
Parameters:
a: atomic variablev: subtrahend value
Returns: new value
Memory ordering: acquire
Function vatomicsz_sub_get_rel
static vsize_t vatomicsz_sub_get_rel(vatomicsz_t *a, vsize_t v)
Subtracts v from a and returns the new value.
Parameters:
a: atomic variablev: subtrahend value
Returns: new value
Memory ordering: release
Function vatomicsz_sub_get_rlx
static vsize_t vatomicsz_sub_get_rlx(vatomicsz_t *a, vsize_t v)
Subtracts v from a and returns the new value.
Parameters:
a: atomic variablev: subtrahend value
Returns: new value
Memory ordering: relaxed
Function vatomicsz_sub
static void vatomicsz_sub(vatomicsz_t *a, vsize_t v)
Subtracts v from a.
Parameters:
a: atomic variablev: subtrahend value
Memory ordering: seq_cst
Function vatomicsz_sub_rel
static void vatomicsz_sub_rel(vatomicsz_t *a, vsize_t v)
Subtracts v from a.
Parameters:
a: atomic variablev: subtrahend value
Memory ordering: release
Function vatomicsz_sub_rlx
static void vatomicsz_sub_rlx(vatomicsz_t *a, vsize_t v)
Subtracts v from a.
Parameters:
a: atomic variablev: subtrahend value
Memory ordering: relaxed
Function vatomicsz_get_dec
static vsize_t vatomicsz_get_dec(vatomicsz_t *a)
Decrements the value of a and returns the old value.
Parameters:
a: atomic variable
Returns: old value
Memory ordering: seq_cst
Function vatomicsz_get_dec_acq
static vsize_t vatomicsz_get_dec_acq(vatomicsz_t *a)
Decrements the value of a and returns the old value.
Parameters:
a: atomic variable
Returns: old value
Memory ordering: acquire
Function vatomicsz_get_dec_rel
static vsize_t vatomicsz_get_dec_rel(vatomicsz_t *a)
Decrements the value of a and returns the old value.
Parameters:
a: atomic variable
Returns: old value
Memory ordering: release
Function vatomicsz_get_dec_rlx
static vsize_t vatomicsz_get_dec_rlx(vatomicsz_t *a)
Decrements the value of a and returns the old value.
Parameters:
a: atomic variable
Returns: old value
Memory ordering: relaxed
Function vatomicsz_dec_get
static vsize_t vatomicsz_dec_get(vatomicsz_t *a)
Decrements the value of a and returns the new value.
Parameters:
a: atomic variable
Returns: new value
Memory ordering: seq_cst
Function vatomicsz_dec_get_acq
static vsize_t vatomicsz_dec_get_acq(vatomicsz_t *a)
Decrements the value of a and returns the new value.
Parameters:
a: atomic variable
Returns: new value
Memory ordering: acquire
Function vatomicsz_dec_get_rel
static vsize_t vatomicsz_dec_get_rel(vatomicsz_t *a)
Decrements the value of a and returns the new value.
Parameters:
a: atomic variable
Returns: new value
Memory ordering: release
Function vatomicsz_dec_get_rlx
static vsize_t vatomicsz_dec_get_rlx(vatomicsz_t *a)
Decrements the value of a and returns the new value.
Parameters:
a: atomic variable
Returns: new value
Memory ordering: relaxed
Function vatomicsz_dec
static void vatomicsz_dec(vatomicsz_t *a)
Decrements the value of a.
Parameters:
a: atomic variable
Memory ordering: seq_cst
Function vatomicsz_dec_rel
static void vatomicsz_dec_rel(vatomicsz_t *a)
Decrements the value of a.
Parameters:
a: atomic variable
Memory ordering: release
Function vatomicsz_dec_rlx
static void vatomicsz_dec_rlx(vatomicsz_t *a)
Decrements the value of a.
Parameters:
a: atomic variable
Memory ordering: relaxed