Math-Base-Convert
view release on metacpan or search on metacpan
lib/Math/Base/Convert/Shortcuts.pm view on Meta::CPAN
package Math::Base::Convert::Shortcuts;
use vars qw($VERSION);
use strict;
$VERSION = do { my @r = (q$Revision: 0.05 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
# load bitmaps
my $xlt = require Math::Base::Convert::Bitmaps;
#
# base 2 4 8 16 32 64
# base power 1 2 3 4 5 6
# xlt = [ \@standardbases, undef, \%_2wide, undef, undef, \%_5wide, \%_6wide ];
#
# base 2 maps directly to lookup key
# base 3 maps directly to standard lookup value
# base 4 converts directly to hex
#
# where @standardbases = (\{
# dna => {
# '00' => 'a',
# '01' => 'c',
# '10' => 't',
# '11' => 'g',
# },
# b64 => {
# '000000' => 0,
# '000001' => 1,
# * -
# * -
# '001010' => 'A',
# '001011' => 'B',
# * -
# * -
# '111111' => '_',
# },
# m64 => etc....
# iru
# url
# rex
# id0
# id1
# xnt
# xid
# });
#
# .... and
#
# hash arrays are bit to value maps of the form
#
# %_3wide = {
# '000' => 0,
# '001' => 1,
# '010' => 2,
# * -
# * -
# etc...
# };
#
my @srindx = ( # accomodate up to 31 bit shifts
0, # 0 unused
1, # 1
3, # 2
7, # 3
0xf, # 4
0x1f, # 5
0x3f, # 6
( run in 1.353 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )