8.2.31 _gfortran_caf_atomic_op — Атомарная операция
- Описание:
-
Применяет операцию атомарно к целочисленной или логической атомарной переменной. После операции old содержит значение, существовавшее перед операцией, которая соответственно атомарно добавляет
valueк атомарной целочисленной переменной или выполняет побитовое И, ИЛИ или исключающее ИЛИ между атомарной переменной и value; результат затем сохраняется в атомарной переменной. - Синтаксис:
-
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) - Аргументы:
-
op intent(in) операция, подлежащая выполнению; возможные значения GFC_CAF_ATOMIC_ADD(1),GFC_CAF_ATOMIC_AND(2),GFC_CAF_ATOMIC_OR(3),GFC_CAF_ATOMIC_XOR(4).token intent(in) Непрозрачный указатель, идентифицирующий комассив. offset intent(in) Сдвиг в байтах фактических данных относительно базового адреса комассива. image_index intent(in) Идентификатор удаленного образа; должно быть положительным числом; ноль указывает на текущий образ, когда используется без индексации. old intent(out) Значение, которое атомарная переменная имела непосредственно перед атомарной операцией. val intent(in) Новое значение для атомарной переменной, присваиваемое атомарной переменной, если compareравно значению атомарной переменной.stat intent(out) Сохраняет статус STAT= и может быть NULL. type intent(in) тип данных, т.е. BT_INTEGER(1) илиBT_LOGICAL(2)kind intent(in) значение kind (только 4; всегда int)
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-10.2.0/gfortran/_005fgfortran_005fcaf_005fatomic_005fop.html