vsync / atomic / core_u64.h
Atomic functions for vatomic64_t variables.
This file declares and documents the core atomic functions operating on vatomic64_t variables.
Please do not include this file directly, instead use:
#include <vsync/atomic/core.h>
Functions
| Function | Description |
|---|---|
| vatomic64_init | Initializes the atomic variable a with value v. |
| vatomic64_read | Returns the value of the atomic variable pointed by a. |
| vatomic64_read_acq | Returns the value of the atomic variable pointed by a. |
| vatomic64_read_rlx | Returns the value of the atomic variable pointed by a. |
| vatomic64_write | Writes value v in the atomic variable pointed by a. |
| vatomic64_write_rel | Writes value v in the atomic variable pointed by a. |
| vatomic64_write_rlx | Writes value v in the atomic variable pointed by a. |
| vatomic64_xchg | Writes v in a and returns old value. |
| vatomic64_xchg_acq | Writes v in a and returns old value. |
| vatomic64_xchg_rel | Writes v in a and returns old value. |
| vatomic64_xchg_rlx | Writes v in a and returns old value. |
| vatomic64_cmpxchg | Writes value v in a if e is the current value. |
| vatomic64_cmpxchg_acq | Writes value v in a if e is the current value. |
| vatomic64_cmpxchg_rel | Writes value v in a if e is the current value. |
| vatomic64_cmpxchg_rlx | Writes value v in a if e is the current value. |
| vatomic64_get_max | Writes v to a if v is greater than *a and returns the old value. |
| vatomic64_get_max_acq | Writes v to a if v is greater than *a and returns the old value. |
| vatomic64_get_max_rel | Writes v to a if v is greater than *a and returns the old value. |
| vatomic64_get_max_rlx | Writes v to a if v is greater than *a and returns the old value. |
| vatomic64_max_get | Writes v to a if v is greater than *a and returns the new value. |
| vatomic64_max_get_acq | Writes v to a if v is greater than *a and returns the new value. |
| vatomic64_max_get_rel | Writes v to a if v is greater than *a and returns the new value. |
| vatomic64_max_get_rlx | Writes v to a if v is greater than *a and returns the new value. |
| vatomic64_max | Writes v to a if v is greater than *a. |
| vatomic64_max_rel | Writes v to a if v is greater than *a. |
| vatomic64_max_rlx | Writes v to a if v is greater than *a. |
| vatomic64_get_and | Applies bitwise and to the value of a and returns the old value. |
| vatomic64_get_and_acq | Applies bitwise and to the value of a and returns the old value. |
| vatomic64_get_and_rel | Applies bitwise and to the value of a and returns the old value. |
| vatomic64_get_and_rlx | Applies bitwise and to the value of a and returns the old value. |
| vatomic64_and_get | Applies bitwise and operation with v to the value of a and returns the new value. |
| vatomic64_and_get_acq | Applies bitwise and operation with v to the value of a and returns the new value. |
| vatomic64_and_get_rel | Applies bitwise and operation with v to the value of a and returns the new value. |
| vatomic64_and_get_rlx | Applies bitwise and operation with v to the value of a and returns the new value. |
| vatomic64_and | Applies bitwise and operation with v to the value of a. |
| vatomic64_and_rel | Applies bitwise and operation with v to the value of a. |
| vatomic64_and_rlx | Applies bitwise and operation with v to the value of a. |
| vatomic64_get_or | Applies bitwise or operation with v to the value of a and returns the old value. |
| vatomic64_get_or_acq | Applies bitwise or operation with v to the value of a and returns the old value. |
| vatomic64_get_or_rel | Applies bitwise or operation with v to the value of a and returns the old value. |
| vatomic64_get_or_rlx | Applies bitwise or operation with v to the value of a and returns the old value. |
| vatomic64_or_get | Applies bitwise or operation with v to the value of a and returns the new value. |
| vatomic64_or_get_acq | Applies bitwise or operation with v to the value of a and returns the new value. |
| vatomic64_or_get_rel | Applies bitwise or operation with v to the value of a and returns the new value. |
| vatomic64_or_get_rlx | Applies bitwise or operation with v to the value of a and returns the new value. |
| vatomic64_or | Applies bitwise or operation with v to the value of a. |
| vatomic64_or_rel | Applies bitwise or operation with v to the value of a. |
| vatomic64_or_rlx | Applies bitwise or operation with v to the value of a. |
| vatomic64_get_xor | Applies bitwise xor operation with v to the value of a and returns the old value. |
| vatomic64_get_xor_acq | Applies bitwise xor operation with v to the value of a and returns the old value. |
| vatomic64_get_xor_rel | Applies bitwise xor operation with v to the value of a and returns the old value. |
| vatomic64_get_xor_rlx | Applies bitwise xor operation with v to the value of a and returns the old value. |
| vatomic64_xor_get | Applies bitwise xor operation with v to the value of a and returns the new value. |
| vatomic64_xor_get_acq | Applies bitwise xor operation with v to the value of a and returns the new value. |
| vatomic64_xor_get_rel | Applies bitwise xor operation with v to the value of a and returns the new value. |
| vatomic64_xor_get_rlx | Applies bitwise xor operation with v to the value of a and returns the new value. |
| vatomic64_xor | Applies bitwise xor opeation with v to the value of a. |
| vatomic64_xor_rel | Applies bitwise xor opeation with v to the value of a. |
| vatomic64_xor_rlx | Applies bitwise xor opeation with v to the value of a. |
| vatomic64_get_add | Adds v to the value of a and returns the old value. |
| vatomic64_get_add_acq | Adds v to the value of a and returns the old value. |
| vatomic64_get_add_rel | Adds v to the value of a and returns the old value. |
| vatomic64_get_add_rlx | Adds v to the value of a and returns the old value. |
| vatomic64_add_get | Adds v to the value of a and returns the new value. |
| vatomic64_add_get_acq | Adds v to the value of a and returns the new value. |
| vatomic64_add_get_rel | Adds v to the value of a and returns the new value. |
| vatomic64_add_get_rlx | Adds v to the value of a and returns the new value. |
| vatomic64_add | Adds v to the value of a. |
| vatomic64_add_rel | Adds v to the value of a. |
| vatomic64_add_rlx | Adds v to the value of a. |
| vatomic64_get_inc | Increments the value of a and returns the old value. |
| vatomic64_get_inc_acq | Increments the value of a and returns the old value. |
| vatomic64_get_inc_rel | Increments the value of a and returns the old value. |
| vatomic64_get_inc_rlx | Increments the value of a and returns the old value. |
| vatomic64_inc_get | Increments the value of a and returns the new value. |
| vatomic64_inc_get_acq | Increments the value of a and returns the new value. |
| vatomic64_inc_get_rel | Increments the value of a and returns the new value. |
| vatomic64_inc_get_rlx | Increments the value of a and returns the new value. |
| vatomic64_inc | Increments the value of a. |
| vatomic64_inc_rel | Increments the value of a. |
| vatomic64_inc_rlx | Increments the value of a. |
| vatomic64_get_sub | Subtracts v from a and returns the old value. |
| vatomic64_get_sub_acq | Subtracts v from a and returns the old value. |
| vatomic64_get_sub_rel | Subtracts v from a and returns the old value. |
| vatomic64_get_sub_rlx | Subtracts v from a and returns the old value. |
| vatomic64_sub_get | Subtracts v from a and returns the new value. |
| vatomic64_sub_get_acq | Subtracts v from a and returns the new value. |
| vatomic64_sub_get_rel | Subtracts v from a and returns the new value. |
| vatomic64_sub_get_rlx | Subtracts v from a and returns the new value. |
| vatomic64_sub | Subtracts v from a. |
| vatomic64_sub_rel | Subtracts v from a. |
| vatomic64_sub_rlx | Subtracts v from a. |
| vatomic64_get_dec | Decrements the value of a and returns the old value. |
| vatomic64_get_dec_acq | Decrements the value of a and returns the old value. |
| vatomic64_get_dec_rel | Decrements the value of a and returns the old value. |
| vatomic64_get_dec_rlx | Decrements the value of a and returns the old value. |
| vatomic64_dec_get | Decrements the value of a and returns the new value. |
| vatomic64_dec_get_acq | Decrements the value of a and returns the new value. |
| vatomic64_dec_get_rel | Decrements the value of a and returns the new value. |
| vatomic64_dec_get_rlx | Decrements the value of a and returns the new value. |
| vatomic64_dec | Decrements the value of a. |
| vatomic64_dec_rel | Decrements the value of a. |
| vatomic64_dec_rlx | Decrements the value of a. |
Function vatomic64_init
static void vatomic64_init(vatomic64_t *a, vuint64_t v)
Initializes the atomic variable a with value v.
The initialization is equivalent to an vatomic64_write().
Parameters:
a: atomic variablev: initial value
Memory ordering: seq_cst
Function vatomic64_read
static vuint64_t vatomic64_read(const vatomic64_t *a)
Returns the value of the atomic variable pointed by a.
Parameters:
a: atomic variable
Returns: current value
Memory ordering: seq_cst
Function vatomic64_read_acq
static vuint64_t vatomic64_read_acq(const vatomic64_t *a)
Returns the value of the atomic variable pointed by a.
Parameters:
a: atomic variable
Returns: current value
Memory ordering: acquire
Function vatomic64_read_rlx
static vuint64_t vatomic64_read_rlx(const vatomic64_t *a)
Returns the value of the atomic variable pointed by a.
Parameters:
a: atomic variable
Returns: current value
Memory ordering: relaxed
Function vatomic64_write
static void vatomic64_write(vatomic64_t *a, vuint64_t v)
Writes value v in the atomic variable pointed by a.
Parameters:
a: atomic variablev: new value
Memory ordering: seq_cst
Function vatomic64_write_rel
static void vatomic64_write_rel(vatomic64_t *a, vuint64_t v)
Writes value v in the atomic variable pointed by a.
Parameters:
a: atomic variablev: new value
Memory ordering: release
Function vatomic64_write_rlx
static void vatomic64_write_rlx(vatomic64_t *a, vuint64_t v)
Writes value v in the atomic variable pointed by a.
Parameters:
a: atomic variablev: new value
Memory ordering: relaxed
Function vatomic64_xchg
static vuint64_t vatomic64_xchg(vatomic64_t *a, vuint64_t v)
Writes v in a and returns old value.
Parameters:
a: atomic variablev: new value
Returns: old value
Memory ordering: seq_cst
Function vatomic64_xchg_acq
static vuint64_t vatomic64_xchg_acq(vatomic64_t *a, vuint64_t v)
Writes v in a and returns old value.
Parameters:
a: atomic variablev: new value
Returns: old value
Memory ordering: acquire
Function vatomic64_xchg_rel
static vuint64_t vatomic64_xchg_rel(vatomic64_t *a, vuint64_t v)
Writes v in a and returns old value.
Parameters:
a: atomic variablev: new value
Returns: old value
Memory ordering: release
Function vatomic64_xchg_rlx
static vuint64_t vatomic64_xchg_rlx(vatomic64_t *a, vuint64_t v)
Writes v in a and returns old value.
Parameters:
a: atomic variablev: new value
Returns: old value
Memory ordering: relaxed
Function vatomic64_cmpxchg
static vuint64_t vatomic64_cmpxchg(vatomic64_t *a, vuint64_t e, vuint64_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 vatomic64_cmpxchg_acq
static vuint64_t vatomic64_cmpxchg_acq(vatomic64_t *a, vuint64_t e, vuint64_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 vatomic64_cmpxchg_rel
static vuint64_t vatomic64_cmpxchg_rel(vatomic64_t *a, vuint64_t e, vuint64_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 vatomic64_cmpxchg_rlx
static vuint64_t vatomic64_cmpxchg_rlx(vatomic64_t *a, vuint64_t e, vuint64_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 vatomic64_get_max
static vuint64_t vatomic64_get_max(vatomic64_t *a, vuint64_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 vatomic64_get_max_acq
static vuint64_t vatomic64_get_max_acq(vatomic64_t *a, vuint64_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 vatomic64_get_max_rel
static vuint64_t vatomic64_get_max_rel(vatomic64_t *a, vuint64_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 vatomic64_get_max_rlx
static vuint64_t vatomic64_get_max_rlx(vatomic64_t *a, vuint64_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 vatomic64_max_get
static vuint64_t vatomic64_max_get(vatomic64_t *a, vuint64_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 vatomic64_max_get_acq
static vuint64_t vatomic64_max_get_acq(vatomic64_t *a, vuint64_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 vatomic64_max_get_rel
static vuint64_t vatomic64_max_get_rel(vatomic64_t *a, vuint64_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 vatomic64_max_get_rlx
static vuint64_t vatomic64_max_get_rlx(vatomic64_t *a, vuint64_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 vatomic64_max
static void vatomic64_max(vatomic64_t *a, vuint64_t v)
Writes v to a if v is greater than *a.
Parameters:
a: atomic variablev: potential max value
Memory ordering: seq_cst
Function vatomic64_max_rel
static void vatomic64_max_rel(vatomic64_t *a, vuint64_t v)
Writes v to a if v is greater than *a.
Parameters:
a: atomic variablev: potential max value
Memory ordering: release
Function vatomic64_max_rlx
static void vatomic64_max_rlx(vatomic64_t *a, vuint64_t v)
Writes v to a if v is greater than *a.
Parameters:
a: atomic variablev: potential max value
Memory ordering: relaxed
Function vatomic64_get_and
static vuint64_t vatomic64_get_and(vatomic64_t *a, vuint64_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 vatomic64_get_and_acq
static vuint64_t vatomic64_get_and_acq(vatomic64_t *a, vuint64_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 vatomic64_get_and_rel
static vuint64_t vatomic64_get_and_rel(vatomic64_t *a, vuint64_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 vatomic64_get_and_rlx
static vuint64_t vatomic64_get_and_rlx(vatomic64_t *a, vuint64_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 vatomic64_and_get
static vuint64_t vatomic64_and_get(vatomic64_t *a, vuint64_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 vatomic64_and_get_acq
static vuint64_t vatomic64_and_get_acq(vatomic64_t *a, vuint64_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 vatomic64_and_get_rel
static vuint64_t vatomic64_and_get_rel(vatomic64_t *a, vuint64_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 vatomic64_and_get_rlx
static vuint64_t vatomic64_and_get_rlx(vatomic64_t *a, vuint64_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 vatomic64_and
static void vatomic64_and(vatomic64_t *a, vuint64_t v)
Applies bitwise and operation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: seq_cst
Function vatomic64_and_rel
static void vatomic64_and_rel(vatomic64_t *a, vuint64_t v)
Applies bitwise and operation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: release
Function vatomic64_and_rlx
static void vatomic64_and_rlx(vatomic64_t *a, vuint64_t v)
Applies bitwise and operation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: relaxed
Function vatomic64_get_or
static vuint64_t vatomic64_get_or(vatomic64_t *a, vuint64_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 vatomic64_get_or_acq
static vuint64_t vatomic64_get_or_acq(vatomic64_t *a, vuint64_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 vatomic64_get_or_rel
static vuint64_t vatomic64_get_or_rel(vatomic64_t *a, vuint64_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 vatomic64_get_or_rlx
static vuint64_t vatomic64_get_or_rlx(vatomic64_t *a, vuint64_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 vatomic64_or_get
static vuint64_t vatomic64_or_get(vatomic64_t *a, vuint64_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 vatomic64_or_get_acq
static vuint64_t vatomic64_or_get_acq(vatomic64_t *a, vuint64_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 vatomic64_or_get_rel
static vuint64_t vatomic64_or_get_rel(vatomic64_t *a, vuint64_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 vatomic64_or_get_rlx
static vuint64_t vatomic64_or_get_rlx(vatomic64_t *a, vuint64_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 vatomic64_or
static void vatomic64_or(vatomic64_t *a, vuint64_t v)
Applies bitwise or operation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: seq_cst
Function vatomic64_or_rel
static void vatomic64_or_rel(vatomic64_t *a, vuint64_t v)
Applies bitwise or operation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: release
Function vatomic64_or_rlx
static void vatomic64_or_rlx(vatomic64_t *a, vuint64_t v)
Applies bitwise or operation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: relaxed
Function vatomic64_get_xor
static vuint64_t vatomic64_get_xor(vatomic64_t *a, vuint64_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 vatomic64_get_xor_acq
static vuint64_t vatomic64_get_xor_acq(vatomic64_t *a, vuint64_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 vatomic64_get_xor_rel
static vuint64_t vatomic64_get_xor_rel(vatomic64_t *a, vuint64_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 vatomic64_get_xor_rlx
static vuint64_t vatomic64_get_xor_rlx(vatomic64_t *a, vuint64_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 vatomic64_xor_get
static vuint64_t vatomic64_xor_get(vatomic64_t *a, vuint64_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 vatomic64_xor_get_acq
static vuint64_t vatomic64_xor_get_acq(vatomic64_t *a, vuint64_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 vatomic64_xor_get_rel
static vuint64_t vatomic64_xor_get_rel(vatomic64_t *a, vuint64_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 vatomic64_xor_get_rlx
static vuint64_t vatomic64_xor_get_rlx(vatomic64_t *a, vuint64_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 vatomic64_xor
static void vatomic64_xor(vatomic64_t *a, vuint64_t v)
Applies bitwise xor opeation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: seq_cst
Function vatomic64_xor_rel
static void vatomic64_xor_rel(vatomic64_t *a, vuint64_t v)
Applies bitwise xor opeation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: release
Function vatomic64_xor_rlx
static void vatomic64_xor_rlx(vatomic64_t *a, vuint64_t v)
Applies bitwise xor opeation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: relaxed
Function vatomic64_get_add
static vuint64_t vatomic64_get_add(vatomic64_t *a, vuint64_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 vatomic64_get_add_acq
static vuint64_t vatomic64_get_add_acq(vatomic64_t *a, vuint64_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 vatomic64_get_add_rel
static vuint64_t vatomic64_get_add_rel(vatomic64_t *a, vuint64_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 vatomic64_get_add_rlx
static vuint64_t vatomic64_get_add_rlx(vatomic64_t *a, vuint64_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 vatomic64_add_get
static vuint64_t vatomic64_add_get(vatomic64_t *a, vuint64_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 vatomic64_add_get_acq
static vuint64_t vatomic64_add_get_acq(vatomic64_t *a, vuint64_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 vatomic64_add_get_rel
static vuint64_t vatomic64_add_get_rel(vatomic64_t *a, vuint64_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 vatomic64_add_get_rlx
static vuint64_t vatomic64_add_get_rlx(vatomic64_t *a, vuint64_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 vatomic64_add
static void vatomic64_add(vatomic64_t *a, vuint64_t v)
Adds v to the value of a.
Parameters:
a: atomic variablev: addend value
Memory ordering: seq_cst
Function vatomic64_add_rel
static void vatomic64_add_rel(vatomic64_t *a, vuint64_t v)
Adds v to the value of a.
Parameters:
a: atomic variablev: addend value
Memory ordering: release
Function vatomic64_add_rlx
static void vatomic64_add_rlx(vatomic64_t *a, vuint64_t v)
Adds v to the value of a.
Parameters:
a: atomic variablev: addend value
Memory ordering: relaxed
Function vatomic64_get_inc
static vuint64_t vatomic64_get_inc(vatomic64_t *a)
Increments the value of a and returns the old value.
Parameters:
a: atomic variable
Returns: old value
Memory ordering: seq_cst
Function vatomic64_get_inc_acq
static vuint64_t vatomic64_get_inc_acq(vatomic64_t *a)
Increments the value of a and returns the old value.
Parameters:
a: atomic variable
Returns: old value
Memory ordering: acquire
Function vatomic64_get_inc_rel
static vuint64_t vatomic64_get_inc_rel(vatomic64_t *a)
Increments the value of a and returns the old value.
Parameters:
a: atomic variable
Returns: old value
Memory ordering: release
Function vatomic64_get_inc_rlx
static vuint64_t vatomic64_get_inc_rlx(vatomic64_t *a)
Increments the value of a and returns the old value.
Parameters:
a: atomic variable
Returns: old value
Memory ordering: relaxed
Function vatomic64_inc_get
static vuint64_t vatomic64_inc_get(vatomic64_t *a)
Increments the value of a and returns the new value.
Parameters:
a: atomic variable
Returns: new value
Memory ordering: seq_cst
Function vatomic64_inc_get_acq
static vuint64_t vatomic64_inc_get_acq(vatomic64_t *a)
Increments the value of a and returns the new value.
Parameters:
a: atomic variable
Returns: new value
Memory ordering: acquire
Function vatomic64_inc_get_rel
static vuint64_t vatomic64_inc_get_rel(vatomic64_t *a)
Increments the value of a and returns the new value.
Parameters:
a: atomic variable
Returns: new value
Memory ordering: release
Function vatomic64_inc_get_rlx
static vuint64_t vatomic64_inc_get_rlx(vatomic64_t *a)
Increments the value of a and returns the new value.
Parameters:
a: atomic variable
Returns: new value
Memory ordering: relaxed
Function vatomic64_inc
static void vatomic64_inc(vatomic64_t *a)
Increments the value of a.
Parameters:
a: atomic variable
Memory ordering: seq_cst
Function vatomic64_inc_rel
static void vatomic64_inc_rel(vatomic64_t *a)
Increments the value of a.
Parameters:
a: atomic variable
Memory ordering: release
Function vatomic64_inc_rlx
static void vatomic64_inc_rlx(vatomic64_t *a)
Increments the value of a.
Parameters:
a: atomic variable
Memory ordering: relaxed
Function vatomic64_get_sub
static vuint64_t vatomic64_get_sub(vatomic64_t *a, vuint64_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 vatomic64_get_sub_acq
static vuint64_t vatomic64_get_sub_acq(vatomic64_t *a, vuint64_t v)
Subtracts v from a and returns the old value.
Parameters:
a: atomic variablev: subtrahend value
Returns: old value
Memory ordering: acquire
Function vatomic64_get_sub_rel
static vuint64_t vatomic64_get_sub_rel(vatomic64_t *a, vuint64_t v)
Subtracts v from a and returns the old value.
Parameters:
a: atomic variablev: subtrahend value
Returns: old value
Memory ordering: release
Function vatomic64_get_sub_rlx
static vuint64_t vatomic64_get_sub_rlx(vatomic64_t *a, vuint64_t v)
Subtracts v from a and returns the old value.
Parameters:
a: atomic variablev: subtrahend value
Returns: old value
Memory ordering: relaxed
Function vatomic64_sub_get
static vuint64_t vatomic64_sub_get(vatomic64_t *a, vuint64_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 vatomic64_sub_get_acq
static vuint64_t vatomic64_sub_get_acq(vatomic64_t *a, vuint64_t v)
Subtracts v from a and returns the new value.
Parameters:
a: atomic variablev: subtrahend value
Returns: new value
Memory ordering: acquire
Function vatomic64_sub_get_rel
static vuint64_t vatomic64_sub_get_rel(vatomic64_t *a, vuint64_t v)
Subtracts v from a and returns the new value.
Parameters:
a: atomic variablev: subtrahend value
Returns: new value
Memory ordering: release
Function vatomic64_sub_get_rlx
static vuint64_t vatomic64_sub_get_rlx(vatomic64_t *a, vuint64_t v)
Subtracts v from a and returns the new value.
Parameters:
a: atomic variablev: subtrahend value
Returns: new value
Memory ordering: relaxed
Function vatomic64_sub
static void vatomic64_sub(vatomic64_t *a, vuint64_t v)
Subtracts v from a.
Parameters:
a: atomic variablev: subtrahend value
Memory ordering: seq_cst
Function vatomic64_sub_rel
static void vatomic64_sub_rel(vatomic64_t *a, vuint64_t v)
Subtracts v from a.
Parameters:
a: atomic variablev: subtrahend value
Memory ordering: release
Function vatomic64_sub_rlx
static void vatomic64_sub_rlx(vatomic64_t *a, vuint64_t v)
Subtracts v from a.
Parameters:
a: atomic variablev: subtrahend value
Memory ordering: relaxed
Function vatomic64_get_dec
static vuint64_t vatomic64_get_dec(vatomic64_t *a)
Decrements the value of a and returns the old value.
Parameters:
a: atomic variable
Returns: old value
Memory ordering: seq_cst
Function vatomic64_get_dec_acq
static vuint64_t vatomic64_get_dec_acq(vatomic64_t *a)
Decrements the value of a and returns the old value.
Parameters:
a: atomic variable
Returns: old value
Memory ordering: acquire
Function vatomic64_get_dec_rel
static vuint64_t vatomic64_get_dec_rel(vatomic64_t *a)
Decrements the value of a and returns the old value.
Parameters:
a: atomic variable
Returns: old value
Memory ordering: release
Function vatomic64_get_dec_rlx
static vuint64_t vatomic64_get_dec_rlx(vatomic64_t *a)
Decrements the value of a and returns the old value.
Parameters:
a: atomic variable
Returns: old value
Memory ordering: relaxed
Function vatomic64_dec_get
static vuint64_t vatomic64_dec_get(vatomic64_t *a)
Decrements the value of a and returns the new value.
Parameters:
a: atomic variable
Returns: new value
Memory ordering: seq_cst
Function vatomic64_dec_get_acq
static vuint64_t vatomic64_dec_get_acq(vatomic64_t *a)
Decrements the value of a and returns the new value.
Parameters:
a: atomic variable
Returns: new value
Memory ordering: acquire
Function vatomic64_dec_get_rel
static vuint64_t vatomic64_dec_get_rel(vatomic64_t *a)
Decrements the value of a and returns the new value.
Parameters:
a: atomic variable
Returns: new value
Memory ordering: release
Function vatomic64_dec_get_rlx
static vuint64_t vatomic64_dec_get_rlx(vatomic64_t *a)
Decrements the value of a and returns the new value.
Parameters:
a: atomic variable
Returns: new value
Memory ordering: relaxed
Function vatomic64_dec
static void vatomic64_dec(vatomic64_t *a)
Decrements the value of a.
Parameters:
a: atomic variable
Memory ordering: seq_cst
Function vatomic64_dec_rel
static void vatomic64_dec_rel(vatomic64_t *a)
Decrements the value of a.
Parameters:
a: atomic variable
Memory ordering: release
Function vatomic64_dec_rlx
static void vatomic64_dec_rlx(vatomic64_t *a)
Decrements the value of a.
Parameters:
a: atomic variable
Memory ordering: relaxed