⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.pl

📁 a very popular packet of cryptography tools,it encloses the most common used algorithm and protocols
💻 PL
📖 第 1 页 / 共 4 页
字号:
  ok ($a == 2);  ok ($b == 3);  ok (tied($a));}{ my $b = 3;  tie my $a, 'Mytie', $b;  clrbit ($a, 0);  ok ($a == 2);  ok ($b == 3);  ok (tied($a));}#------------------------------------------------------------------------------# GMP::Mpz::congruent_pok (  congruent_p (21, 0, 7));ok (! congruent_p (21, 1, 7));ok (  congruent_p (21, 5, 8));ok (! congruent_p (21, 6, 8));#------------------------------------------------------------------------------# GMP::Mpz::congruent_2exp_pok (  congruent_2exp_p (20, 0, 2));ok (! congruent_2exp_p (21, 0, 2));ok (! congruent_2exp_p (20, 1, 2));#------------------------------------------------------------------------------# GMP::Mpz::divexactok (divexact(27,3) == 9);ok (divexact(27,-3) == -9);ok (divexact(-27,3) == -9);ok (divexact(-27,-3) == 9);#------------------------------------------------------------------------------# GMP::Mpz::divisible_pok (  divisible_p (21, 7));ok (! divisible_p (21, 8));#------------------------------------------------------------------------------# GMP::Mpz::divisible_2exp_pok (  divisible_2exp_p (20, 2));ok (! divisible_2exp_p (21, 2));#------------------------------------------------------------------------------# GMP::Mpz::even_pok (! even_p(mpz(-3)));ok (  even_p(mpz(-2)));ok (! even_p(mpz(-1)));ok (  even_p(mpz(0)));ok (! even_p(mpz(1)));ok (  even_p(mpz(2)));ok (! even_p(mpz(3)));#------------------------------------------------------------------------------# GMP::Mpz::export{ my $s = mpz_export (1, 2, 1, 0, "0x61626364");  ok ($s eq 'abcd'); }{ my $s = mpz_export (-1, 2, 1, 0, "0x61626364");  ok ($s eq 'cdab'); }{ my $s = mpz_export (1, 2, -1, 0, "0x61626364");  ok ($s eq 'badc'); }{ my $s = mpz_export (-1, 2, -1, 0, "0x61626364");  ok ($s eq 'dcba'); }#------------------------------------------------------------------------------# GMP::Mpz::facok (fac(0) == 1);ok (fac(1) == 1);ok (fac(2) == 2);ok (fac(3) == 6);ok (fac(4) == 24);ok (fac(5) == 120);#------------------------------------------------------------------------------# GMP::Mpz::fdiv{ my ($q, $r);  ($q, $r) = fdiv (16, 3);  ok ($q == 5);  ok ($r == 1);  ($q, $r) = fdiv (16, -3);  ok ($q == -6);  ok ($r == -2);  ($q, $r) = fdiv (-16, 3);  ok ($q == -6);  ok ($r == 2);  ($q, $r) = fdiv (-16, -3);  ok ($q == 5);  ok ($r == -1);}#------------------------------------------------------------------------------# GMP::Mpz::fdiv_2exp{ my ($q, $r);  ($q, $r) = fdiv_2exp (23, 2);  ok ($q == 5);  ok ($r == 3);  ($q, $r) = fdiv_2exp (-23, 2);  ok ($q == -6);  ok ($r == 1);}#------------------------------------------------------------------------------# GMP::Mpz::fibok (fib(0) == 0);ok (fib(1) == 1);ok (fib(2) == 1);ok (fib(3) == 2);ok (fib(4) == 3);ok (fib(5) == 5);ok (fib(6) == 8);#------------------------------------------------------------------------------# GMP::Mpz::fib2{ my ($a, $b) = fib2(0); ok($a==0); ok($b==1); }{ my ($a, $b) = fib2(1); ok($a==1); ok($b==0); }{ my ($a, $b) = fib2(2); ok($a==1); ok($b==1); }{ my ($a, $b) = fib2(3); ok($a==2); ok($b==1); }{ my ($a, $b) = fib2(4); ok($a==3); ok($b==2); }{ my ($a, $b) = fib2(5); ok($a==5); ok($b==3); }{ my ($a, $b) = fib2(6); ok($a==8); ok($b==5); }#------------------------------------------------------------------------------# GMP::Mpz::gcdok (gcd (21) == 21);ok (gcd (21,15) == 3);ok (gcd (21,15,30,57) == 3);ok (gcd (21,-15) == 3);ok (gcd (-21,15) == 3);ok (gcd (-21,-15) == 3);#------------------------------------------------------------------------------# GMP::Mpz::gcdext{  my ($g, $x, $y) = gcdext (3,5);  ok ($g == 1);  ok ($x == 2);  ok ($y == -1);}#------------------------------------------------------------------------------# GMP::Mpz::hamdistok (hamdist(5,7) == 1);#------------------------------------------------------------------------------# GMP::Mpz::import{ my $z = mpz_import (1, 2, 1, 0, 'abcd');  ok ($z == 0x61626364); }{ my $z = mpz_import (-1, 2, 1, 0, 'abcd');  ok ($z == 0x63646162); }{ my $z = mpz_import (1, 2, -1, 0, 'abcd');  ok ($z == 0x62616463); }{ my $z = mpz_import (-1, 2, -1, 0, 'abcd');  ok ($z == 0x64636261); }#------------------------------------------------------------------------------# GMP::Mpz::invertok (invert(1,123) == 1);ok (invert(6,7) == 6);ok (! defined invert(2,8));#------------------------------------------------------------------------------# GMP::Mpz::jacobi, GMP::Mpz::kroneckerforeach my $i ([  1, 19,  1 ],	       [  4, 19,  1 ],	       [  5, 19,  1 ],	       [  6, 19,  1 ],	       [  7, 19,  1 ],	       [  9, 19,  1 ],	       [ 11, 19,  1 ],	       [ 16, 19,  1 ],	       [ 17, 19,  1 ],	       [  2, 19, -1 ],	       [  3, 19, -1 ],	       [  8, 19, -1 ],	       [ 10, 19, -1 ],	       [ 12, 19, -1 ],	       [ 13, 19, -1 ],	       [ 14, 19, -1 ],	       [ 15, 19, -1 ],	       [ 18, 19, -1 ]) {  foreach my $fun (\&jacobi, \&kronecker) {    ok (&$fun ($$i[0], $$i[1]) == $$i[2]);    ok (&$fun ($$i[0],      str($$i[1])) == $$i[2]);    ok (&$fun (str($$i[0]),     $$i[1])  == $$i[2]);    ok (&$fun (str($$i[0]), str($$i[1])) == $$i[2]);    ok (&$fun ($$i[0],      mpz($$i[1])) == $$i[2]);    ok (&$fun (mpz($$i[0]), $$i[1]) == $$i[2]);    ok (&$fun (mpz($$i[0]), mpz($$i[1])) == $$i[2]);  }}	       #------------------------------------------------------------------------------# GMP::Mpz::lcmok (lcm (2) == 2);ok (lcm (0) == 0);ok (lcm (0,0) == 0);ok (lcm (0,0,0) == 0);ok (lcm (0,0,0,0) == 0);ok (lcm (2,0) == 0);ok (lcm (-2,0) == 0);ok (lcm (2,3) == 6);ok (lcm (2,3,4) == 12);ok (lcm (2,-3) == 6);ok (lcm (-2,3) == 6);ok (lcm (-2,-3) == 6);ok (lcm (mpz(2)**512,1) == mpz(2)**512);ok (lcm (mpz(2)**512,-1) == mpz(2)**512);ok (lcm (-mpz(2)**512,1) == mpz(2)**512);ok (lcm (-mpz(2)**512,-1) == mpz(2)**512);ok (lcm (mpz(2)**512,mpz(2)**512) == mpz(2)**512);ok (lcm (mpz(2)**512,-mpz(2)**512) == mpz(2)**512);ok (lcm (-mpz(2)**512,mpz(2)**512) == mpz(2)**512);ok (lcm (-mpz(2)**512,-mpz(2)**512) == mpz(2)**512);#------------------------------------------------------------------------------# GMP::Mpz::lucnumok (lucnum(0) == 2);ok (lucnum(1) == 1);ok (lucnum(2) == 3);ok (lucnum(3) == 4);ok (lucnum(4) == 7);ok (lucnum(5) == 11);ok (lucnum(6) == 18);#------------------------------------------------------------------------------# GMP::Mpz::lucnum2{ my ($a, $b) = lucnum2(0); ok($a==2);  ok($b==-1); }{ my ($a, $b) = lucnum2(1); ok($a==1);  ok($b==2); }{ my ($a, $b) = lucnum2(2); ok($a==3);  ok($b==1); }{ my ($a, $b) = lucnum2(3); ok($a==4);  ok($b==3); }{ my ($a, $b) = lucnum2(4); ok($a==7);  ok($b==4); }{ my ($a, $b) = lucnum2(5); ok($a==11); ok($b==7); }{ my ($a, $b) = lucnum2(6); ok($a==18); ok($b==11); }#------------------------------------------------------------------------------# GMP::Mpz::nextprimeok (nextprime(2) == 3);ok (nextprime(3) == 5);ok (nextprime(5) == 7);ok (nextprime(7) == 11);ok (nextprime(11) == 13);#------------------------------------------------------------------------------# GMP::Mpz::perfect_power_p# ok (  perfect_power_p(mpz(-27)));# ok (! perfect_power_p(mpz(-9)));# ok (! perfect_power_p(mpz(-1)));ok (  perfect_power_p(mpz(0)));ok (  perfect_power_p(mpz(1)));ok (! perfect_power_p(mpz(2)));ok (! perfect_power_p(mpz(3)));ok (  perfect_power_p(mpz(4)));ok (  perfect_power_p(mpz(9)));ok (  perfect_power_p(mpz(27)));ok (  perfect_power_p(mpz(81)));#------------------------------------------------------------------------------# GMP::Mpz::perfect_square_pok (! perfect_square_p(mpz(-9)));ok (! perfect_square_p(mpz(-1)));ok (  perfect_square_p(mpz(0)));ok (  perfect_square_p(mpz(1)));ok (! perfect_square_p(mpz(2)));ok (! perfect_square_p(mpz(3)));ok (  perfect_square_p(mpz(4)));ok (  perfect_square_p(mpz(9)));ok (! perfect_square_p(mpz(27)));ok (  perfect_square_p(mpz(81)));#------------------------------------------------------------------------------# GMP::Mpz::popcountok (popcount(7) == 3);#------------------------------------------------------------------------------# GMP::Mpz::powmok (powm (3,2,8) == 1);#------------------------------------------------------------------------------# GMP::Mpz::probab_prime_pok (  probab_prime_p(89,1));ok (! probab_prime_p(81,1));#------------------------------------------------------------------------------# GMP::Mpz::realloc{ my $z = mpz(123);  realloc ($z, 512); }#------------------------------------------------------------------------------# GMP::Mpz::remove{  my ($rem, $mult);  ($rem, $mult) = remove(12,3);  ok ($rem == 4);  ok ($mult == 1);  ($rem, $mult) = remove(12,2);  ok ($rem == 3);  ok ($mult == 2);}#------------------------------------------------------------------------------# GMP::Mpz::rootok (root(0,2) == 0);ok (root(8,3) == 2);ok (root(-8,3) == -2);ok (root(81,4) == 3);ok (root(243,5) == 3);#------------------------------------------------------------------------------# GMP::Mpz::roote{ my ($r,$e);  ($r, $e) = roote(0,2);  ok ($r == 0);  ok ($e);  ($r, $e) = roote(81,4);  ok ($r == 3);  ok ($e);  ($r, $e) = roote(85,4);  ok ($r == 3);  ok (! $e);}#------------------------------------------------------------------------------# GMP::Mpz::scan0ok (scan0 (0, 0) == 0);ok (scan0 (1, 0) == 1);ok (scan0 (3, 0) == 2);ok (scan0 (-1, 0) == ~0);ok (scan0 (-2, 1) == ~0);#------------------------------------------------------------------------------# GMP::Mpz::scan1ok (scan1 (1, 0) == 0);ok (scan1 (2, 0) == 1);ok (scan1 (4, 0) == 2);ok (scan1 (0, 0) == ~0);ok (scan1 (3, 2) == ~0);#------------------------------------------------------------------------------# GMP::Mpz::setbit{ my $a = mpz(3); setbit ($a, 1); ok ($a == 3); }{ my $a = mpz(3); setbit ($a, 2); ok ($a == 7); }{ my $a = 3; setbit ($a, 1); ok ($a == 3); }{ my $a = 3; setbit ($a, 2); ok ($a == 7); }# mutate only given variable{ my $a = mpz(0);  my $b = $a;  setbit ($a, 0);  ok ($a == 1);  ok ($b == 0);}{ my $a = 0;  my $b = $a;  setbit ($a, 0);  ok ($a == 1);  ok ($b == 0);}{ tie my $a, 'Mytie', mpz(3);  setbit ($a, 2);  ok ($Mytie::fetched > 0);    # used fetch  ok ($Mytie::stored > 0);     # used store  ok ($a == 7);                # expected result  ok (UNIVERSAL::isa($a,"GMP::Mpz"));  ok (tied($a));               # still tied}{ tie my $a, 'Mytie', 3;  setbit ($a, 2);  ok ($Mytie::fetched > 0);    # used fetch  ok ($Mytie::stored > 0);     # used store  ok ($a == 7);                # expected result  ok (UNIVERSAL::isa($a,"GMP::Mpz"));  ok (tied($a));               # still tied}{ my $b = mpz(2);  tie my $a, 'Mytie', $b;  setbit ($a, 0);  ok ($a == 3);  ok ($b == 2);  ok (tied($a));}{ my $b = 2;  tie my $a, 'Mytie', $b;  setbit ($a, 0);  ok ($a == 3);  ok ($b == 2);  ok (tied($a));}#------------------------------------------------------------------------------# GMP::Mpz::sizeinbaseok (sizeinbase(1,10) == 1);ok (sizeinbase(100,10) == 3);ok (sizeinbase(9999,10) == 5);#------------------------------------------------------------------------------# GMP::Mpz::sqrtrem{  my ($root, $rem) = sqrtrem(mpz(0));  ok ($root == 0);  ok ($rem == 0);}{  my ($root, $rem) = sqrtrem(mpz(1));  ok ($root == 1);  ok ($rem == 0);}{  my ($root, $rem) = sqrtrem(mpz(2));  ok ($root == 1);  ok ($rem == 1);}{  my ($root, $rem) = sqrtrem(mpz(9));  ok ($root == 3);  ok ($rem == 0);}{  my ($root, $rem) = sqrtrem(mpz(35));  ok ($root == 5);  ok ($rem == 10);}{  my ($root, $rem) = sqrtrem(mpz(0));  ok ($root == 0);  ok ($rem == 0);}#------------------------------------------------------------------------------# GMP::Mpz::tdiv{ my ($q, $r);  ($q, $r) = tdiv (16, 3);  ok ($q == 5);  ok ($r == 1);  ($q, $r) = tdiv (16, -3);  ok ($q == -5);  ok ($r == 1);  ($q, $r) = tdiv (-16, 3);  ok ($q == -5);  ok ($r == -1);  ($q, $r) = tdiv (-16, -3);  ok ($q == 5);  ok ($r == -1);}#------------------------------------------------------------------------------# GMP::Mpz::tdiv_2exp{ my ($q, $r);  ($q, $r) = tdiv_2exp (23, 2);  ok ($q == 5);  ok ($r == 3);  ($q, $r) = tdiv_2exp (-23, 2);  ok ($q == -5);  ok ($r == -3);}#------------------------------------------------------------------------------# GMP::Mpz::tstbitok (tstbit (6, 0) == 0);ok (tstbit (6, 1) == 1);ok (tstbit (6, 2) == 1);ok (tstbit (6, 3) == 0);#------------------------------------------------------------------------------# GMP::Mpq#------------------------------------------------------------------------------# GMP::Mpq::newok (mpq(0) == 0);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -