Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: RFC: PDL Cheat Sheet

by zentara (Archbishop)
on Jan 03, 2007 at 13:50 UTC ( #592761=note: print w/ replies, xml ) Need Help??


in reply to RFC: PDL Cheat Sheet

Here is an interesting tidbit for people just learning. You always want to print your piddles to see what you are doing wrong, but PDL has a limit set of 30000 elements, and if your piddles exceed that, you get the dreaded 'TOO LONG TO PRINT' error message. Fortunately the PDL modules have easy-to-override subs, so you can use this module to print any size piddle.

Include this somewhere in your PERL5LIB, and

use pdldump;

# file pdldump.pm package PDL::Core; my $max_elem = 10000000; # set your max here sub PDL::Core::string { my ( $self, $format ) = @_; if ( $PDL::_STRINGIZING ) { return "ALREADY_STRINGIZING_NO_LOOPS"; } local $PDL::_STRINGIZING = 1; my $ndims = $self->getndims; if ( $self->nelem > $max_elem ) { return "TOO LONG TO PRINT"; } if ( $ndims == 0 ) { if ( $self->badflag() and $self->isbad() ) { return "BAD"; } else { my @x = $self->at(); return ( $format ? sprintf( $format, $x[ 0 ] ) : "$x[0]" ); } } return "Null" if $self->isnull; return "Empty" if $self->isempty; # Empty piddle local $PDL::Core::sep = $PDL::use_commas ? "," : " "; local $PDL::Core::sep2 = $PDL::use_commas ? "," : ""; if ( $ndims == 1 ) { return PDL::Core::str1D( $self, $format ); } else { return PDL::Core::strND( $self, $format, 0 ); } } 1;

I'm not really a human, but I play one on earth. Cogito ergo sum a bum


Comment on Re: RFC: PDL Cheat Sheet
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://592761]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2015-07-05 10:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (61 votes), past polls