Spec-Zone.ru › GNU Fortran 9

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, size_t 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-9.3.0/gfortran/_005fgfortran_005fcaf_005fco_005freduce.html

Spec-Zone.ru

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