Spec-Zone.ru › GNU Fortran 5

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API