8.2.23. _gfortran_caf_atomic_op

8.2.23 _gfortran_caf_atomic_op — Atomic operation

Description:
Apply an operation atomically to an atomic integer or logical variable. After the operation, old contains the value just before the operation, which, respectively, adds (GFC_CAF_ATOMIC_ADD) atomically the value to the atomic integer variable or does a bitwise AND, OR or exclusive OR of the between the atomic variable and value; the result is then stored in the atomic variable.
Syntax:
void _gfortran_caf_atomic_op (int op, caf_token_t token, size_t offset, int image_index, void *value, void *old, int *stat, int type, int kind)
Arguments:
op the operation to be performed; possible values GFC_CAF_ATOMIC_ADD (1), GFC_CAF_ATOMIC_AND (2), GFC_CAF_ATOMIC_OR (3), GFC_CAF_ATOMIC_XOR (4).
token intent(in) An opaque pointer identifying the coarray.
offset By which amount of bytes the actual data is shifted compared to the base address of the coarray.
image_index The ID of the remote image; must be a positive number; zero indicates the current image when used noncoindexed.
old intent(out) the value which the atomic variable had just before the atomic operation.
val intent(in) The new value for the atomic variable, assigned to the atomic variable, if compare equals the value of the atomic variable.
stat intent(out) Stores the status STAT= and may be NULL.
type the data type, i.e. BT_INTEGER (1) or BT_LOGICAL (2).
kind The kind value (only 4; always int)

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-6.3.0/gfortran/_005fgfortran_005fcaf_005fatomic_005fop.html

在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部