8.2.8 _gfortran_caf_get — Получение данных из удалённого изображения
- Описание:
- Вызывается для получения части массива или всего массива из удалённого изображения, идентифицируемого индексом image_index.
- Синтаксис:
-
void _gfortran_caf_get_desc (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) - Аргументы:
-
token intent(in) Непрозрачный указатель, идентифицирующий комассив. offset На сколько байт смещены фактические данные по сравнению с базовым адресом комассива. image_index Идентификатор удалённого изображения; должно быть положительным числом. dest intent(in) Описатель массива локального массива, который будет передан в удалённое изображение src intent(in) Описатель массива удалённого изображения для границ и размера. К базовому адресу доступа нет. src_vector intent(int) Если не NULL, содержит векторный индекс массива назначения; значения относятся к тройке измерений аргумента dest. dst_kind Тип аргумента назначения src_kind Тип аргумента источника may_require_tmp Переменная принимает значение false, если известно на этапе компиляции, что массивы dest и src не могут перекрываться или перекрываются (полностью или частично) таким образом, что обход src и dest в порядке элементов (с учётом шага) не приведёт к неверным результатам. В противном случае значение равно true. - ПРИМЕЧАНИЯ
- Разрешено иметь image_id равным текущему изображению; память для отправки и получения в этом случае может (частично) перекрываться. Реализация должна позаботиться об обработке этого случая, например, используя
memmove, который обрабатывает (частично) перекрывающуюся память. Если may_require_tmp имеет значение true, библиотека может дополнительно создать временную переменную, если дополнительные проверки не покажут необходимости в этом (например, если обращение возможно в обратном порядке, или если оба массива являются непрерывными иmemmoveобрабатывает проблемы с перекрытием).Обратите внимание, что библиотека должна обрабатывать преобразование числовых типов и для строк, выравнивание и различные типы символов.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-5.4.0/gfortran/_005fgfortran_005fcaf_005fget.html