View Raw SPL
/* bit complement */
bitcmp(s, n)
{
        local bit;

        if (argc < 2)
        {
                if (argc < 1) error("bitcmp - input series or scalar required");

                n = 32;
        }

        if (n > log2(bitmax))
        {
                error(sprintf("bitcmp - n bit value of %d exceeds BITMAX (%d)", n, int(log2(bitmax))));
        }

        bit = (~s) & 2^castint(abs(n)) - 1;

        return(bit);
}