Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 29.614.520 Times

Set::IntSpan::Fast 0.0.5

  Date Added: May 05, 2010  |  Visits: 768

Set::IntSpan::Fast

Report Broken Link
Printer Friendly Version


Product Homepage
Download (72 downloads)



Set::IntSpan::Fast is a Perl module for fast handling of sets containing integer spans. SYNOPSIS use Set::IntSpan::Fast; my $set = Set::IntSpan::Fast->new(); $set->add(1, 3, 5, 7, 9); $set->add_range(100, 1_000_000); print $set->as_string(), "n"; # prints 1,3,5,7,9,100-1000000 The Set::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 youre prepared to accept that infinity is actually no more than a fairly large integer. Specifically the constants Set::IntSpan::Fast::NEGATIVE_INFINITY and Set::IntSpan::Fast::POSITIVE_INFINITY are defined to be -(2^31-1) and (2^31-2) respectively. To create an infinite set invert an empty one: my $inf = Set::IntSpan::Fast->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 were using): my $pos_int = Set::IntSpan::Fast->new(); $pos_int->add_range(1, $pos_int->POSITIVE_INFINITY);.

Requirements: No special requirements
Platforms: Linux
Keyword: Containing Infinity Integer Intspan Libraries Module Perl Module Programming Ranges Setintspanfast Sets
Users rating: 0/10

License: Freeware Size: 102.4 KB
USER REVIEWS
More Reviews or Write Review


SET::INTSPAN::FAST RELATED
Libraries  -  Set::Integer::Gapfillers 0.07
Set::Integer::Gapfillers is a Perl module that can fill in the gaps between integer ranges. SYNOPSIS use Set::Integer::Gapfillers; $gf = Set::Integer::Gapfillers->new( lower => -12, upper => 62, sets => [ [ 1, 17 ], # Note: Use comma, not...
17.41 KB  
Libraries  -  Alien Perl module 0.91
Alien Perl module package contains external libraries wrapped up for your viewing pleasure! SYNOPSIS perldoc Alien; Alien is a package that exists just to hold together an idea, the idea of Alien:: packages, so there is no code here, just...
10.24 KB  
Libraries  -  OpenGeoDB Perl module 0.4
OpenGeDB Perl module is a module to access the OpenGeoDB database and calculate all ZIP codes in a certain radius..
3.07 KB  
Network & Internet  -  MyCMS perl module 1.0
MyCMS perl module provides the MN::CMS Perl module used by the MyCMS. MyCMS perl module contains Perl object classes to manage the data of MyCMS (such as articles, links, and images). MN::CMS is a perl module that allows you to manage an...
16.38 KB  
Libraries  -  Syntax::Highlight::Perl 1.0
Syntax::Highlight::Perl is a Perl module that can highlight Perl Syntactical Structures. SYNOPSIS # simple procedural use Syntax::Highlight::Perl :BASIC; # or :FULL print format_string($my_string); # OO use Syntax::Highlight::Perl; my...
33.79 KB  
Libraries  -  Genezzo::Contrib::Clustered::ModPerlWrap 0.33
Genezzo::Contrib::Clustered::ModPerlWrap is a Perl module with Mod Perl wrappers for Genezzo. SYNOPSIS StartPage(); Connect("/dev/raw"); ProcessStmt("insert into t1 values (10, test10)"); ProcessStmt("insert into t1 values (11, test11)");...
39.94 KB  
Libraries  -  Mail::Addressbook::Convert::Spry 1.1
Mail::Addressbook::Convert::Spry is a Perl module from Spry Mail Addressbook. SYNOPSIS use strict; use Mail::Addressbook::Convert::Spry; my $SPRY = new Mail::Addressbook::Convert::Spry(); my $SpryInFile ="spry.als"; # name of the file...
30.72 KB  
Libraries  -  Chart::Graph::Xrt2d 3.2
Chart::Graph::Xrt2d is a Perl module for creating graph charts. SYNOPSIS #Include module use Chart::Graph::Xrt2d qw(xrt2d); # Function call xrt2d(%options, [%data_options1, @data_set1], [%data_options2, @data_set2], . . ); This...
245.76 KB  
Libraries  -  Class::Adapter::Builder 1.02
Class::Adapter::Builder is a Perl module that can generate Class::Adapter classes. SYNOPSIS package My::Adapter; use strict; use Class::Adapter::Builder ISA => Specific::API, METHODS => [ qw{foo bar baz} ], method => different_method;...
24.58 KB  
Libraries  -  Apache::TestRun 1.28
Apache::TestRun is a Perl module to run the test suite. SYNOPSIS The Apache::TestRun package controls the configuration and running of the test suite. METHODS Several methods are sub-classable, if the default behavior should be changed....
143.36 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by freedesktop.org, it is used to describe information about an application such as the name and...
327.68 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
Libraries  -  wolfSSL 3.11.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
2.73 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB