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

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

Serving Software Downloads in 956 Categories, Downloaded 49.482.082 Times

Set::IntSpan::Fast 0.0.5

  Date Added: May 05, 2010  |  Visits: 1.154

Set::IntSpan::Fast

Report Broken Link
Printer Friendly Version


Product Homepage
Download (98 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  -  Money::ChangeMaker::Presets 0.2
Money::ChangeMaker::Presets Perl module contains preset currency sets for Money::ChangeMaker. SYNOPSIS See L Simply contains the preset monetary sets used by the Money::ChangeMaker module. In general, users should not...
9.22 KB  
Libraries  -  Math::TotalBuilder::Common 1.10
Math::TotalBuilder::Common is a Perl module with common unit sets for building totals. SYNOPSIS use Math::TotalBuilder; use Math::TotalBuilder::Common; # units for 952 pence my %tender = build($Math::TotalBuilder::Common::uk_money_old,...
5.12 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  -  FFI::Library 1.02
FFI::Library is a module with Perl Access to Dynamically Loaded Libraries. SYNOPSIS use FFI::Library; $lib = FFI::Library->new("mylib"); $fn = $lib->function("fn", "signature"); $ret = $fn->(...); This module provides access from Perl to...
16.38 KB  
Libraries  -  Alien::scriptaculous 1.002
Alien::scriptaculous is a Perl module for installing and finding script.aculo.us. SYNOPSIS use Alien::scriptaculous; ... $version = Alien::scriptaculous->version(); $path = Alien::scriptaculous->path(); ... Alien::scriptaculous->install(...
100.35 KB  
Libraries  -  AI::FuzzyLogic 0.05
AI::FuzzyLogic is a Perl module for Fuzzy Set Operations and Tools. SYNOPSIS use AI::FuzzyLogic; $i = new AI::FuzzyLogic $unittype, @numbers; # new set with one subset $i = new AI::FuzzyLogic age, 0, 0.1, 0.2, 0.1, 0; # same thing $i =...
24.58 KB  
Libraries  -  Config::FreeForm 0.01
Config::FreeForm is a Perl module that provides in-memory configuration data. SYNOPSIS use Config::FreeForm %options; Config::FreeForm provides in-memory configuration data in a free-form manner. Many existing configuration modules attempt...
5.12 KB  
Libraries  -  Inline-API 0.44
Inline-API is a Perl module that teach you how to bind a programming language to Perl using Inline.pm. SYNOPSIS #!/usr/bin/perl use Inline Foo; say_it(foo); # Use Foo to print "Hello, Foo" __Foo__ foo-sub say_it { foo-my $foo =...
91.14 KB  
Libraries  -  perlfaq3 5.8.8
perlfaq3 Perl module contains programming tools. How do I do (anything)? Have you looked at CPAN (see perlfaq2)? The chances are that someone has already written a module that can solve your problem. Have you read the appropriate manpages?...
12.2 MB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
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  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Libraries  -  wolfSSL 4.0.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...
3.88 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