Array Intrinsics

Abfrage-Funktionen

REAL, DIMENSION(7, -1:5) :: a
INTEGER, DIMENSION(2)    :: v
INTEGER                  :: s

v = SHAPE(a)       ! v = (/ 7, 7 /)
s = LBOUND(a, 2)   ! s = -1

Reduktionen

REAL, DIMENSION(8,8)     :: a, b, c
INTEGER                  :: s, t

c = MATMUL(a, b)      ! wie ueblich
s = SUM(c)            ! Summe ueber alle Elemente
t = MAXVAL(a)         ! groesstes Element

Verändern des Shapes

REAL, DIMENSION(6)       :: x = (/ 1, 2, 3, 4, 5, 6 /)
INTEGER, DIMENSION(2)    :: shapes = (/ 2, 3 /)
REAL, DIMENSION(2,3)     :: a 
 
a = RESHAPE(x, shapes)   ! a:   1 3 5
                         !      2 4 6