AlignDB-IntSpanXS

 view release on metacpan or  search on metacpan

xs.xs  view on Meta::CPAN

    PROTOTYPE: $
    PPCODE:
        tmp_buffer = (char *)malloc(len + 1);
        if (tmp_buffer == NULL)
            XSRETURN_UNDEF;

        intspan_as_string(itsx, &tmp_buffer, len);

        XPUSHs(sv_2mortal(newSVpv(tmp_buffer, 0)));
        free(tmp_buffer);

void
as_array(itsx)
    AlignDB::IntSpanXS itsx
    INIT:
        int i;
        int j;
        veci *vec;
    PROTOTYPE: $
    PPCODE:
        vec = intspan_as_veci(itsx);
        for (i = 0; i < veci_size(vec); i++) {
            j = veci_get(vec, i);
            XPUSHs(sv_2mortal(newSViv(j)));
        }
        veci_destroy(vec);

void
ranges(itsx)
    AlignDB::IntSpanXS itsx
    INIT:
        int i;
        int j;
        veci *vec;
    PROTOTYPE: $
    PPCODE:
        vec = intspan_ranges(itsx);
        for (i = 0; i < veci_size(vec); i++) {
            j = veci_get(vec, i);
            XPUSHs(sv_2mortal(newSViv(j)));
        }
        veci_destroy(vec);

int
cardinality(itsx)
    AlignDB::IntSpanXS itsx
    CODE:
        RETVAL = intspan_cardinality(itsx);
    OUTPUT:
        RETVAL

int
is_empty(itsx)
    AlignDB::IntSpanXS itsx
    CODE:
        RETVAL = intspan_is_empty(itsx);
    OUTPUT:
        RETVAL

int
is_not_empty(itsx)
    AlignDB::IntSpanXS itsx
    CODE:
        RETVAL = intspan_is_not_empty(itsx);
    OUTPUT:
        RETVAL

int
is_neg_inf(itsx)
    AlignDB::IntSpanXS itsx
    CODE:
        RETVAL = intspan_is_neg_inf(itsx);
    OUTPUT:
        RETVAL

int
is_pos_inf(itsx)
    AlignDB::IntSpanXS itsx
    CODE:
        RETVAL = intspan_is_pos_inf(itsx);
    OUTPUT:
        RETVAL

int
is_infinite(itsx)
    AlignDB::IntSpanXS itsx
    CODE:
        RETVAL = intspan_is_infinite(itsx);
    OUTPUT:
        RETVAL

int
is_finite(itsx)
    AlignDB::IntSpanXS itsx
    CODE:
        RETVAL = intspan_is_finite(itsx);
    OUTPUT:
        RETVAL

int
is_universal(itsx)
    AlignDB::IntSpanXS itsx
    CODE:
        RETVAL = intspan_is_universal(itsx);
    OUTPUT:
        RETVAL

int
_contains(itsx, i)
    AlignDB::IntSpanXS itsx
    int i
    PROTOTYPE: $$
    CODE:
        RETVAL = intspan_contains(itsx, i);
    OUTPUT:
        RETVAL

void
add_pair(itsx, lower, upper)
    AlignDB::IntSpanXS itsx
    int lower
    int upper
    PROTOTYPE: $$$
    CODE:



( run in 2.443 seconds using v1.01-cache-2.11-cpan-fe3c2283af0 )