File: 51-randfactor.t

package info (click to toggle)
libmath-prime-util-perl 0.73-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 2,796 kB
  • sloc: perl: 24,676; ansic: 11,471; makefile: 26; python: 24
file content (21 lines) | stat: -rw-r--r-- 641 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/env perl
use strict;
use warnings;

use Test::More;
use Math::Prime::Util qw/random_factored_integer irand factor vecprod/;

#my $use64 = (~0 > 4294967295);
#my $extra = defined $ENV{EXTENDED_TESTING} && $ENV{EXTENDED_TESTING};
#my $maxbits = $use64 ? 64 : 32;

plan tests => 4;

########

my($n, $factors) = random_factored_integer(1000000);
ok($n > 0, "random_factored_integer did not return 0");
ok($n <= 1000000, "random_factored_integer in requested range");
my @sfactors = sort {$a<=>$b} @$factors;
is_deeply( \@sfactors, [factor($n)], "factors match factor routine");
is( vecprod(@$factors), $n, "product of factors = n");