8.63 CO_BROADCAST — Копирование значения во все изображения текущего набора изображений
- Описание:
-
CO_BROADCASTкопирует значение аргумента A на изображении с индексом изображенияSOURCE_IMAGEна все изображения в текущей команде. A становится определённым, как если бы он был присвоен по умолчанию. Если выполнение прошло успешно и STAT присутствует, ему присваивается значение ноль. Если выполнение завершилось неудачно, STAT получает ненулевое значение, а ERRMSG, если присутствует, получает значение, описывающее произошедшую ошибку. - Стандарт:
-
Техническое задание (TS) 18508 или более поздняя версия
- Класс:
-
Коллективная подпрограмма
- Синтаксис:
-
CALL CO_BROADCAST(A, SOURCE_IMAGE [, STAT, ERRMSG]) - Аргументы:
-
A аргумент INTENT(INOUT); должен иметь тот же динамический тип и параметры типа на всех изображениях текущей команды. Если это массив, он должен иметь ту же форму на всех изображениях. SOURCE_IMAGE скалярное целочисленное выражение. Оно должно иметь одинаковое значение на всех изображениях и ссылаться на изображение текущей команды. STAT (необязательно) скалярная целочисленная переменная ERRMSG (необязательно) скалярная символьная переменная - Пример:
-
program test integer :: val(3) if (this_image() == 1) then val = [1, 5, 3] end if call co_broadcast (val, source_image=1) print *, this_image, ":", val end program test - См. также:
CO_MAX— Максимальное значение на текущем наборе изображений,CO_MIN— Минимальное значение на текущем наборе изображений,CO_SUM— Сумма значений на текущем наборе изображений,CO_REDUCE— Сведение значений на текущем наборе изображений
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gfortran/CO_005fBROADCAST.html