perl-AlignDB-IntSpan - Handling of sets containing integer spans

Property Value
Distribution ALT Linux Sisyphus
Repository Autoimports noarch
Package filename perl-AlignDB-IntSpan-1.1.1-alt1.noarch.rpm
Package name perl-AlignDB-IntSpan
Package version 1.1.1
Package release alt1
Package architecture noarch
Package type rpm
Category Development/Perl
Homepage -
License -
Maintainer -
Download size 66.44 KB
Installed size 66.44 KB
The `AlignDB::IntSpan' module represents sets of integers as a number of
inclusive ranges, for example '1-10,19-23,45-48'. Because many of its
operations involve linear searches of the list of ranges its overall
performance tends to be proportional to the number of distinct ranges. This is
fine for small sets but suffers compared to other possible set representations
(bit vectors, hash keys) when the number of ranges grows large.
This module also represents sets as ranges of values but stores those ranges
in order and uses a binary search for many internal operations so that overall
performance tends towards O log N where N is the number of ranges.
The internal representation used by this module is extremely simple: a set is
represented as a list of integers. Integers in even numbered positions (0, 2,
4 etc) represent the start of a run of numbers while those in odd numbered
positions represent the ends of runs. As an example the set (1, 3-7, 9, 11,
12) would be represented internally as (1, 2, 3, 8, 11, 13).
Sets may be infinite - assuming you're prepared to accept that infinity is
actually no more than a fairly large integer. Specifically the constants
`$NEG_INF' and `$POS_INF' are defined to be -(2^31-1) and (2^31-2)
respectively. To create an infinite set invert an empty one:
my $inf = AlignDB::IntSpan->new->complement;
Sets need only be bounded in one direction - for example this is the set of
all positive integers (assuming you accept the slightly feeble definition of
infinity we're using):
my $pos_int = AlignDB::IntSpan->new;
$pos_int->add_range(1, $pos_int->POS_INF);
Many codes come from the Set::IntSpan manpage, the Set::IntSpan::Fast manpage and
the Set::IntSpan::Island manpage.


Package Version Architecture Repository
perl-AlignDB-IntSpan - - -


Name Value
/usr/share/perl5 -
perl(Scalar/ -
perl(Scalar/Util/ -
perl( -
rpmlib(PayloadIsLzma) -


Name Value
perl(AlignDB/ = 1.001.001
perl-AlignDB-IntSpan = 1.1.1-alt1


Type URL
Binary Package perl-AlignDB-IntSpan-1.1.1-alt1.noarch.rpm
Source Package perl-AlignDB-IntSpan-1.1.1-alt1.src.rpm

Install Howto

  1. Add the following line to /etc/apt/sources.list:
    rpm [Sisyphus] noarch autoimports
    rpm [Sisyphus] noarch autoimports
  2. Update the package index:
    # sudo apt-get update
  3. Install perl-AlignDB-IntSpan rpm package:
    # sudo apt-get install perl-AlignDB-IntSpan



See Also

Package Description
perl-AlignDB-Run-1.0.2-alt1.noarch.rpm Run in parallel without pains
perl-AlignDB-SQL-1.0.2-alt1.noarch.rpm An SQL statement generator
perl-AlignDB-Stopwatch-1.1.0-alt1.noarch.rpm Record running time and print standard messages
perl-AlignDB-ToXLSX-1.2.1-alt1.noarch.rpm Create xlsx files from arrays or SQL queries
perl-AlignDB-Window-1.1.0-alt1.noarch.rpm Split integer spans into a series of windows
perl-Alister-Base-Sums-1.05-alt1.noarch.rpm subroutines for managing a sum disgest database table
perl-AllKnowingDNS-1.7-alt1.noarch.rpm ARRAY(0x1f70780)
perl-AllKnowingDNS-scripts-1.7-alt1.noarch.rpm AllKnowingDNS scripts
perl-Alt-0.19-alt1.noarch.rpm Alternate Module Implementations
perl-Alt-Alien-ZMQ-Alien-ZMQ-latest-0.001-alt1.noarch.rpm A replacement for Alien::ZMQ that uses Alien::ZMQ::latest
perl-Alt-Alien-cmake3-System-0.0402-alt1.noarch.rpm Simplified alternative to Alien::cmake3 that uses system cmake
perl-Alt-Base-0.02-alt1.noarch.rpm Base class for alternate module
perl-Alt-CPAN-Uploader-tinyua-0.000001-alt1.1.noarch.rpm because we are too hip to use LWP::UserAgent
perl-Alt-CPAN-Uploader-tinyua-scripts-0.000001-alt1.1.noarch.rpm Alt-CPAN-Uploader-tinyua scripts
perl-Alt-Class-Tiny-ButPerl56-0.001-alt2.noarch.rpm alternative distribution of Class::Tiny, with Perl 5.6 support