The main documentation of the InInterval Procedure contains additional explanation of this code listing.
define([IN_INTERVAL_ROUTINE],[ pushdef([TYPE], [$1]) pushdef([DIM], [$2]) pushdef([InInterval_TYPE_DIM], expand(InInterval_TYPE_DIM)) function InInterval_TYPE_DIM (X, Interval) result(InInterval) ! Input variables. type(TYPE,DIM,np), intent(in) :: X ! Variable to be checked. type(TYPE), dimension(2), intent(in) :: Interval ! Interval to check. ! Output variable. type(logical) :: InInterval ! Result of check. !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Verify requirements. VERIFY(Interval(1) <= Interval(2),7) ! Interval should be well-formed. ! InInterval is true if X is in the interval. InInterval = ALL(X >= Interval(1) .and. & X <= Interval(2)) ! Verify guarantees -- none. return end function InInterval_TYPE_DIM popdef([TYPE]) popdef([DIM]) popdef([InInterval_TYPE_DIM]) ]) forloop([Dim],[0],[7],[ fortext([Type],[real integer],[ IN_INTERVAL_ROUTINE(Type, Dim) ]) ])