9.86 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
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-5.4.0/gfortran/EOSHIFT.html