9.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
Далее: EPSILON, Предыдущее: DTIME, Наверх: Встроенные процедуры [Оглавление][Индекс]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-10.2.0/gfortran/EOSHIFT.html