Name
Encode::Positive::Pairs - encode pairs of positive integers as a single integer and vice versa
Synopsis
use Encode::Positive::Pairs;
my ($i, $j) = Encode::Positive::Pairs::singleToPair(4);
ok $i == 1 && $j == 1;
ok 4 == Encode::Positive::Pairs::pairToSingle(1, 1);
Larger numbers are automatically supported via Math::BigInt:
my $n = '1'.('0'x121).'1';
my ($i, $j) = Encode::Positive::Pairs::singleToPair($n);
ok $i == "1698366900312561357458283662619176178439283700581622961703001";
ok $j == "12443768723418389130558603579477804607257435053187857770063795";
ok $n == Encode::Positive::Pairs::pairToSingle($i, $j);
Description
Convert
Encode pairs of positive integers as a single integer and vice-versa
singleToPair($)
Decode a single integer into a pair of integers
1 $N Number to decode
pairToSingle($$)
Return the single integer representing a pair of integers
1 $I First number of pair to encode
2 $J Second number of pair to encode
Private Methods
equation($)
The sum of the numbers from 1 to a specified number
1 $t The number of leading integers to sum
search($$$)
Return the pair that encode to the number specified
1 $n Number to decode
2 $l Lower limit
3 $u Upper limit
Index
Installation
This module is written in 100% Pure Perl and, thus, it is easy to read, use, modify and install.
Standard Module::Build process for building and installing modules:
perl Build.PL
./Build
./Build test
./Build install
Author
Copyright
Copyright (c) 2016-2017 Philip R Brenan.
This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself.