HELP CHECKINTEGER                               Ben Rubinstein, Feb 1987

    checkinteger(<item>, <integer|false:L>, <integer|false:U>)

This procedure causes an appropriate mishap if <item> is not an integer
within the range specified by lower bound L and upper bound U
(inclusive).  Either or both bounds may be <false> to indicate no upper
or lower limit.  If all conditions are satisfied the procedure returns
with no action.

The procedure has -pdprops- <false>, so it will not normally show up in
the "DOING" section of a MISHAP message.  For example:

    define foo(n) -> n;
        checkinteger(n, false, 5);
        ;;;  some code here
    enddefine;


    foo("hello") =>

    ;;; MISHAP - INTEGER LESS THAN 6 NEEDED
    ;;; INVOLVING:  hello
    ;;; DOING    :  foo compile nextitem compile

    foo(4) =>
    ** 4



There is a faster version that does not check that its second and third
arguments are integers, and returns its first argument if it is an
integer within the range.

    fi_check(<integer>, <false|integer>, <false|integer>) -> <integer>

See LIB * FI_CHECK, REF * FASTPROCS/fi_check

--- C.all/help/checkinteger
--- Copyright University of Sussex 1990. All rights reserved. ----------
