8.93 EOSHIFT — Сдвиг элементов массива с обрезанием по концам
- Описание:
-
EOSHIFT(ARRAY, SHIFT[, BOUNDARY, DIM])выполняет сдвиг элементов массива ARRAY по размерности DIM. Если DIM опущена, она принимается равной1. DIM — скаляр типаINTEGERв диапазоне 1 \leq DIM \leq n), где n — ранг массива ARRAY. Если ранг ARRAY равен единице, все элементы ARRAY сдвигаются на SHIFT позиций. Если ранг больше единицы, то все одномерные сечения массива ARRAY по данной размерности сдвигаются. Элементы, смещенные за один конец каждого одномерного сечения, отбрасываются. Если BOUNDARY присутствует, соответствующее значение из BOUNDARY копируется в другой конец. Если BOUNDARY отсутствует, в зависимости от типа массива ARRAY копируются следующие значения:Тип массива Значение границы Числовой 0 того же типа и размера, что и ARRAY. Логический .FALSE..Символьный (len) len пробелов. - Стандарт:
-
Fortran 90 и более поздние версии
- Класс:
-
Функция преобразования
- Синтаксис:
-
RESULT = EOSHIFT(ARRAY, SHIFT [, BOUNDARY, DIM]) - Аргументы:
-
ARRAY Может быть любого типа, не скаляр. SHIFT Тип должен быть INTEGER.BOUNDARY Тип совпадает с типом ARRAY. DIM Тип должен быть INTEGER. - Возвращаемое значение:
-
Возвращает массив того же типа и ранга, что и аргумент ARRAY.
- Пример:
-
program test_eoshift integer, dimension(3,3) :: a a = reshape( (/ 1, 2, 3, 4, 5, 6, 7, 8, 9 /), (/ 3, 3 /)) print '(3i3)', a(1,:) print '(3i3)', a(2,:) print '(3i3)', a(3,:) a = EOSHIFT(a, SHIFT=(/1, 2, 1/), BOUNDARY=-5, DIM=2) print * print '(3i3)', a(1,:) print '(3i3)', a(2,:) print '(3i3)', a(3,:) end program test_eoshift
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-13.3.0/gfortran/EOSHIFT.html