X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2FScalar-Vec-Util.git;a=blobdiff_plain;f=t%2F33-vcopy-long.t;h=1e26573738518555139cb3fac76ad48e8ce9e096;hp=865055d1252b23577ea13220a4806923b616e501;hb=2bade59206c8f2bd2ed64e1faa8b10cc9109b734;hpb=eb5fc894300e2e78d7beeb03f47f9d8e488518d5 diff --git a/t/33-vcopy-long.t b/t/33-vcopy-long.t index 865055d..1e26573 100644 --- a/t/33-vcopy-long.t +++ b/t/33-vcopy-long.t @@ -8,10 +8,12 @@ use Config qw<%Config>; 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"; +}