

 
Manual Reference Pages  NUMBER::TOLERANT::UNION (3)
.ds Aq ’
NAME
Number::Tolerant::Union  unions of tolerance ranges
CONTENTS
VERSION
version 1.708
SYNOPSIS
use Number::Tolerant;
my $range1 = tolerance(10 => to => 12);
my $range2 = tolerance(14 => to => 16);
my $union = $range1  $range2;
if ($11 == $union) { ... } # this will happen
if ($12 == $union) { ... } # so will this
if ($13 == $union) { ... } # nothing will happen here
if ($14 == $union) { ... } # this will happen
if ($15 == $union) { ... } # so will this
DESCRIPTION
Number::Tolerant::Union is used by Number::Tolerant to represent the union
of multiple tolerances. A subset of the same operators that function on a
tolerance will function on a union of tolerances, as listed below.
METHODS
new
my $union = Number::Tolerant::Union>new(@list_of_tolerances);
There is a new method on the Number::Tolerant::Union class, but unions are
meant to be created with the  operator on a Number::Tolerant tolerance.
The arguments to new are a list of numbers or tolerances to be unioned.
Intersecting ranges are not converted into a single range, but this may change
in the future. (For example, the union of 5 to 10 and 7 to 12 is not 5 to
12.)
options
This method will return a list of all the acceptable options for the union.
Overloading
Tolerance unions overload a few operations, mostly comparisons.

numification

Unions numify to undef. If there’s a better idea, I’d love to hear it.

stringification

A tolerance stringifies to a short description of itself. This is a set of the
union’s options, parenthesesenclosed and joined by the word or

equality

A number is equal to a union if it is equal to any of its options.

comparison

A number is greater than a union if it is greater than all its options.
A number is less than a union if it is less than all its options.

union intersection

An intersection (&) with a union is commutted across all options. In other
words:
(a  b  c) & d ==yields==> ((a & d)  (b & d)  (c & d))
Options that have no intersection with the new element are dropped. The
intersection of a constant number and a union yields that number, if the number
was in the union’s ranges and otherwise yields nothing.


Who knows. Collapsing overlapping options, probably.
AUTHOR
Ricardo Signes <rjbs@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2004 by Ricardo Signes.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
perl v5.20.3  NUMBER::TOLERANT::UNION (3)  20151101 
Visit the GSP FreeBSD Man Page Interface. Output converted with manServer 1.07. 