X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2F33-vcopy-long.t;h=1e26573738518555139cb3fac76ad48e8ce9e096;hb=HEAD;hp=2da3ec5867295503f29b0235d1c3f45d6d1aa1b5;hpb=f77706f0734eb34a9623cc492b5d73061fba9b62;p=perl%2Fmodules%2FScalar-Vec-Util.git diff --git a/t/33-vcopy-long.t b/t/33-vcopy-long.t index 2da3ec5..1e26573 100644 --- a/t/33-vcopy-long.t +++ b/t/33-vcopy-long.t @@ -4,14 +4,16 @@ use strict; use warnings; use Test::More tests => 34 + 2; -use Config qw/%Config/; +use Config qw<%Config>; -use Scalar::Vec::Util qw/vcopy/; +use Scalar::Vec::Util qw; -my $n = 2 ** 16; +BEGIN { + *myfill = *Scalar::Vec::Util::vfill_pp; + *myeq = *Scalar::Vec::Util::veq_pp; +} -*myfill = *Scalar::Vec::Util::vfill_pp; -*myeq = *Scalar::Vec::Util::veq_pp; +my $n = 2 ** 16; my ($v, $c) = ('') x 2; @@ -19,19 +21,23 @@ my $l = 1; vec($v, 0, 1) = 1; vec($c, 0, 1) = 1; while ($l <= $n) { - myfill($c, $l, $l, 1); - vcopy $v, 0, $v, $l, $l; + my $desc = "vcopy $l"; + myfill $c, $l, $l, 1; + vcopy $v, 0, $v, $l, $l; $l *= 2; - ok(myeq($v, 0, $c, 0, $l), "vcopy $l"); - is(length $v, length $c, "length is ok"); + is length $v, length $c, "$desc: length"; + ok myeq($v, 0, $c, 0, $l), "$desc: bits"; } -my ($w, $k) = ('') x 2; -$n = ($Config{alignbytes} - 1) * 8; -my $p = 4 + $n / 2; -vec($w, $_, 1) = 1 for 0 .. $n - 1; -vec($k, $_, 1) = 0 for 0 .. $n - 1; -vec($k, $_ - $p, 1) = 1 for $p .. $n - 1; -vcopy $w, $p, $w, 0, $n; -ok(myeq($w, 0, $k, 0, $n), "vcopy with fill"); -is(length $w, length $k, "length is ok"); +{ + my $desc = 'vcopy with fill'; + my ($w, $k) = ('') x 2; + $n = ($Config{alignbytes} - 1) * 8; + my $p = 4 + $n / 2; + vec($w, $_, 1) = 1 for 0 .. $n - 1; + vec($k, $_, 1) = 0 for 0 .. $n - 1; + vec($k, $_ - $p, 1) = 1 for $p .. $n - 1; + vcopy $w, $p, $w, 0, $n; + is length $w, length $k, "$desc: length"; + ok myeq($w, 0, $k, 0, $n), "$desc: bits"; +}