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 95 и более поздние версии
- Класс:
-
Функция преобразования
- Синтаксис:
-
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-8.4.0/gfortran/EOSHIFT.html