View Raw SPL
/* is series monotonic */
ismonotonic(s = refwindow(w0), item = 1, member = -1)
{
        local status;

        if (not(isarray(s)))
        {
                member = item;
                item   = s;
                s      = refwindow(w0);
        }

        if (isxyz(s))
        {
                /* XYZ considered non-monotonic */
                status = FALSE;
        }
        else if (isxy(s))
        {
                status = isxymonotonic(s, item, member);
        }
        else
        {
                /* everything else considered monotonic */
                status = TRUE;
        }

        return(status);
}