Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Mac to Windows Data Incompatibility

by goshawk (Initiate)
on May 21, 2013 at 19:49 UTC ( #1034591=perlquestion: print w/ replies, xml ) Need Help??
goshawk has asked for the wisdom of the Perl Monks concerning the following question:

Hello, all. I'm having an issue with a large and difficult-to-produce piddle matrix that I made on a Mac OS with 64 architecture(8-byte long), which I want to use in a perl program on a Windows OS with 64 architecture (4-byte long). If at all possible, I want to avoid recreating this data.

I want to load in a matrix, slice a row, then calculate the Pearson's correlation of that row against each other row using PDL::Stats::Basic corr. This works fine when I create a matrix in Windows and find the correlation in Windows, and it also works when I use the data I want to use to find the correlation on Mac, but not when I use data from the Mac OS in Windows. I've tried using PDL::IO::Storable and PDL::IO::Dumper. When I save/load the matrix using PDL::IO::Storable, I get this error:

Long integer size is not compatible at C:/Perl64/lib/ line +380, at line 6.
When I save/load the matrix using PDL::IO::Dumper, it loads fine, but the correlation no longer works. Here's a MWE:
# On Mac OS use PDL; use PDL::IO::Dumper; my $a = random(8,150); PDL::IO::Dumper::fdump($a, 'a.pldl'); # On Windows OS use PDL; use PDL::Stats::Basic; use PDL::IO::Dumper;` my $a = frestore('a.pldl'); my $b = $a->slice(':,3'); my $c = $a->corr($b); print $c->slice('(0)'), "\n";

This code returns '-1.#IND', which is Windows for nan. Am I getting caught by the different data sizes again?

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1034591]
Approved by MidLifeXis
Front-paged by MidLifeXis
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (7)
As of 2016-06-27 07:32 GMT
Find Nodes?
    Voting Booth?
    My preferred method of making French fries (chips) is in a ...

    Results (336 votes). Check out past polls.