📄 test.pl
字号:
ok (mpq('0') == 0);ok (mpq(substr('101',1,1)) == 0);ok (mpq(0.0) == 0);ok (mpq(mpz(0)) == 0);ok (mpq(mpq(0)) == 0);ok (mpq(mpf(0)) == 0);{ tie my $t, 'Mytie', 0; ok (mpq($t) == 0); }{ tie my $t, 'Mytie', '0'; ok (mpq($t) == 0); }{ tie my $t, 'Mytie', substr('101',1,1); ok (mpq($t) == 0); }{ tie my $t, 'Mytie', 0.0; ok (mpq($t) == 0); }{ tie my $t, 'Mytie', mpz(0); ok (mpq($t) == 0); }{ tie my $t, 'Mytie', mpq(0); ok (mpq($t) == 0); }{ tie my $t, 'Mytie', mpf(0); ok (mpq($t) == 0); }ok (mpq(-123) == -123);ok (mpq('-123') == -123);ok (mpq(substr('1-1231',1,4)) == -123);ok (mpq(-123.0) == -123);ok (mpq(mpz(-123)) == -123);ok (mpq(mpq(-123)) == -123);ok (mpq(mpf(-123)) == -123);{ tie my $t, 'Mytie', -123; ok (mpq($t) == -123); }{ tie my $t, 'Mytie', '-123'; ok (mpq($t) == -123); }{ tie my $t, 'Mytie', substr('1-1231',1,4); ok (mpq($t) == -123); }{ tie my $t, 'Mytie', -123.0; ok (mpq($t) == -123); }{ tie my $t, 'Mytie', mpz(-123); ok (mpq($t) == -123); }{ tie my $t, 'Mytie', mpq(-123); ok (mpq($t) == -123); }{ tie my $t, 'Mytie', mpf(-123); ok (mpq($t) == -123); }ok (mpq($ivnv_2p128) == $str_2p128);{ tie my $t, 'Mytie', $ivnv_2p128; ok (mpq($t) == $str_2p128); }ok (mpq('3/2') == mpq(3,2));ok (mpq('3/1') == mpq(3,1));ok (mpq('-3/2') == mpq(-3,2));ok (mpq('-3/1') == mpq(-3,1));ok (mpq('0x3') == mpq(3,1));ok (mpq('0b111') == mpq(7,1));ok (mpq('0b0') == mpq(0,1));ok (mpq($uv_max) > 0);ok (mpq($uv_max) == mpq($uv_max_str));{ tie my $t, 'Mytie', $uv_max; ok (mpq($t) > 0); }{ tie my $t, 'Mytie', $uv_max; ok (mpq($t) == mpq($uv_max_str)); }{ my $x = 123.5; kill (0, $x); ok (mpq($x) == 123.5); tie my $t, 'Mytie', $x; ok (mpq($t) == 123.5);}#------------------------------------------------------------------------------# GMP::Mpq::overload_absok (abs(mpq(0)) == 0);ok (abs(mpq(123)) == 123);ok (abs(mpq(-123)) == 123);{ my $x = mpq(-123); $x = abs($x); ok ($x == 123); }{ my $x = mpq(0); $x = abs($x); ok ($x == 0); }{ my $x = mpq(123); $x = abs($x); ok ($x == 123); }{ tie my $t, 'Mytie', mpq(0); ok (abs($t) == 0); }{ tie my $t, 'Mytie', mpq(123); ok (abs($t) == 123); }{ tie my $t, 'Mytie', mpq(-123); ok (abs($t) == 123); }#------------------------------------------------------------------------------# GMP::Mpq::overload_addok (mpq(0) + 1 == 1);ok (mpq(-1) + 1 == 0);ok (1 + mpq(0) == 1);ok (1 + mpq(-1) == 0);ok (mpq(1,2)+mpq(1,3) == mpq(5,6));ok (mpq(1,2)+mpq(-1,3) == mpq(1,6));ok (mpq(-1,2)+mpq(1,3) == mpq(-1,6));ok (mpq(-1,2)+mpq(-1,3) == mpq(-5,6));#------------------------------------------------------------------------------# GMP::Mpq::overload_addeq{ my $a = mpq(7); $a += 1; ok ($a == 8); }{ my $a = mpq(7); my $b = $a; $a += 1; ok ($a == 8); ok ($b == 7); }#------------------------------------------------------------------------------# GMP::Mpq::overload_boolif (mpq(0)) { ok (0); } else { ok (1); }if (mpq(123)) { ok (1); } else { ok (0); }#------------------------------------------------------------------------------# GMP::Mpq::overload_dec{ my $a = mpq(0); ok ($a-- == 0); ok ($a == -1); }{ my $a = mpq(0); ok (--$a == -1); }{ my $a = mpq(0); my $b = $a; $a--; ok ($a == -1); ok ($b == 0); }#------------------------------------------------------------------------------# GMP::Mpq::overload_divok (mpq(6) / 2 == 3);ok (mpq(-6) / 2 == -3);ok (mpq(6) / -2 == -3);ok (mpq(-6) / -2 == 3);#------------------------------------------------------------------------------# GMP::Mpq::overload_diveq{ my $a = mpq(21); $a /= 3; ok ($a == 7); }{ my $a = mpq(21); my $b = $a; $a /= 3; ok ($a == 7); ok ($b == 21); }#------------------------------------------------------------------------------# GMP::Mpq::overload_eq{ my $a = mpq(0); my $b = $a; $a = mpq(1); ok ($a == 1); ok ($b == 0); }#------------------------------------------------------------------------------# GMP::Mpq::overload_inc{ my $a = mpq(0); ok ($a++ == 0); ok ($a == 1); }{ my $a = mpq(0); ok (++$a == 1); }{ my $a = mpq(0); my $b = $a; $a++; ok ($a == 1); ok ($b == 0); }#------------------------------------------------------------------------------# GMP::Mpq::overload_lshift{ my $a = mpq(7) << 1; ok ($a == 14); }#------------------------------------------------------------------------------# GMP::Mpq::overload_lshifteq{ my $a = mpq(7); $a <<= 1; ok ($a == 14); }{ my $a = mpq(7); my $b = $a; $a <<= 1; ok ($a == 14); ok ($b == 7); }#------------------------------------------------------------------------------# GMP::Mpq::overload_mulok (mpq(2) * 3 == 6);#------------------------------------------------------------------------------# GMP::Mpq::overload_muleq{ my $a = mpq(7); $a *= 3; ok ($a == 21); }{ my $a = mpq(7); my $b = $a; $a *= 3; ok ($a == 21); ok ($b == 7); }#------------------------------------------------------------------------------# GMP::Mpq::overload_negok (- mpq(0) == 0);ok (- mpq(123) == -123);ok (- mpq(-123) == 123);#------------------------------------------------------------------------------# GMP::Mpq::overload_notif (not mpq(0)) { ok (1); } else { ok (0); }if (not mpq(123)) { ok (0); } else { ok (1); }ok ((! mpq(0)) == 1);ok ((! mpq(123)) == 0);#------------------------------------------------------------------------------# GMP::Mpq::overload_powok (mpq(0) ** 1 == 0);ok (mpq(1) ** 1 == 1);ok (mpq(2) ** 0 == 1);ok (mpq(2) ** 1 == 2);ok (mpq(2) ** 2 == 4);ok (mpq(2) ** 3 == 8);ok (mpq(2) ** 4 == 16);ok (mpq(0) ** mpq(1) == 0);ok (mpq(1) ** mpq(1) == 1);ok (mpq(2) ** mpq(0) == 1);ok (mpq(2) ** mpq(1) == 2);ok (mpq(2) ** mpq(2) == 4);ok (mpq(2) ** mpq(3) == 8);ok (mpq(2) ** mpq(4) == 16);#------------------------------------------------------------------------------# GMP::Mpq::overload_poweq{ my $a = mpq(3); $a **= 4; ok ($a == 81); }{ my $a = mpq(3); my $b = $a; $a **= 4; ok ($a == 81); ok ($b == 3); }#------------------------------------------------------------------------------# GMP::Mpq::overload_rshift{ my $a = mpq(32) >> 1; ok ($a == 16); }#------------------------------------------------------------------------------# GMP::Mpq::overload_rshifteq{ my $a = mpq(32); $a >>= 1; ok ($a == 16); }{ my $a = mpq(32); my $b = $a; $a >>= 1; ok ($a == 16); ok ($b == 32); }#------------------------------------------------------------------------------# GMP::Mpq::overload_spaceshipok (mpq(0) < 1);ok (mpq(0) > -1);ok (mpq(0) != 1);ok (mpq(0) != -1);ok (mpq(1) != 0);ok (mpq(1) != -1);ok (mpq(-1) != 0);ok (mpq(-1) != 1);ok (mpq(3,2) > 1);ok (mpq(3,2) < 2);ok (mpq(0) < 1.0);ok (mpq(0) < '1');ok (mpq(0) < substr('-1',1,1));ok (mpq(0) < mpz(1));ok (mpq(0) < mpq(1));ok (mpq(0) < mpf(1));ok (mpq(0) < $uv_max);#------------------------------------------------------------------------------# GMP::Mpq::overload_string{ my $x = mpq(0); ok("$x" eq "0"); }{ my $x = mpq(123); ok("$x" eq "123"); }{ my $x = mpq(-123); ok("$x" eq "-123"); }{ my $q = mpq(5,7); ok("$q" eq "5/7"); }{ my $q = mpq(-5,7); ok("$q" eq "-5/7"); }#------------------------------------------------------------------------------# GMP::Mpq::overload_subok (mpq(0) - 1 == -1);ok (mpq(1) - 1 == 0);ok (1 - mpq(0) == 1);ok (1 - mpq(1) == 0);ok (mpq(1,2)-mpq(1,3) == mpq(1,6));ok (mpq(1,2)-mpq(-1,3) == mpq(5,6));ok (mpq(-1,2)-mpq(1,3) == mpq(-5,6));ok (mpq(-1,2)-mpq(-1,3) == mpq(-1,6));#------------------------------------------------------------------------------# GMP::Mpq::overload_subeq{ my $a = mpq(7); $a -= 1; ok ($a == 6); }{ my $a = mpq(7); my $b = $a; $a -= 1; ok ($a == 6); ok ($b == 7); }#------------------------------------------------------------------------------# GMP::Mpq::canonicalize{ my $q = mpq(21,15); canonicalize($q); ok (num($q) == 7); ok (den($q) == 5);}#------------------------------------------------------------------------------# GMP::Mpq::den{ my $q = mpq(5,9); ok (den($q) == 9); }#------------------------------------------------------------------------------# GMP::Mpq::num{ my $q = mpq(5,9); ok (num($q) == 5); }#------------------------------------------------------------------------------# GMP::Mpf#------------------------------------------------------------------------------# GMP::Mpf::newok (mpf(0) == 0);ok (mpf('0') == 0);ok (mpf(substr('101',1,1)) == 0);ok (mpf(0.0) == 0);ok (mpf(mpz(0)) == 0);ok (mpf(mpq(0)) == 0);ok (mpf(mpf(0)) == 0);{ tie my $t, 'Mytie', 0; ok (mpf($t) == 0); }{ tie my $t, 'Mytie', '0'; ok (mpf($t) == 0); }{ tie my $t, 'Mytie', substr('101',1,1); ok (mpf($t) == 0); }{ tie my $t, 'Mytie', 0.0; ok (mpf($t) == 0); }{ tie my $t, 'Mytie', mpz(0); ok (mpf($t) == 0); }{ tie my $t, 'Mytie', mpq(0); ok (mpf($t) == 0); }{ tie my $t, 'Mytie', mpf(0); ok (mpf($t) == 0); }ok (mpf(-123) == -123);ok (mpf('-123') == -123);ok (mpf(substr('1-1231',1,4)) == -123);ok (mpf(-123.0) == -123);ok (mpf(mpz(-123)) == -123);ok (mpf(mpq(-123)) == -123);ok (mpf(mpf(-123)) == -123);{ tie my $t, 'Mytie', -123; ok (mpf($t) == -123); }{ tie my $t, 'Mytie', '-123'; ok (mpf($t) == -123); }{ tie my $t, 'Mytie', substr('1-1231',1,4); ok (mpf($t) == -123); }{ tie my $t, 'Mytie', -123.0; ok (mpf($t) == -123); }{ tie my $t, 'Mytie', mpz(-123); ok (mpf($t) == -123); }{ tie my $t, 'Mytie', mpq(-123); ok (mpf($t) == -123); }{ tie my $t, 'Mytie', mpf(-123); ok (mpf($t) == -123); }ok (mpf($ivnv_2p128) == $str_2p128);{ tie my $t, 'Mytie', $ivnv_2p128; ok (mpf($t) == $str_2p128); }ok (mpf(-1.5) == -1.5);ok (mpf(-1.0) == -1.0);ok (mpf(-0.5) == -0.5);ok (mpf(0) == 0);ok (mpf(0.5) == 0.5);ok (mpf(1.0) == 1.0);ok (mpf(1.5) == 1.5);ok (mpf("-1.5") == -1.5);ok (mpf("-1.0") == -1.0);ok (mpf("-0.5") == -0.5);ok (mpf("0") == 0);ok (mpf("0.5") == 0.5);ok (mpf("1.0") == 1.0);ok (mpf("1.5") == 1.5);ok (mpf($uv_max) > 0);ok (mpf($uv_max) == mpf($uv_max_str));{ tie my $t, 'Mytie', $uv_max; ok (mpf($t) > 0); }{ tie my $t, 'Mytie', $uv_max; ok (mpf($t) == mpf($uv_max_str)); }{ my $x = 123.5; kill (0, $x); ok (mpf($x) == 123.5); tie my $t, 'Mytie', $x; ok (mpf($t) == 123.5);}#------------------------------------------------------------------------------# GMP::Mpf::overload_absok (abs(mpf(0)) == 0);ok (abs(mpf(123)) == 123);ok (abs(mpf(-123)) == 123);{ my $x = mpf(-123); $x = abs($x); ok ($x == 123); }{ my $x = mpf(0); $x = abs($x); ok ($x == 0); }{ my $x = mpf(123); $x = abs($x); ok ($x == 123); }{ tie my $t, 'Mytie', mpf(0); ok (abs($t) == 0); }{ tie my $t, 'Mytie', mpf(123); ok (abs($t) == 123); }{ tie my $t, 'Mytie', mpf(-123); ok (abs($t) == 123); }#------------------------------------------------------------------------------# GMP::Mpf::overload_addok (mpf(0) + 1 == 1);ok (mpf(-1) + 1 == 0);ok (1 + mpf(0) == 1);ok (1 + mpf(-1) == 0);#------------------------------------------------------------------------------# GMP::Mpf::overload_addeq{ my $a = mpf(7); $a += 1; ok ($a == 8); }{ my $a = mpf(7); my $b = $a; $a += 1; ok ($a == 8); ok ($b == 7); }#------------------------------------------------------------------------------# GMP::Mpf::overload_boolif (mpf(0)) { ok (0); } else { ok (1); }if (mpf(123)) { ok (1); } else { ok (0); }#------------------------------------------------------------------------------# GMP::Mpf::overload_dec{ my $a = mpf(0); ok ($a-- == 0); ok ($a == -1); }{ my $a = mpf(0); ok (--$a == -1); }{ my $a = mpf(0); my $b = $a; $a--; ok ($a == -1); ok ($b == 0); }#------------------------------------------------------------------------------# GMP::Mpf::overload_divok (mpf(6) / 2 == 3);ok (mpf(-6) / 2 == -3);ok (mpf(6) / -2 == -3);ok (mpf(-6) / -2 == 3);#------------------------------------------------------------------------------# GMP::Mpf::overload_diveq{ my $a = mpf(21); $a /= 3; ok ($a == 7); }{ my $a = mpf(21); my $b = $a; $a /= 3; ok ($a == 7); ok ($b == 21); }#------------------------------------------------------------------------------# GMP::Mpf::overload_eq{ my $a = mpf(0); my $b = $a; $a = mpf(1); ok ($a == 1); ok ($b == 0); }#------------------------------------------------------------------------------# GMP::Mpf::overload_inc{ my $a = mpf(0); ok ($a++ == 0); ok ($a == 1); }{ my $a = mpf(0); ok (++$a == 1); }{ my $a = mpf(0); my $b = $a; $a++; ok ($a == 1); ok ($b == 0); }#------------------------------------------------------------------------------# GMP::Mpf::overload_lshift{ my $a = mpf(7) << 1; ok ($a == 14); }#------------------------------------------------------------------------------# GMP::Mpf::overload_lshifteq{ my $a = mpf(7); $a <<= 1; ok ($a == 14); }{ my $a = mpf(7); my $b = $a; $a <<= 1; ok ($a == 14); ok ($b == 7); }#------------------------------------------------------------------------------# GMP::Mpf::overload_mulok (mpf(2) * 3 == 6);#------------------------------------------------------------------------------# GMP::Mpf::overload_muleq{ my $a = mpf(7); $a *= 3; ok ($a == 21); }{ my $a = mpf(7); my $b = $a; $a *= 3; ok ($a == 21); ok ($b == 7); }#------------------------------------------------------------------------------# GMP::Mpf::overload_negok (- mpf(0) == 0);ok (- mpf(123) == -123);ok (- mpf(-123) == 123);#------------------------------------------------------------------------------# GMP::Mpf::overload_notif (not mpf(0)) { ok (1); } else { ok (0); }if (not mpf(123)) { ok (0); } else { ok (1); }ok ((! mpf(0)) == 1);ok ((! mpf(123)) == 0);#------------------------------------------------------------------------------# GMP::Mpf::overload_powok (mpf(0) ** 1 == 0);ok (mpf(1) ** 1 == 1);ok (mpf(2) ** 0 == 1);ok (mpf(2) ** 1 == 2);ok (mpf(2) ** 2 == 4);ok (mpf(2) ** 3 == 8);ok (mpf(2) ** 4 == 16);ok (mpf(0) ** mpf(1) == 0);ok (mpf(1) ** mpf(1) == 1);ok (mpf(2) ** mpf(0) == 1);ok (mpf(2) ** mpf(1) == 2);ok (mpf(2) ** mpf(2) == 4);ok (mpf(2) ** mpf(3) == 8);ok (mpf(2) ** mpf(4) == 16);#------------------------------------------------------------------------------# GMP::Mpf::overload_poweq{ my $a = mpf(3); $a **= 4; ok ($a == 81); }{ my $a = mpf(3); my $b = $a; $a **= 4; ok ($a == 81); ok ($b == 3); }#------------------------------------------------------------------------------# GMP::Mpf::overload_rshift{ my $a = mpf(32) >> 1; ok ($a == 16); }#------------------------------------------------------------------------------# GMP::Mpf::overload_rshifteq{ my $a = mpf(32); $a >>= 1; ok ($a == 16); }{ my $a = mpf(32); my $b = $a; $a >>= 1; ok ($a == 16); ok ($b == 32); }#------------------------------------------------------------------------------# GMP::Mpf::overload_sqrtok (sqrt(mpf(0)) == 0);ok (sqrt(mpf(1)) == 1);ok (sqrt(mpf(4)) == 2);ok (sqrt(mpf(81)) == 9);ok (sqrt(mpf(0.25)) == 0.5);#------------------------------------------------------------------------------# GMP::Mpf::overload_spaceshipok (mpf(0) < 1);ok (mpf(0) > -1);ok (mpf(0) != 1);ok (mpf(0) != -1);ok (mpf(1) != 0);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -