Glad you got things working. The current stable release of PDL is at version 2.4.11 and has *many* bugs fixed and some nice new features as well.
You might consider trying out the latest if you get the chance. --Chris On Fri, Dec 21, 2012 at 1:45 PM, Erich Greene <[email protected]> wrote: > Hi everyone, > > I haven't tried the C solution yet, but I have gotten everything to work in > three different ways: > > 1) The standard solution, described by David Mertens: > > > $PDL::undefval = double->badvalue; > ...; > my $pdl = pdl($ref); > $pdl->badflag(1); > > 2) Chris Marshall's modification of the nan solution: > > > $PDL::undefval = 'nan'; > ...; > my $pdl = pdl($ref)->setnantobad->sever; > > 3) Not allowing the process to run multiple threads in parallel (threads as > in "use theads", not as in PDL threading). > > I hadn't expected objects-crossing-threads issues, since piddles were only > used in the threads they were created in, but in hindsight, maybe my > original pdl(0)->setbadat(0) was optimized to a constant piddle at compile > time? If so, the executing threads were effectively using a "thread 0" > object, with typically wacky results. (Though that may not explain why the > nan approach failed without the ->sever.) > > Thank you all for your time, effort, help, and thoughtful responses. Enjoy > the holidays! > > -- Erich > > P.S. My perldl -V output is: > > perlDL shell v1.354 > PDL comes with ABSOLUTELY NO WARRANTY. For details, see the file > 'COPYING' in the PDL distribution. This is free software and you > are welcome to redistribute it under certain conditions, see > the same file for details. > > Summary of my PDL configuration > > VERSION: PDL v2.4.9 (supports bad values) > > $%PDL::Config = { > 'BADVAL_PER_PDL' => '0', > 'WITH_PROJ' => '1', > 'FFTW_TYPE' => 'double', > 'FFTW_LIBS' => [ > '/lib', > '/usr/lib', > '/usr/local/lib' > ], > 'WITH_FFTW' => '0', > 'GSL_LIBS' => undef, > 'WITH_IO_BROWSER' => '1', > 'PROJ_INC' => undef, > 'WHERE_PLPLOT_INCLUDE' => undef, > 'HTML_DOCS' => '1', > 'SKIP_KNOWN_PROBLEMS' => '0', > 'WHERE_PLPLOT_LIBS' => undef, > 'WITH_3D' => '0', > 'FFTW_INC' => [ > '/usr/include/', > '/usr/local/include' > ], > 'WITH_POSIX_THREADS' => '1', > 'POGL_VERSION' => '0.63', > 'HIDE_TRYLINK' => '1', > 'WITH_HDF' => '1', > 'HDF_INC' => undef, > 'POGL_WINDOW_TYPE' => 'glut', > 'WITH_BADVAL' => '1', > 'WITH_GD' => '1', > 'FITS_LEGACY' => '1', > 'WITH_SLATEC' => '1', > 'BADVAL_USENAN' => '0', > 'WITH_DEVEL_REPL' => '1', > 'TEMPDIR' => '/tmp', > 'PROJ_LIBS' => undef, > 'USE_POGL' => '0', > 'GD_LIBS' => undef, > 'GSL_INC' => undef, > 'GD_INC' => undef, > 'WITH_GSL' => '1', > 'OPTIMIZE' => undef, > 'HDF_LIBS' => undef, > 'MALLOCDBG' => {}, > 'WITH_MINUIT' => '1', > 'WITH_PLPLOT' => '0', > 'MINUIT_LIB' => undef > }; > Summary of my perl5 (revision 5 version 14 subversion 3) configuration: > > Platform: > osname=linux, osvers=2.6.32-279.14.1.el6.x86_64, > archname=x86_64-linux-thread-multi > uname='linux buildvm-23.phx2.fedoraproject.org > 2.6.32-279.14.1.el6.x86_64 #1 smp mon oct 15 13:44:51 edt 2012 x86_64 x86_64 > x86_64 gnulinux ' > config_args='-des -Doptimize=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 > -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 > -mtune=generic -Dccdlflags=-Wl,--enable-new-dtags -DDEBUGGING=-g > -Dversion=5.14.3 -Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc > -Dcf_by=Red Hat, Inc. -Dprefix=/usr -Dvendorprefix=/usr > -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl5 > -Dsitearch=/usr/local/lib64/perl5 -Dprivlib=/usr/share/perl5 > -Dvendorlib=/usr/share/perl5/vendor_perl -Darchlib=/usr/lib64/perl5 > -Dvendorarch=/usr/lib64/perl5/vendor_perl > -Darchname=x86_64-linux-thread-multi -Dlibpth=/usr/local/lib64 /lib64 > /usr/lib64 -Duseshrplib -Dusethreads -Duseithreads > -Dusedtrace=/usr/bin/dtrace -Duselargefiles -Dd_semctl_semun -Di_db -Ui_ndbm > -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio > -Dinstallusrbinperl=n -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less > -isr -Dd_gethostent_r_proto -Ud_endhostent_r_proto -Ud_sethostent_r_proto > -Ud_endprotoent_r_proto -Ud_setprotoent_r_proto -Ud_endservent_r_proto > -Ud_setservent_r_proto -Dscriptdir=/usr/bin' > hint=recommended, useposix=true, d_sigaction=define > useithreads=define, usemultiplicity=define > useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef > use64bitint=define, use64bitall=define, uselongdouble=undef > usemymalloc=n, bincompat5005=undef > Compiler: > cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing > -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64', > optimize='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions > -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic', > cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe > -fstack-protector -I/usr/local/include' > ccversion='', gccversion='4.6.3 20120306 (Red Hat 4.6.3-2)', > gccosandvers='' > intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 > d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 > ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', > lseeksize=8 > alignbytes=8, prototype=define > Linker and Libraries: > ld='gcc', ldflags =' -fstack-protector' > libpth=/usr/local/lib64 /lib64 /usr/lib64 > libs=-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc > -lgdbm_compat > perllibs=-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc > libc=, so=so, useshrplib=true, libperl=libperl.so > gnulibc_version='2.14.90' > Dynamic Linking: > dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, > ccdlflags='-Wl,--enable-new-dtags -Wl,-rpath,/usr/lib64/perl5/CORE' > cccdlflags='-fPIC', lddlflags='-shared -O2 -g -pipe -Wall > -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector > --param=ssp-buffer-size=4 -m64 -mtune=generic' > _______________________________________________ > Perldl mailing list > [email protected] > http://mailman.jach.hawaii.edu/mailman/listinfo/perldl > _______________________________________________ Perldl mailing list [email protected] http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
