NAME
Set::IntSpan::Partition - Partition int sets using Set::IntSpan objects
SYNOPSIS
use Set::IntSpan::Partition;
my @partition = intspan_partition( @list );
DESCRIPTION
Partition sets based on membership in a set of Set::IntSpan
objects.
FUNCTIONS
- intspan_partition( @list )
-
Given a set of
Set::IntSpan
objects, this sub creates the smallest set ofSet::IntSpan
objects such that, iff an element was in one or more of the input sets, it will be in exactly one of the output sets, and an output set is either a subset of an input set or disjoint with it. - intspan_partition_map( @list )
-
Returns a hash mapping input object indices to
Set::IntSpan
objects which are subsets of the input objects the same wayintspan_partition
does. This also uses a faster implementation.
EXPORTS
intspan_partition
and intspan_partition_map
.
CAVEATS
Slow. Patches welcome. I don't like the name intspan_partition
, ideas welcome.
THANKS
Thanks to Paul Cochrane for his many improvements to this distribution as part of Neil Bowers' http://neilb.org/2014/11/29/pr-challenge-2015.html.
AUTHOR / COPYRIGHT / LICENSE
Copyright (c) 2008-2015 Bjoern Hoehrmann <bjoern@hoehrmann.de>.
This module is licensed under the same terms as Perl itself.