Spec-Zone.ru › GNU Fortran 14

8.80 CSHIFT — Циклический сдвиг элементов массива

Описание:

CSHIFT(ARRAY, SHIFT [, DIM]) выполняет циклический сдвиг элементов МАССИВ по размерности РАЗМЕРНОСТЬ. Если РАЗМЕРНОСТЬ опущена, она принимается равной 1. РАЗМЕРНОСТЬ — скаляр типа INTEGER в диапазоне 1 \leq РАЗМЕРНОСТЬ \leq n), где n — ранг МАССИВ. Если ранг МАССИВ равен единице, то все элементы МАССИВ сдвигаются на СДВИГ позиций. Если ранг больше единицы, то все полные одномерные секции МАССИВ по заданной размерности сдвигаются. Элементы, смещенные с одного конца каждой одномерной секции, смещаются обратно в другой конец.

Стандарт:

Fortran 90 и более поздние версии

Класс:

Функция преобразования

Синтаксис:

RESULT = CSHIFT(ARRAY, SHIFT [, DIM])

Аргументы:
МАССИВ Должен быть массивом любого типа.
СДВИГ Тип должен быть INTEGER.
РАЗМЕРНОСТЬ Тип должен быть INTEGER.
Значение возвращаемого значения:

Возвращает массив того же типа и ранга, что и аргумент МАССИВ.

Пример:
program test_cshift
    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 = cshift(a, SHIFT=(/1, 2, -1/), DIM=2)
    print *
    print '(3i3)', a(1,:)
    print '(3i3)', a(2,:)
    print '(3i3)', a(3,:)
end program test_cshift

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gfortran/CSHIFT.html

Spec-Zone.ru

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