Thanks for the fix Rob. As I expected the longlong data type is generated whether or not the perl can support that type. We could fix the problem but I think the workaround is good for now and the real fix can be for PDL3 type support rather than hacking in another set of fixes to the PDL-2.x base.
--Chris On Wed, Jan 22, 2014 at 8:45 AM, <[email protected]> wrote: > > > -----Original Message----- From: Chris Marshall > >>> And the simplest demo of the error is: >>> >>> C:\>perl -MPDL -e "$x=pdl(longlong, 1);" >>> >>> Invalid type 'q' in pack at Basic/Core/Core.pm.PL (i.e. PDL::Core.pm) >>> line >>> 1318. >>> >>> The following, however, are permitted: >>> >>> C:\>perl -MPDL -le "$x=pdl(longlong, [1]);print $x" >>> [1] >>> >>> C:\>perl -MPDL -le "$x=pdl(longlong, [123456789123456784]);print $x;" >>> [1.23456789123457e+017] >> >> >> Thanks, Rob. Does Types.pm for the 32bit perl have a longlong section >> with a packstr of 'q*'? > > > Yeah - it doesn't look right. @pack certainly specifies a 'q*' for the > PDL_LL type. > There's very little difference between the 32-bit-integer Types.pm and > 64-bit-integer Types.pm. (See attached Types.diff.) > I'm also attaching the actual Types.pm for the 32-bit build of perl-5.16.0 > ... and the perl -V output of the very same perl-5.16.0 is in the attached > V.txt. > > >> In this case, it would probably be simpler to conditionalize the test and >> not use 'longlong' unless the perl has support >> for it (e.g., ivsize is 8). > > > Ok - such a fixed version of t/attribPDL.t is also attached. > > Cheers, > Rob _______________________________________________ Perldl mailing list [email protected] http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
