Spec-Zone.ru › GNU Fortran 14

8.268 THIS_IMAGE — Функция, возвращающая индекс коподстроки данного изображения

Описание:

Возвращает коподстроку для данного изображения.

Стандарт:

Fortran 2008 и более поздние версии. С аргументом DISTANCE, Техническое задание (TS) 18508 или более поздние версии

Класс:

Функция преобразования

Синтаксис:
RESULT = THIS_IMAGE()
RESULT = THIS_IMAGE(DISTANCE)
RESULT = THIS_IMAGE(COARRAY [, DIM])
Аргументы:
DISTANCE (необязательно, intent(in)) Неотрицательное скалярное целое число (не допускается вместе с COARRAY).
COARRAY Массив любого типа (необязательно; если присутствует DIM, требуется).
DIM скалярное целое число по умолчанию (необязательно). Если присутствует, DIM должно быть от одного до ранга комассива COARRAY.
Значение возврата:

Целое число по умолчанию. Если COARRAY отсутствует, оно является скалярным; если DISTANCE отсутствует или имеет значение 0, его значение равно индексу изображения на вызывающем изображении для текущей команды, для значений, меньших или равных расстоянию до начальной команды, возвращается индекс изображения на предковой команде, имеющей расстояние DISTANCE от вызывающей команды. Если DISTANCE больше расстояния до начальной команды, возвращается индекс изображения начальной команды. В противном случае, когда COARRAY присутствует, если DIM отсутствует, возвращается одномерный массив с элементами ранга комассива, содержащий коподстроки COARRAY, определяющие вызывающее изображение. Если DIM присутствует, возвращается скалярное значение элемента DIM из THIS_IMAGE(COARRAY).

Пример:
INTEGER :: value[*]
INTEGER :: i
value = THIS_IMAGE()
SYNC ALL
IF (THIS_IMAGE() == 1) THEN
  DO i = 1, NUM_IMAGES()
    WRITE(*,'(2(a,i0))') 'value[', i, '] is ', value[i]
  END DO
END IF

! Check whether the current image is the initial image
IF (THIS_IMAGE(HUGE(1)) /= THIS_IMAGE())
  error stop "something is rotten here"
См. также:

NUM_IMAGES — Функция, возвращающая количество изображений, IMAGE_INDEX — Функция, преобразующая коподстроку в индекс изображения

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

Spec-Zone.ru

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