Spec-Zone.ru › GNU Fortran 13

8.32 ATOMIC_FETCH_ADD — Атомная операция ADD с предварительным извлечением

Описание:

ATOMIC_FETCH_ADD(ATOM, VALUE, OLD) атомарно сохраняет значение ATOM в OLD и добавляет значение VALUE к переменной ATOM. Если STAT присутствует и вызов был успешным, ему присваивается значение 0. Если он присутствует и вызов не удался, ему присваивается положительное значение; в частности, для коиндексированной ATOM, если удалённая копия остановилась, ему присваивается значение ISO_FORTRAN_ENV’s STAT_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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API