[UP]


Manual Reference Pages  - eoshift (3)

NAME

eoshift(3f) - [FORTRAN:INTRINSIC:TRANSFORMATIONAL FUNCTION] End-off shift elements of an array

SYNTAX

result = eoshift(array, shift [, boundary, dim])

DESCRIPTION

eoshift(array, shift[, boundary, dim]) performs an end-off shift on elements of ARRAY along the dimension of DIM. If DIM is omitted it is taken to be 1. DIM is a scalar of type INTEGER in the range of 1 <= DIM <= n where "n" is the rank of ARRAY. If the rank of ARRAY is one, then all elements of ARRAY are shifted by SHIFT places. If rank is greater than one, then all complete rank one sections of ARRAY along the given dimension are shifted. Elements shifted out one end of each rank one section are dropped. If BOUNDARY is present then the corresponding value of from BOUNDARY is copied back in the other end. If BOUNDARY is not present then the following are copied in depending on the type of ARRAY.

*Array Type* - *Boundary Value*

o Numeric 0 of the type and kind of ARRAY
o Logical .false.
o Character(LEN) LEN blanks

ARGUMENTS

ARRAY
  May be any type, not scalar.
SHIFT
  The type shall be INTEGER.
BOUNDARY
  Same type as ARRAY.
DIM The type shall be INTEGER.

RETURN VALUE

Returns an array of same type and rank as the ARRAY argument.

EXAMPLE

Sample program:

    program demo_eoshift
    implicit none
        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 demo_eoshift

STANDARD

[[Fortran 95]] and later

CLASS

Transformational function


eoshift (3) March 11, 2021
Generated by manServer 1.08 from 375f3dcb-82d1-47bd-9fb2-7dd8dfcbea5b using man macros.