Spec-Zone.ru › GNU Fortran 7

8.2.16 _gfortran_caf_sendget_by_ref — Пересылка данных между удалёнными изображениями с использованием улучшенных ссылок с обеих сторон

Описание:

Вызывается для пересылки скаляра, части массива или целого массива с удалённого изображения, идентифицированного по src_image_index, на удалённое изображение, идентифицированное по dst_image_index.

Синтаксис:

void _gfortran_caf_sendget_by_ref (caf_token_t dst_token, int dst_image_index, caf_reference_t *dst_refs, caf_token_t src_token, int src_image_index, caf_reference_t *src_refs, int dst_kind, int src_kind, bool may_require_tmp, int *dst_stat, int *src_stat)

Аргументы:
dst_token intent(in) Непрозрачный указатель, идентифицирующий целевой комассив.
dst_image_index intent(in) ИД целевого удалённого изображения; должно быть положительным числом.
dst_refs intent(in) Ссылки на удалённый массив для хранения данных, предоставленных источником. Гарантируется, что будет хотя бы один элемент.
src_token intent(in) Непрозрачный указатель, идентифицирующий исходный комассив.
src_image_index intent(in) ИД исходного удалённого изображения; должно быть положительным числом.
src_refs intent(in) Ссылки для применения к удалённой структуре для получения данных.
dst_kind intent(in) Тип данных целевого аргумента
src_kind intent(in) Тип данных исходного аргумента
may_require_tmp intent(in) Переменная имеет значение false тогда, когда известно во время компиляции, что массивы dest и src либо не пересекаются, либо пересекаются (полностью или частично) таким образом, что обход src и dest в порядке элементов (учитывая шаг) не приведёт к неправильным результатам. В противном случае значение равно true.
dst_stat intent(out) Если не NULL, то содержит результат операции пересылки, т.е. ноль при успехе и ненулевое значение при ошибке. Если NULL, и произошла ошибка, то выводится сообщение об ошибке и программа завершается.
src_stat intent(out) Если не NULL, то содержит результат операции получения, т.е. ноль при успехе и ненулевое значение при ошибке. Если NULL, и произошла ошибка, то выводится сообщение об ошибке и программа завершается.
ПРИМЕЧАНИЯ

Разрешено иметь одинаковый индекс изображения для src_image_index и dst_image_index; память для отправки и получения может (частично) перекрываться в этом случае. Реализация должна обрабатывать этот случай, например, используя memmove, который обрабатывает (частично) перекрывающуюся память. Если may_require_tmp равно true, библиотека может дополнительно создать временную переменную, если дополнительные проверки не покажут, что это не требуется (например, потому что обратный обход возможен или потому что оба массива являются смежными, и memmove обрабатывает проблемы с перекрытием).

Обратите внимание, что присвоение скаляра массиву разрешено. Кроме того, библиотека должна обрабатывать преобразование типов и для строк, заполнение и разные типы символов.

Из-за более сложных возможных ссылок некоторые операции могут быть не поддерживаемыми определёнными библиотеками. Ожидается, что библиотека выведет точное сообщение об ошибке, почему операция недопустима.

Далее: _gfortran_caf_lock, Предыдущий: _gfortran_caf_get_by_ref, Вверх: Документация 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_005fsendget_005fby_005fref.html

Spec-Zone.ru

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