next up previous contents
Next: Modules Up: Procedures and Array Arguments Previous: Automatic Arrays

Array-valued Functions

Functions can return arrays, for example,

    INTERFACE
     FUNCTION funnie(ima,scal)
      ...
    END INTERFACE
    INTEGER, PARAMETER      :: m = 6
    INTEGER, DIMENSION(M,M) :: im1, im2
     ...
    IM2 = funnie(IM1,1) ! invoke
   END PROGRAM

   FUNCTION funnie(ima,scal)
    IMPLICIT NONE
    INTEGER, INTENT(IN) :: ima(:,:)
    INTEGER, INTENT(IN) :: scal
    INTEGER, DIMENSION(SIZE(ima,1),SIZE(ima,2)) &
                        :: funnie
    funnie(:,:) = ima(:,:)*scal
   END FUNCTION funnie

An explicit interface is mandatory for array-valued external functions.

Now try this question gif

Now try this question gif


next up previous contents
Next: Modules Up: Procedures and Array Arguments Previous: Automatic Arrays

Adam Marshall ©University of Liverpool, 1996
Fri Dec 6 18:56:08 GMT 1996
Not for commercial use.