Spec-Zone.ru › GNU Fortran 7

8.2.36 _gfortran_caf_co_reduce — Общий коллективный вывод

Описание:

Вычисляет для каждого элемента массива переменной a значение вывода для этого элемента в текущей команде; если result_image имеет значение 0, результат будет сохранён на всех изображениях, в противном случае — только на указанном изображении. opr — чистая функция, выполняющая математически коммутативную и ассоциативную операцию.

Значения opr_flags означают следующее; значения битово складываются. GFC_CAF_BYREF (1) если результат должен возвращаться по ссылке; GFC_CAF_HIDDENLEN (2) если длина результата и аргумента должна быть указана как скрытые аргументы; GFC_CAF_ARG_VALUE (4) если аргументы должны передаваться по значению, GFC_CAF_ARG_DESC (8) если аргументы должны передаваться по описателю.

Синтаксис:

void _gfortran_caf_co_reduce (gfc_descriptor_t *a, void * (*opr) (void *, void *), int opr_flags, int result_image, int *stat, char *errmsg, int a_len, int errmsg_len)

Аргументы:
a intent(inout) Описатель массива со данными, которые необходимо обработать. На целевом изображении(ях) результат перезаписывает старое содержимое.
opr intent(in) Указатель на функцию вывода
opr_flags intent(in) Флаги, относящиеся к функции вывода
result_image intent(in) Идентификатор изображения, на которое должно быть скопировано значение вывода; если ноль, оно должно быть скопировано на все изображения.
stat intent(out) Хранит статус STAT= и может быть NULL.
errmsg intent(out) В случае возникновения ошибки, это будет установлено в сообщение об ошибке; может быть NULL.
a_len intent(in) длина строки аргумента a
errmsg_len intent(in) размер буфера errmsg
ПРИМЕЧАНИЯ

Если result_image не равно нулю, данные в описателе массива a на всех изображениях, кроме указанного, становятся неопределёнными; следовательно, библиотека может использовать это.

Для символьных аргументов результат передаётся в качестве первого аргумента, за которым следует длина строки результата, затем идут два символьных аргумента, за которыми следуют два скрытых аргумента длины строки. С привязкой C скрытых аргументов нет, и передача по ссылке существует или только один символ передаётся или описатель массива.

Предыдущее: _gfortran_caf_co_sum, Вверх: Документация ABI функций [Содержание][Индекс]

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

Spec-Zone.ru

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