AlignDB-IntSpanXS
view release on metacpan or search on metacpan
benchmark/test_ai.pl view on Meta::CPAN
NEG_INF => $itx->NEG_INF,
EMPTY_STRING => $itx->EMPTY_STRING,
};
print Dump $itx->as_string;
$itx->add_range( 1, 9, 20, 39 );
print Dump {
edge_size => $itx->edge_size,
edges => [ $itx->edges ],
ranges => [ $itx->ranges ],
is_empty => $itx->is_empty,
is_not_empty => $itx->is_not_empty,
as_string => $itx->as_string,
};
for ( -5, 29, 100 ) {
printf "val %d contain %d\n", $_, $itx->contains($_);
}
my @array = ( 5, 30 );
printf "contains_all %d\n", $itx->contains_all(@array);
printf "contains_any %d\n", $itx->contains_any(@array);
}
int intspan_edge_capacity(intspan *this_intspan) {
return this_intspan->edge_->capacity;
}
int intspan_is_empty(intspan *this_intspan) {
return intspan_edge_size(this_intspan) == 0;
}
int intspan_is_not_empty(intspan *this_intspan) {
return intspan_edge_size(this_intspan) != 0;
}
int intspan_is_neg_inf(intspan *this_intspan) {
veci * edges = intspan_edges(this_intspan);
return veci_get(edges, 0) == NEG_INF;
}
int intspan_is_pos_inf(intspan *this_intspan) {
veci * edges = intspan_edges(this_intspan);
intspan* intspan_new(void);
void intspan_destroy(intspan *);
veci* intspan_edges(intspan *);
int intspan_edge_size(intspan *);
int intspan_edge_capacity(intspan *);
void intspan_clear(intspan *);
int intspan_is_empty(intspan *);
int intspan_is_not_empty(intspan *);
int intspan_is_neg_inf(intspan *);
int intspan_is_pos_inf(intspan *);
int intspan_is_infinite(intspan *);
int intspan_is_finite(intspan *);
int intspan_is_universal(intspan *);
int intspan_span_size(intspan *);
void intspan_as_string(intspan *, char **, int);
lib/AlignDB/IntSpanXS.pm view on Meta::CPAN
my $upper = shift @ranges;
my $string = $lower == $upper ? $lower : $lower . '-' . $upper;
push @runlists, $string;
}
return @runlists;
}
# cardinality
# is_empty
# is_not_empty
# is_neg_inf
# is_pos_inf
# is_infinite
# is_finite
# is_universal
sub contains_all {
my $self = shift;
for my $i (@_) {
lib/AlignDB/IntSpanXS.pm view on Meta::CPAN
}
);
return $new;
}
sub cover {
my $self = shift;
my $cover = blessed($self)->new;
if ( $self->is_not_empty ) {
$cover->add_pair( $self->min, $self->max );
}
return $cover;
}
sub holes {
my $self = shift;
my $holes = blessed($self)->new;
new_stackinfo||5.005000|
new_version||5.009000|
new_warnings_bitfield|||
next_symbol|||
nextargv|||
nextchar|||
ninstr|||
no_bareword_allowed|||
no_fh_allowed|||
no_op|||
not_a_number|||
nothreadhook||5.008000|
nuke_stacks|||
num_overflow|||n
offer_nice_chunk|||
oopsAV|||
oopsCV|||
oopsHV|||
op_clear|||
op_const_sv|||
op_dump||5.006000|
#define DPPP_CAT2(x,y) CAT2(x,y)
#define DPPP_(name) DPPP_CAT2(DPPP_NAMESPACE, name)
#ifndef PERL_REVISION
# if !defined(__PATCHLEVEL_H_INCLUDED__) && !(defined(PATCHLEVEL) && defined(SUBVERSION))
# define PERL_PATCHLEVEL_H_IMPLICIT
# include <patchlevel.h>
# endif
# if !(defined(PERL_VERSION) || (defined(SUBVERSION) && defined(PATCHLEVEL)))
# include <could_not_find_Perl_patchlevel.h>
# endif
# ifndef PERL_REVISION
# define PERL_REVISION (5)
/* Replace: 1 */
# define PERL_VERSION PATCHLEVEL
# define PERL_SUBVERSION SUBVERSION
/* Replace PERL_PATCHLEVEL with PERL_VERSION */
/* Replace: 0 */
# endif
#endif
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
( run in 0.629 second using v1.01-cache-2.11-cpan-cc502c75498 )