$|=1;
kill
'INT'
,$$
if
$ENV
{UNDER_DEBUGGER};
my
$eps
= 0.01;
if
(0) {
my
$a0
= zeroes(3,3);
note
$a0
;
my
$b0
= 10 *
$a0
;
note
$b0
;
}
{
my
$pa0
= zeroes(3,3);
my
$pa
=
$pa0
->copy;
my
$pb
=
$pa
->xchg(0,1);
note
$pa
;
}
{
my
$pa0
= xvals(zeroes(3,3));
my
$pa1
= yvals(zeroes(3,3));
my
$pa2
= 10
*$pa1
;
my
$pa3
=
$pa0
+
$pa1
;
for
my
$p
(
$pa0
,
$pa1
,
$pa2
,
$pa3
) {
note
$p
;
}
}
{
my
$pa
= xvals(zeroes(3,3)) + 10
*yvals
(zeroes(3,3));
note
$pa
;
my
$pb
=
$pa
->clump(-1);
note
$pb
;
ok(all PDL::approx(
$pb
,pdl([0,1,2,10,11,12,20,21,22]),
$eps
));
my
$pc
=
$pa
->slice(
'0:2:2,:'
);
my
$pd
=
$pc
->clump(-1);
my
$pe
=
$pd
->slice(
"2:4"
);
my
$pf
=
""
;
$pf
=
$pe
->copy();
kill
'INT'
,$$
if
$ENV
{UNDER_DEBUGGER};
ok(all PDL::approx(
$pd
,pdl([0,2,10,12,20,22]),
$eps
));
ok(all PDL::approx(
$pe
,pdl([10,12,20]),
$eps
));
my
$a1
= sequence(2,13);
my
$b1
= sequence(3,2,13);
my
$a2
=
$a1
->clump(-2);
my
$b2
=
$b1
->clump(-2);
ok(
$a1
->ndims == 2,
"no-op clump(-2)"
);
ok(
$b2
->ndims == 2,
"general clump(-2)"
);
}