8.2.12 _gfortran_caf_get — Получение данных из удалённого изображения
- Описание:
-
Вызывается для получения секции массива или всего массива из удалённого изображения, идентифицированного индексом изображения.
- Синтаксис:
-
void _gfortran_caf_get (caf_token_t token, size_t offset, int image_index, gfc_descriptor_t *src, caf_vector_t *src_vector, gfc_descriptor_t *dest, int src_kind, int dst_kind, bool may_require_tmp, int *stat) - Аргументы:
-
token intent(in) Непрозрачный указатель, идентифицирующий комассив. offset intent(in) Сдвиг фактических данных относительно базового адреса комассива. image_index intent(in) Идентификатор удалённого изображения; должно быть положительное число. dest intent(out) Описание локального массива для хранения данных, полученных из удалённого изображения. src intent(in) Описание массива удалённого изображения для границ и размера. К base_addrдоступ не предоставляется.src_vector intent(in) Если не NULL, содержит векторный индекс исходного массива; значения относительны к тройке измерений аргумента src. dst_kind intent(in) Тип назначения. src_kind intent(in) Тип источника. may_require_tmp intent(in) Переменная имеет значение false, если в момент компиляции известно, что dest и src не могут перекрываться или перекрываются (полностью или частично) таким образом, что обход src и dest в порядке элементов (с учётом шага) не приведёт к неверным результатам. В противном случае, значение равноtrue.stat intent(out) При отличном от нуля значении содержит результат операции, т.е. ноль при успехе и ненулевое значение при ошибке. Если NULL и произошла ошибка, то выводится сообщение об ошибке, и программа завершается. - ПРИМЕЧАНИЯ
-
Разрешается установить image_index равным текущему изображению; память для отправки и получения может (частично) перекрываться в этом случае. Реализация должна обрабатывать этот случай, например, используя
memmove, который обрабатывает (частично) перекрывающуюся память. Если may_require_tmp истинно, библиотека может дополнительно создать временную переменную, если дополнительные проверки не покажут, что это не требуется (например, потому что обратный обход возможен, или потому что оба массива являются непрерывными, иmemmoveзаботится о проблемах перекрытия).Обратите внимание, что библиотека должна обрабатывать преобразование числовых типов и для строк, заполнение и разные типы символов.
Следующее: _gfortran_caf_sendget, Предыдущее: _gfortran_caf_send, Вверх: Документация 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_005fget.html