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

📄 30_overloaded.t

📁 SinFP是一种新的识别对方计算机操作系统类型的工具
💻 T
📖 第 1 页 / 共 2 页
字号:
#!perl -wuse strict;no strict "vars";use Bit::Vector::Overload;$Bit::Vector::CONFIG[2] = 3;# ======================================================================#   test overloaded operators# ======================================================================$operator_list{'+='}  = 1;$operator_list{'|='}  = 1;$operator_list{'-='}  = 1;$operator_list{'*='}  = 1;$operator_list{'&='}  = 1;$operator_list{'^='}  = 1;$operator_list{'<<='} = 1;$operator_list{'>>='} = 1;$operator_list{'x='}  = 1;$operator_list{'.='}  = 1;$operator_list{'+'}   = 2;$operator_list{'|'}   = 2;$operator_list{'-'}   = 2;$operator_list{'*'}   = 2;$operator_list{'&'}   = 2;$operator_list{'^'}   = 2;$operator_list{'<<'}  = 2;$operator_list{'>>'}  = 2;$operator_list{'x'}   = 2;$operator_list{'.'}   = 2;$operator_list{'=='}  = 2;$operator_list{'!='}  = 2;$operator_list{'<'}   = 2;$operator_list{'<='}  = 2;$operator_list{'>'}   = 2;$operator_list{'>='}  = 2;$operator_list{'cmp'} = 2;$operator_list{'eq'}  = 2;$operator_list{'ne'}  = 2;$operator_list{'lt'}  = 2;$operator_list{'le'}  = 2;$operator_list{'gt'}  = 2;$operator_list{'ge'}  = 2;print "1..15695\n";$n = 1;$set = Bit::Vector->new(500);if (abs($set) == 0){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set->Min() >= 500){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set->Max() < 0){print "ok $n\n";} else {print "not ok $n\n";}$n++;unless ($set){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (! $set){print "ok $n\n";} else {print "not ok $n\n";}$n++;$set += 0;if (abs($set) == 1){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set->Min() == 0){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set->Max() == 0){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set){print "ok $n\n";} else {print "not ok $n\n";}$n++;unless (! $set){print "ok $n\n";} else {print "not ok $n\n";}$n++;$set += 1;if (abs($set) == 2){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set->Min() == 0){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set->Max() == 1){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set){print "ok $n\n";} else {print "not ok $n\n";}$n++;unless (! $set){print "ok $n\n";} else {print "not ok $n\n";}$n++;$set ^= 0;if (abs($set) == 1){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set->Min() == 1){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set->Max() == 1){print "ok $n\n";} else {print "not ok $n\n";}$n++;$set += 400;if (abs($set) == 2){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set->Min() == 1){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set->Max() == 400){print "ok $n\n";} else {print "not ok $n\n";}$n++;$set ^= 0;if (abs($set) == 3){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set->Min() == 0){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set->Max() == 400){print "ok $n\n";} else {print "not ok $n\n";}$n++;$ref = $set;if ($ref == $set){print "ok $n\n";} else {print "not ok $n\n";}$n++;$ref = $set->new(500);if (! $ref){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set){print "ok $n\n";} else {print "not ok $n\n";}$n++;$ref->Copy($set);if ($ref == $set){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($ref){print "ok $n\n";} else {print "not ok $n\n";}$n++;$ref = $set + 11;if (abs($ref) == 4){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($ref->Min() == 0){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($ref->Max() == 400){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($ref->bit_test(11)){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (!($ref == $set)){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($ref != $set){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set < $ref){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set <= $ref){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($ref > $set){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($ref >= $set){print "ok $n\n";} else {print "not ok $n\n";}$n++;$ref = $set + 499;if (abs($ref) == 4){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($ref->Min() == 0){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($ref->Max() == 499){print "ok $n\n";} else {print "not ok $n\n";}$n++;$ref = $ref - 400;if (abs($ref) == 3){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($ref->Min() == 0){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($ref->Max() == 499){print "ok $n\n";} else {print "not ok $n\n";}$n++;$ref = $ref - 0;if (abs($ref) == 2){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($ref->Min() == 1){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($ref->Max() == 499){print "ok $n\n";} else {print "not ok $n\n";}$n++;$ref -= 499;if (abs($ref) == 1){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($ref->Min() == 1){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($ref->Max() == 1){print "ok $n\n";} else {print "not ok $n\n";}$n++;$ref -= 1;if (abs($ref) == 0){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($ref->Min() >= 500){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($ref->Max() < 0){print "ok $n\n";} else {print "not ok $n\n";}$n++;$limit = 1000; # some tests below assume this limit to be even!$primes = Bit::Vector->new($limit+1);if (! $primes){print "ok $n\n";} else {print "not ok $n\n";}$n++;$primes->Fill();if ($primes){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (abs($primes) == $limit+1){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($primes->Min() == 0){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($primes->Max() == $limit){print "ok $n\n";} else {print "not ok $n\n";}$n++;$primes -= 0;$primes -= 1;for ( $j = 4; $j <= $limit; $j += 2 ) { $primes -= $j; }for ( $i = 3; ($j = $i * $i) <= $limit; $i += 2 ){    for ( ; $j <= $limit; $j += $i ) { $primes -= $j; }}if (abs($primes) == 168){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($primes->Min() == 2){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($primes->Max() == 997){print "ok $n\n";} else {print "not ok $n\n";}$n++;$odd = $primes->new($limit+1);if (! $odd){print "ok $n\n";} else {print "not ok $n\n";}$n++;for ( $i = 1; $i <= $limit; $i += 2 ) { $odd += $i; }if ($odd){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (abs($odd) == $limit/2){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($odd->Min() == 1){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($odd->Max() == 999){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (!($odd == $primes)){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($odd != $primes){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (!($primes < $odd)){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (!($primes <= $odd)){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (!($primes > $odd)){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (!($primes >= $odd)){print "ok $n\n";} else {print "not ok $n\n";}$n++;$temp = $primes - $odd;if ($temp == 2){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (2 == $temp){print "ok $n\n";} else {print "not ok $n\n";}$n++;$odd = $odd + 2;if (abs($odd) == ($limit/2)+1){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($odd->Min() == 1){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($odd->Max() == 999){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (!($odd == $primes)){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($odd != $primes){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($primes < $odd){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($primes <= $odd){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (!($primes > $odd)){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (!($primes >= $odd)){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($odd > $primes){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($odd >= $primes){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (!($odd < $primes)){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (!($odd <= $primes)){print "ok $n\n";} else {print "not ok $n\n";}$n++;$temp = $primes * $odd;if ($temp == $primes){print "ok $n\n";} else {print "not ok $n\n";}$n++;$temp = $primes + $odd;if ($temp == $odd){print "ok $n\n";} else {print "not ok $n\n";}$n++;$temp = $primes ^ $odd;$xor = $primes->new($limit+1);if (! $xor){print "ok $n\n";} else {print "not ok $n\n";}$n++;$xor->ExclusiveOr($primes,$odd);if ($xor){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($temp == $xor){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($temp->equal($xor)){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (23 < $primes){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (23 <= $primes){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (!(23 > $primes)){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (!(23 >= $primes)){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($primes > 23){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($primes >= 23){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (!($primes < 23)){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (!($primes <= 23)){print "ok $n\n";} else {print "not ok $n\n";}$n++;$temp = ($primes + $odd) - ($primes * $odd);if ($temp == $xor){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($temp->equal($xor)){print "ok $n\n";} else {print "not ok $n\n";}$n++;$even = $xor;$even->Empty();for ( $i = 0; $i <= $limit; $i += 2 ) { $even += $i; }if (($primes * $even) == 2){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (($odd * $even) == 2){print "ok $n\n";} else {print "not ok $n\n";}$n++;$full = $temp;$full->Fill();if (($odd + $even) == $full){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (($primes + $even) == ~($odd - $primes)){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (($primes + $even) == ~($odd * ~$primes)){print "ok $n\n";} else {print "not ok $n\n";}$n++;$set = Bit::Vector->new(500);if (abs($set) == 0){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set->Min() >= 500){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set->Max() < 0){print "ok $n\n";} else {print "not ok $n\n";}$n++;unless ($set){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (++$set){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (abs($set) == 1){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set->Min() == 0){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set->Max() == 0){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (++$set){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (abs($set) == 1){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set->Min() == 1){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set->Max() == 1){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (++$set){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (abs($set) == 2){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set->Min() == 0){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set->Max() == 1){print "ok $n\n";} else {print "not ok $n\n";}$n++;if ($set){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (--$set){print "ok $n\n";} else {print "not ok $n\n";}$n++;if (abs($set) == 1){print "ok $n\n";} else {print "not ok $n\n";}

⌨️ 快捷键说明

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