That's fun. 1st loop is tautology test for a default value of 1 for size, which (tautology) I think you are aware of, and which (test) suddenly fails after 6. 2nd loop causes Perl to crash after 6, but just manages to produce weird results for lower dimensions, too.
use strict; use warnings; use feature 'say'; use PDL; use Test::PDL 'eq_pdl'; say $^V; say $PDL::VERSION; my @a = map sequence(( 5 ) x $_ ), 1 .. 8; printf "%d ---> %s\n", $_-> ndims, eq_pdl( $_, $_-> range( $_-> ndcoords )) ? 'pass' : 'fail' for @a; printf "%d ---> %s\n", $_-> ndims, $_-> range( $_-> ndcoords, 2, 't' )-> shape for @a; __END__ v5.32.1 2.084 1 ---> pass 2 ---> pass 3 ---> pass 4 ---> pass 5 ---> pass 6 ---> pass 7 ---> fail 8 ---> fail 1 ---> [5 2] 2 ---> [5 5 2 2] 3 ---> [5 5 5 2 2 2] 4 ---> [5 5 5 5 2 2 1 5] 5 ---> [5 5 5 5 5 2 1 5 25 125] 6 ---> [5 5 5 5 5 5 1 5 25 125 625 3125]
In reply to Re: PDL range on 4-d piddles
by Anonymous Monk
in thread PDL range on 4-d piddles
by jo37
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |