Set-IntSpan

 view release on metacpan or  search on metacpan

IntSpan.pm  view on Meta::CPAN


*trim = \&inset;

sub pad
{
    my($set, $n) = @_;
    $set->inset(-$n)
}


sub grep_set(&$)
{
    my($block, $set) = @_;

    return undef if $set->{negInf} or $set->{posInf};

    my @edges     = @{$set->{edges}};
    my @sub_edges = ();

    while (@edges)
    {

IntSpan.pm  view on Meta::CPAN

	    }
	}
    }

    my $sub_set = $set->new;
    $sub_set->{edges} = \@sub_edges;
    $sub_set
}


sub map_set(&$)
{
    my($block, $set) = @_;

    return undef if $set->{negInf} or $set->{posInf};

    my $map_set = $set->new;

    my @edges = @{$set->{edges}};
    while (@edges)
    {

IntSpan.pm  view on Meta::CPAN

	    {
		$map_set->insert($range);
	    }
	}
    }

    $map_set
}


sub grep_spans(&$)
{
    my($block, $set) = @_;

    my @edges     = @{$set->{edges}};
    my $sub_set   = $set->new;
    my @sub_edges = ();

    if ($set->{negInf} and $set->{posInf})
    {
	local $_ = [ undef, undef ];

IntSpan.pm  view on Meta::CPAN

	{
	    $sub_set->{posInf} = 1;
	    push @sub_edges, $lower;
	}
    }

    $sub_set->{edges} = \@sub_edges;
    $sub_set
}

sub map_spans(&$)
{
    my($block, $set) = @_;

    my @edges = @{$set->{edges}};
    my @spans;

    if ($set->{negInf} and $set->{posInf})
    {
	local $_ = [ undef, undef ];
	push @spans, &$block();



( run in 0.537 second using v1.01-cache-2.11-cpan-49f99fa48dc )