8.32 ATOMIC_FETCH_ADD — Атомная операция ADD с предварительным извлечением
- Описание:
-
ATOMIC_FETCH_ADD(ATOM, VALUE, OLD)атомарно сохраняет значение ATOM в OLD и добавляет значение VALUE к переменной ATOM. Если STAT присутствует и вызов был успешным, ему присваивается значение 0. Если он присутствует и вызов не удался, ему присваивается положительное значение; в частности, для коиндексированной ATOM, если удалённая копия остановилась, ему присваивается значениеISO_FORTRAN_ENV’sSTAT_STOPPED_IMAGE, а если удалённая копия завершилась ошибкой, значениеSTAT_FAILED_IMAGE. - Стандарт:
-
TS 18508 или более поздняя версия
- Класс:
-
Атомная подпрограмма
- Синтаксис:
-
CALL ATOMIC_FETCH_ADD (ATOM, VALUE, old [, STAT]) - Аргументы:
-
ATOM Скалярная комассивная или коиндексированная переменная целого типа с ATOMIC_INT_KINDтипом.ATOMIC_LOGICAL_KINDтипом.VALUE Скаляр того же типа, что и ATOM. Если тип отличается, значение преобразуется к типу ATOM. OLD Скаляр того же типа и размера, что и ATOM. STAT (необязательно) Скалярная переменная целого типа по умолчанию. - Пример:
-
program atomic use iso_fortran_env integer(atomic_int_kind) :: atom[*], old call atomic_add (atom[1], this_image(), old) end program atomic
- См. также:
ATOMIC_DEFINE— Установка переменной атомарно,ATOMIC_ADD— Атомная операция ADD,ISO_FORTRAN_ENV,ATOMIC_FETCH_AND— Атомная побитовая операция AND с предварительным извлечением,ATOMIC_FETCH_OR— Атомная побитовая операция OR с предварительным извлечением,ATOMIC_FETCH_XOR— Атомная побитовая операция XOR с предварительным извлечением
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-13.3.0/gfortran/ATOMIC_005fFETCH_005fADD.html