File: longmultiply.t

package info (click to toggle)
libmath-base-convert-perl 0.11-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 308 kB
  • sloc: perl: 870; makefile: 2
file content (62 lines) | stat: -rw-r--r-- 1,464 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl test.pl'

######################### We start with some black magic to print on failure.
# Change 1..1 below to 1..last_test_to_print .
# (It may become useful if the test is moved to ./t subdirectory.)

BEGIN { $| = 1; print "1..5\n"; }
END {print "not ok 1\n" unless $loaded;}

#use diagnostics;
use Math::Base::Convert qw(dec b62);

$loaded = 1;
print "ok 1\n";
######################### End of black magic.

sub ok {
  print "ok $test\n";
  ++$test;
}

my $num = '999999999999999';
my $str = '4zXyLE1Gv';
my $b32str = [
	'2764472319',
	232830
];

$test = 2;

my $bcto = new Math::Base::Convert(dec,b62);
my $bcfrom = new Math::Base::Convert(b62);

sub equal {
  my($a,$b) = @_;
  if ($a.$b =~ /\D/) {
    return $a eq $b;
  } else {
    return $a == $b;
  }
}

# test 2	to b63, check b2-32 conversion
$bcfrom->_cnv($str);
print "nstr missing\nnot "
	unless exists $bcfrom->{nstr} && $bcfrom->{nstr} eq $str;
&ok;

$bcfrom->useFROMbaseto32wide;

# test 3	check for b32 conversion vector
print "b32str missing\nnot "
	unless exists $bcfrom->{b32str} && ref $bcfrom->{b32str} eq 'ARRAY';
&ok;

# test 4 - 5	check contents
foreach my $i (0..$#{$b32str}) {
  print "b32 vector mismatch, index '$i', got: ", $bcfrom->{b32str}->[$i], " exp: ", $b32str->[$i], "\nnot "
    unless equal($bcfrom->{b32str}->[$i], $b32str->[$i]);
  &ok;
}