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-13.3.0/gfortran/THIS_005fIMAGE.html