next up previous contents
Next: About this document Up: Programming Example Using F77-Callable Previous: HPF Caller

FORTRAN 77 Callee

    SUBROUTINE LOCAL1(
    & LB1, UB1, LB_EMBED1, UB_EMBED1,
    & LB2, UB2, LB_EMBED2, UB_EMBED2, X, X_DESC )
    INTEGER LB1, UB1, LB_EMBED1, UB_EMBED1
    INTEGER LB2, UB2, LB_EMBED2, UB_EMBED2
! The subgrid has been passed in its 'embedded' form
    REAL X ( LB_EMBED1 : UB_EMBED1 , LB_EMBED2 : UB_EMBED2 )
! Locally X_DESC is declared as an INTEGER
    INTEGER X_DESC
! Get the global extent of the first axis
! This is an HPF_LOCAL type of inquiry routine with an
! 'F77_' prefix
    CALL F77_GLOBAL_SIZE(NX,X,1)
! Otherwise, initialize elements of the array
! Loop only over actual array elements
    DO J = LB2, UB2
        DO I = LB2, UB2
            X(I,J) = I + (J-1) * NX
        END DO
    END DO
    END