"Fossies" - the Fresh Open Source Software Archive

Member "PDL-2.080/Changes" (28 May 2022, 117997 Bytes) of package /linux/misc/PDL-2.080.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "Changes": 2.079_vs_2.080.

    1 2.080 2022-05-28
    2 - make IO::STL work on big-endian systems (#394) - thanks @sebastic for report
    3 - pp_add_macros macros now receive list of args split like C preprocessor
    4 - most of PDL::VectorValued into Primitive/Slices - thanks @moocow-the-bovine
    5 - depend on Text::Balanced 2.05, removing monkeypatch (#396)
    6 - make {w,}histogram throw error not segfault when min == max (#397) - thanks @fantasma13 for report
    7 
    8 2.079 2022-05-03
    9 - move Math::badmask to Bad
   10 - PDL.propagate_badflag propagates both to parents AND children, sets flag itself
   11 - Ops::assgn now propagates its badflag without needing to set output badflag
   12 - remove FindBadStatusCode
   13 - remove redundant use of CopyBadStatusCode
   14 - PDL.null deprecated, doesn't allocate pdl.sv now
   15 - PDL::Dataflow doc updated
   16 - add TriD::trigrid3d
   17 - add PDL::IO::STL
   18 - replace *_RECURSE_GUARD macros which use process-global variable, causing problems if multi-thread, with stack parameters - thanks @marioroy for report
   19 - add Primitive::{cmp,eq}vec
   20 - add Image2D::crop
   21 - PP typemap-search includes dirs above
   22 
   23 2.078 2022-04-10
   24 - Ops::atan2 etc have default swap param
   25 - fix Transform::Cartography::t_carree spelling (compat alias created)
   26 - add Transform::Cartography::t_raster2{fits,float}
   27 - Transform::inverse on transform without an inverse now fatal error
   28 - fix Transform::t_fits bug which ignored ignore_rgb for making inverse
   29 - TriD::GL now more resilient and exceptions don't leave GL broken
   30 - add Transform::Cartography::earth_shape
   31 - back-port Text::Balanced fixes to improve NiceSlice (#383)
   32 - fix long-standing "harmful" scaling of output with dim 1 (#392)
   33 - fix segfault bug for Ufunc::{odd,}{pct,med}over with empty - thanks @nerdstrike for report
   34 - struct pdl add "value" field for data that fits there, avoiding separate memory-management (#358)
   35 - copy over the sensible method-name aliases for PDL::Complex from PDL::LinearAlgebra
   36 
   37 2.077 2022-03-16
   38 - Ufunc::{min,max}over{,_ind} behaviour for NaNs fixed to match docs
   39 - Ufunc::{min,max}over_n_ind can handle badvals
   40 - single badval as boolean is now an error (#388)
   41 - IO::FlexRaw::readflex can take last dim as undef (#322)
   42 - add IO::(Fast|Flex)Raw::glue\L\1 (#322)
   43 - PDL::Demos::Routines replaced with PDL::Demos, update demos (#42)
   44 - switch pdl_destroy to use mg_free not SvOBJECT_off, needed by Perl ithreads (#385)
   45 - implement Ctrl-C handling in perldl (#269)
   46 - add with_time command to shells
   47 - fix shell history getting lost if OpenGL loaded before listed (#337)
   48 - fix TriD objects being off-centre (#337)
   49 - fix Primitive::which_both docs to match behaviour
   50 - add Primitive::where_both
   51 - PP now checks data pointers for NULL if nvals > 0 except in RedoDimsCode
   52 - add Core::dup{,N}
   53 
   54 2.076 2022-02-25
   55 - fix long-standing bug in dice that broke with PDL subclasses (#363)
   56 - remove docs for {type,map}fld
   57 - splitdim throws exception if non-divisible nsp given, can give negative dim
   58 - changed matmult tilesize from 64 to 8*sizeof(double)/sizeof(gentype) - performance increases 50%, comparable to reference LAPACK
   59 - fix NiceSlice regression - thanks @fantasma13 for report
   60 
   61 2.075 2022-02-19
   62 - fix false-positive heredoc in bitshift (#383) - thanks @d-lamb for report
   63 - threading now called broadcasting (compat aliases created)
   64 - fix 2.057_01 regression in {broadcast,thread}_define - thanks @eserte for report
   65 - fix regression of append allowing type upgrade to second argument's type
   66 - add empty() function
   67 - fix when readdata functions return error (#356)
   68 - RedoDimsCode can now use $SIZE(other_index) (#386)
   69 
   70 2.074 2022-02-08
   71 - fix PDL::Complex->null stringify error
   72 
   73 2.073 2022-02-07
   74 - PDL::Complex no longer undefs PDL::i
   75 - passing null as input param now an error
   76 - can now unify Code and BadCode into Code, and use PDL_IF_BAD() or #ifdef PDL_BAD_CODE
   77 - add macros PDL_IF_GENTYPE_{REAL,INTEGER,UNSIGNED}(iftrue,iffalse) in Code
   78 - fix IO::IDL (#381) - thanks @YuryPakhomov for report and test data
   79 - fix [t] Pars with multi-thread; now cannot be passed as params (#382) - thanks @d-lamb for report
   80 
   81 2.072 2022-01-30
   82 - fix bug in qsortveci that broke PDL::VectorValued - thanks @zmughal for report
   83 
   84 2.071 2022-01-29
   85 - fix segfault bug in qsortvec - thanks @zmughal for investigation and report
   86 
   87 2.070 2022-01-28
   88 - add GIS::Proj::proj_version
   89 - fix Transform::Proj4 tests to work with ortho results in PROJ >6.3.1 (assumed 8+)
   90 
   91 2.069 2022-01-28
   92 - PDL::NiceSlice override Text::Balanced::extract_multiple for performance
   93 
   94 2.068_07 2022-01-28
   95 - fix PDL::new bug in creating longlong (#378) - thanks @zmughal
   96 
   97 2.068_06 2022-01-25
   98 - fix PDL::new bug in creating longdouble (#374) - thanks @zmughal
   99 
  100 2.068_05 2022-01-23
  101 - build and test-false-negative-avoidance improvements
  102 
  103 2.068_04 2022-01-22
  104 - fix bug in memory allocation revealed on 32-bit
  105 
  106 2.068_03 2022-01-20
  107 - improve GSL version parsing - thanks @d-lamb
  108 - Slatec to work again with 32-bit pointer size
  109 - got_complex_version to check for long-double version to reduce build fails
  110 
  111 2.068_02 2022-01-17
  112 - Slatec 64-bit safe
  113 
  114 2.068_01 2022-01-16
  115 - Minuit 64-bit safe
  116 - Slatec 64-bit improvements
  117 - fix IO::FITS::rfits with variable-length data to work on bigendian
  118 
  119 2.068 2022-01-14
  120 - add pdl.nbytes
  121 - specify SByte as explicitly "signed" as C99 allows unsigned if not say
  122 
  123 2.067 2022-01-13
  124 - remove PDL.grow from API
  125 - remove $PDL::BIGPDL check for 1GB data
  126 - fix 2.064 regression in $pdl->sequence - thanks @moocow-the-bovine
  127 - PDL_CORE_VERSION 20
  128 
  129 2.066 2022-01-10
  130 - re-release without erroneous OpenGL::GLUT requires dep
  131 
  132 2.065 2022-01-10
  133 - switch TriD stuff to use OpenGL::GLUT for GLUT functionality
  134 - GLUT TriD now reopens the window on next draw if was closed
  135 - bifuncs like Ops::plus no longer need explicit swap parameter
  136 - add C "PDL_Value" union type
  137 - replace Convert::UU as dep with own code - thanks @sebastic for suggestion
  138 
  139 2.064 2022-01-08
  140 - enable perldl -glut on Win32
  141 
  142 2.063_05 2022-01-08
  143 - rename PDL::get_trans to trans_parent
  144 - add PDL::Trans::{parents,children}
  145 - rename pdl.child_transes to trans_children, add PDL::trans_children
  146 
  147 2.063_04 2022-01-07
  148 - pdlpp_mkgen runs .pd files in correct dir
  149 - PDL.changesoon removed
  150 - longlong default bad value now LLONG_MIN
  151 - add signed byte (SB), unsigned long (UL) and longlong (ULL)
  152 - add Bad::locf - thanks @kmx
  153 - fix qsortvec* with bad values - thanks @d-lamb for report
  154 - hook @drzowie-created RICE_1 compression up to wfits
  155 - PDL::FFT now thread- and 64-bit-safe
  156 - sclr to croak if called on multi-element array
  157 - $TXYZ() macros fatal error if any of trans's GenericTypes not dealt with
  158 - add long double both real (LD) and complex (CLD)
  159 - NiceSlice uses the better Filter::Simple version as is now quick
  160 - IO::Pic::wpic assume PBM can do 16-bits per sample as exists since 2003
  161 - added PDL::Graphics, an overview of modules - thanks @mascip
  162 - add Type::bswap
  163 - IO::Pnm::{r,w}pnm can work on open file-handle
  164 - IO::Pic::rmpeg added
  165 - IO::Pic::rpic will return an n+1-dim ndarray if multiple images in file
  166 - set_datatype (and PDL.converttype) now badval-aware
  167 - add dependency on File::Which - thanks @zmughal
  168 - pp_addpm automatically adds line-number from .pd to aid debugging
  169 - PDL_Indx now a C ptrdiff_t, PDL_*Long now C {,u}int{32,64}_t to simplify config
  170 - xvals etc now return at least a double
  171 - Primitive::{fibonacci,axisvalues} not output-only but can work inplace
  172 
  173 2.063_03 2021-12-23
  174 - add pp_add_macros
  175 
  176 2.063_02 2021-12-23
  177 - add PDL.scalar
  178 - add dummy pdl_pthread_main_thread for when no POSIX threads
  179 - PDL.pdlnew to make a null pdl except not ALLOCATED
  180 - stopped disabling pthreads on BSD
  181 
  182 2.063_01 2021-12-21
  183 - define, use PDL_REPRINCS
  184 - PDL.{pdlnew,null,get_thread{dims,offsp{,_int}}} return NULL on error, not croak
  185 - PDL.{trans_check_pdls,barf_if_error,error_accumulate}
  186 - PDL.{magic_get_thread,{start,iter}threadloop} return -1 not die
  187 - PDL.sever returns pdl_error not pdl * (Perl interface stays same)
  188 - ANYVAL_ISBAD interface change
  189 - fix ->at with pdl having non-default badvalue
  190 - macro args can contain () eg $CROAK("%d", $SIZE(n))
  191 - remove Slices::flowconvert
  192 - PDL_ISBAD macro
  193 - bad values of NaN now work right with $ISBAD() etc
  194 - rename PDL.slice_args_parse to slice_args_parse_sv
  195 - stop redodims leaking memory
  196 - remove PDL.{dim_checks,get,put_offs} from Core
  197 - rename PDL.children_changesoon to changesoon
  198 - GIS::Proj inplace funcs set output bad if any input bad
  199 - switched GIS::Proj to PROJ 6 API
  200 - PDL.make_error{,_simple} for error-handling instead of croak et al - can't just return as generated functions no longer return void
  201 - remove PDL.vaffinechanged
  202 - fix zeroes() regression from 2.057_01 where zeroes($byte_pdl) would give double
  203 - make PDL::Compression functions thread-safe
  204 - remove Core::set_dataflow_b
  205 - PDL.affine_new to take PDL_Indx* not SV*
  206 - PDL_CORE_VERSION 19
  207 
  208 2.063 2021-11-19
  209 - PDL::Core::seed - thanks @zmughal
  210 
  211 2.062 2021-11-19
  212 - Primitive::srand() added, random() calls if not done yet - thanks @whumann for report
  213 - Primitive::random() et al to use xoroshiro256plus instead of Perl's rand()
  214 - Primitive::random() et al able to pthread
  215 
  216 2.061 2021-11-11
  217 - native-complex ->re and ->im methods do two-way dataflow
  218 - fix pp_line_numbers change not being done right for .pm
  219 
  220 2.060 2021-11-08
  221 - work around more recent GCC not tgmath-ing log10 for complex
  222 
  223 2.059 2021-11-08
  224 - removed supplied Cephes functions that C99 mandates
  225 - Ops,Math to use tgmath.h not own $T() stuff
  226 - MatrixOps switch from bespoke SSLib complex to C99 native complex
  227 - Core::online_cpus, used to set_autopthread_targ if no env var set
  228 
  229 2.058 2021-11-06
  230 - no changes from 2.057_05
  231 
  232 2.057_05 2021-11-06
  233 - (DO{COMP,PRIV})DIMS -> more-accurate ${1}ALLOC
  234 - stop Pars or OtherPars called "I" - thanks Judd Taylor for report
  235 - pp_line_numbers restores line numbering after end of given text
  236 - allow "CTYPE var[]" as OtherPars, add T_PDL_DIMLIST to typemap
  237 - pnminraw etc to take $filehandle not just name of glob
  238 
  239 2.057_04 2021-10-12
  240 - remove legacy pdl_create
  241 - remove long-deprecated nslice
  242 - multi-C only updates files that have changed, for faster rebuilds
  243 - because OtherPars are now in a separate struct, no restriction on names
  244 - mslice is just an alias to Slices::slice
  245 - allow any pointer including pdl * as OtherPars
  246 
  247 2.057_03 2021-10-02
  248 - remove IO::Misc::rdsa, untested since PDL 1.9 and needing non-CPAN "DSA" module
  249 - throw error when XS called with inplace input but also explicit output
  250 - OtherPars to separate struct; pdl_transvtable.structsize of that
  251 - allow external .pd to opt-in to one-C-file-per-function
  252 
  253 2.057_02 2021-09-26
  254 - split internal .pd into one C file per pp_def function allowing parallel build
  255 - tidy various modules so they don't get symbol clashes from that
  256 
  257 2.057_01 2021-09-24
  258 - fix pp_add_boot to remove any blank lines (such as added by pp_line_numbers)
  259 - GSL::CDF now uses barf() on error, not GSL default of core-dump
  260 - propagate_badflag only recurses with children that had different value
  261 - Example/doc-pp script to use GraphViz2 to show pp_def key dependencies
  262 - affineinternal only read/write when both parent & child physical
  263 - allow zero-length ndarray as slice index even for length-1 dim - thanks @trevcs for report (SF#443, GH#229)
  264 - replace some malloc/free with smalloc to not leak on exception
  265 - replace whole genpp infrastructure with generated C macro
  266 - remove Core.twod, requires recompile
  267 - remove PDL::iscontig
  268 - move all non-SV-using C out of Core.xs to C files
  269 - remove unused pdl_{copy,unpackdims} including from Core struct
  270 - move extra checks and functionality from Core.xs setdims into pdl_setdims, call that
  271 - fix off-by-one error in nthreadids
  272 - pthreading can be over non-divisible number of threads
  273 - remove Core.qsort_*
  274 - zeroes now quicker as only does memset, not assgn operation
  275 - add $PPSYM()
  276 - change API of PDL->converttype to remove obsolete flag
  277 - remove unused "copy" mechanism for pdl_trans
  278 - rename (struct pdl).trans -> trans_parent for comprehensibility
  279 - now an error if CopyBadStatusCode uses $PRIV(bvalflag)
  280 - fix setnantobad doc to match behaviour fixed in 2.040, add setnonfinitetobad
  281 - Inplace now throws error for >2 elements in array-ref
  282 - remove oslice (after 8 years) and never-used Slices::{s_,}identity
  283 - all PDL operations now have a C function interface called pdl_(name)_run
  284 - add setinftobad - thanks @alex-prusevich for suggestion
  285 - PDL_CORE_VERSION 18
  286 
  287 2.057 2021-08-13
  288 - restore PDL_MAGIC_DELETEDATA mechanism
  289 - PDL_CORE_VERSION 17
  290 
  291 2.056 2021-08-08
  292 - remove (very-)long-deprecated mmap code in favour of File::Map
  293 - remove obsolete Core members, update Core version
  294 - remove unnecessary Core members to reduce struct size and increase cacheability
  295 - removed legacy mmap implementation including PDL_MAGIC_DELETEDATA mechanism
  296 - remove PDL::Constants::{I,J} which returned a PDL::Complex - use PDL::i()
  297 - n{good,bad}over, sum, prod, *pct, etc now return ndarrays not Perl values
  298 - make PDL::IO::FastRaw::mapfraw not allocate RAM
  299 - PDL_CORE_VERSION 16
  300 
  301 2.055 2021-08-03
  302 - officially deprecate PDL::Complex in favour of "native complex" - thanks @wlmb for suggestion
  303 - throw exception for [phys] Pars with multi-used, non-matching dim of 1 instead of silent repeat
  304 
  305 2.054 2021-07-26
  306 - add PDL::Core::at_c as back-compat alias for at_bad_c
  307 
  308 2.053 2021-07-26
  309 - work around P:G:Limits::round_pow failing tests with uselongdouble
  310 
  311 2.052 2021-07-04
  312 - fix IO::Storable bug - thanks @viy2 for report
  313 - add PDL::Opt::Simplex example - thanks @ewheelerinc
  314 - allow POD in pp_line_numbers again - thanks @fantasma13 for report
  315 
  316 2.051 2021-06-14
  317 - also use $Config{cppflags} to find GD includes - thanks @d-lamb for report
  318 
  319 2.050 2021-06-02
  320 - fix pdlperl.h build bug - thanks @jplesnik for report
  321 
  322 2.049 2021-05-31
  323 - PDL::Complex->from_native / as_native
  324 - zap obsolete MatrixOps::eigen_c
  325 - MatrixOps::identity now preserves higher dims on multi-dim input
  326 - copy now copies ndarray and leaves original ndarray's inplace alone
  327 - MatrixOps::lu_decomp now preserves inplace flag on input
  328 - MatrixOps::lu_backsub now gets output dims right including inplace - thanks @wlmb for report
  329 
  330 2.048 2021-05-24
  331 - remove obsolete and inaccurate doc relating bad values to NaN
  332 - parse simple complex-number strings
  333 - SvPDLV gives more comprehensible error if given a hash without "PDL" key
  334 - drop SKIP_KNOWN_PROBLEMS support
  335 - drop POGL_VERSION, USE_POGL, WITH_3D config; just try building
  336 - Inline now not a dep but if installed gets updated to suitable version
  337 - drop WITH_SLATEC config; just try building
  338 - new pdlperl.h for Perl-specific functions/macros
  339 - $PDL::undefval can be ndarray
  340 - replace PDL::Complex stringification with native-complex version
  341 - overloading now done in PDL::Ops/Primitive where functions defined
  342 - overloading honours subclass methods
  343 
  344 2.047 2021-05-08
  345 - add PDL::i2C
  346 - replace creal, cimag with re, im, for easier PDL::Complex -> native transition
  347 - change default r2C and i2C input types to D from F
  348 - add czip($re, $im) -> native complex
  349 - i() as function (not constant) like nan()
  350 - ci() removed
  351 - add abs2
  352 - re, im not exported due to clash with Test::Deep
  353 
  354 2.046 2021-05-04
  355 - pdl([native-complex]) now creates a native-complex ndarray
  356 - sumover/prodover now also process native complex
  357 
  358 2.045 2021-05-03
  359 - PDL::r2C able to take simple numbers
  360 - comparing PDL::Complex other than for equality now a fatal error, can == with real
  361 - same comparison change in native complex
  362 - PDL::Complex slices that affect 0-th dim get re-blessed as PDL
  363 - PDL::Complex can assign real values and threading won't also assign to imag
  364 - PDL::Constants only loads PDL::Complex on demand
  365 
  366 2.044 2021-05-01
  367 - fix a definite malloc error that may be what started build failures on 32-bit
  368 
  369 2.043 2021-04-30
  370 - fix case-sensitivity issue for earlier Perls in stringifying "NaN" - thanks @zmughal
  371 
  372 2.042 2021-04-30
  373 - ones, zeroes can be called with no args, returns zero-dims ndarray
  374 - add nan() and inf() that behave similarly to ones, mutatum mutandis
  375 
  376 2.041 2021-04-30
  377 - at least GCC 4.8.5 needs loop var declared first
  378 - can now use Inline "with" PDL in languages other than C
  379 - ipow second param is "indx" so specify
  380 - ipow only operate on floating-point types
  381 
  382 2.040_02 2021-04-29
  383 - build fixes plus make LINALG work on 32-bit
  384 - update metadata to correct List::Util version dep
  385 
  386 2.040_01 2021-04-28
  387 - all C dimension- and threadid-related things now typed PDL_Indx
  388 - PDL_CORE_VERSION 15
  389 
  390 2.040 2021-04-27
  391 - PDL_CORE_VERSION 14 for Core struct updates
  392 - drop unused dep Module::Compile
  393 - switch from List::MoreUtils to List::Util to reduce deps
  394 - bad value per-PDL support now always present, not configurable
  395 - use C99 isnan() to check for NaN, not isfinite(); complex if either are NaN
  396 - the above (this note added post facto) changes setnantobad's behaviour to match function name
  397 - can use NaN as badvalue for all floating-point types
  398 - BADVAL_USENAN configuration option removed
  399 - remove checks for _MSC_VER < 1400 as native complex req renders irrelevant
  400 - add $type->floatsuffix for more generalisation
  401 - all pdl.h type code generated from type objects to ease adding new types
  402 - all suitable PDL::Primitive functions support native complex
  403 - add PDL::GSL::LINALG - linear algebra routines from GSL
  404 
  405 2.039 2021-04-24
  406 - update lu_backsub docs with comparison to other linear algebra code
  407 - fix "complex" type-qualifier bug affecting native-complex r2C
  408 - add core pdl_at0
  409 - Core.xs:set_c, badvalue now able to take a PDL object not just Perl scalar
  410 - can construct a PDL object with Math::Complex objects
  411 - fix cfloat-comparison that was breaking badval detection in complex types
  412 - add $type->isnan('c expression')
  413 - badvalue doesn't force return values to be Perl scalar but PDL object
  414 - native complex values get Perl-ised into PDL::Complex::Overloads objects not strings
  415 
  416 2.038 2021-04-19
  417 - make pdlpp_postamble 4th arg be XS subs destination
  418 - Inline::Pdlpp can take package param to put XS subs into
  419 - incorporated GSL CDF functions out of PDL::Stats - thanks @maggiexyz!
  420 
  421 2.037 2021-04-16
  422 - switch obsolete finite() to C99 isfinite()
  423 - add ppdefs_all
  424 - make PDL::Types::ppdefs only return non-complex types for back-compat
  425 
  426 2.036 2021-04-16
  427 - fix t/gis_proj.t
  428 
  429 2.035 2021-04-15
  430 - bad value support now always present, not configurable
  431 - pthread detection simplified, now enabled for Windows and MacOS
  432 - remove check in build for ~/.perldl.conf
  433 - remove TEMPDIR config - all now use File::Temp
  434 - remove unnecessary PDL::Version (just "require PDL")
  435 - relocate tests to beside what's tested (helps with any split)
  436 - incorporate patches from downstream OpenSUSE - thanks @perlpunk
  437 - add ppdefs_complex
  438 
  439 2.034 2021-03-31
  440 - add "complex" Pars type qualifier, r2C function
  441 
  442 2.033 2021-03-30
  443 - native complex documented better - thanks @fantasma13
  444 - add "real" Pars type qualifier
  445 
  446 2.032 2021-03-24
  447 - fix t/pptest.t so it passes on 5.10, add VERSION_FROM to pdlpp_stdargs
  448 
  449 2.031 2021-03-23
  450 - pp_setversion preserves version as string, handling quote characters
  451 
  452 2.030 2021-03-21
  453 - PDL::Types now have the data to make PDL::Type::real etc operate
  454 - pp_setversion treats (and preserves) version as string
  455 
  456 2.029 2021-03-12
  457 - no changes from 2.028_01
  458 
  459 2.028_01 2021-03-08
  460 - stop claiming packages C::StructObj C::StructType C::Type C::Var SymTab Win32::DDE::Netscape XS
  461 - incorporate relevant improvements made in PDLA distros
  462 - fix t/nat_complex.t to avoid glibc bug 18594 (fixed v2.22)
  463 
  464 2.028 2021-03-07
  465 - correct complex-maths functions for their C types
  466 - fix MOD-problem-dodging logic for native complex
  467 
  468 2.027 2021-03-06
  469 - no changes from 2.026_04
  470 
  471 2.026_04 2021-03-02
  472 - define and use C macros in PP for shorter, more comprehensible XS
  473 
  474 2.026_03 2021-02-28
  475 - got_complex_version change to defeat FreeBSD 10 false positive for complex funcs
  476 - trig functions like asin($perl_scalar) return NaN for >1 again
  477 
  478 2.026_02 2021-02-25
  479 - implement PDL::Type::real etc
  480 - native complex numbers need check_lib as FreeBSD <10 has no complex trig
  481 
  482 2.026_01 2021-02-19
  483 - native support for complex numbers - thanks @fantasma13
  484 
  485 2.026 2021-02-13
  486 - fix GSL build errors, improve docs - thanks @d-lamb
  487 - rfits properly treats BLANK in rice-compressed - thanks @d-lamb
  488 - added Floyd-Warshall example to MATLAB comparison doc
  489 
  490 2.025 2020-11-19
  491 - fix spellings - thanks @sebastic
  492 
  493 2.024 2020-09-17
  494 - use CCCDLFLAGS for compile of pdl.c to include -fPIC where needed - thanks @newville
  495 
  496 2.023 2020-09-14
  497 - Remove extrapolation code from PDL::GSL::INTERP. - thanks @d-lamb
  498 
  499 2.022 2020-09-06
  500 - Fix wfits so that explicitly setting BITPIX works. - thanks @d-lamb
  501 - add PDL::IO::Pic::imageformat - thanks @wlmb
  502 
  503 2.021 2020-03-01
  504 - fix pdlpp_postamble - thanks @sebastic
  505 
  506 2.020_05 2019-12-29
  507 - fix t/pgplot.t
  508 
  509 2.020_04 2019-12-28
  510 - more diagnostic info for PGPLOT / F77
  511 
  512 2.020_03 2019-12-26
  513 - PGPLOT test to check $DISPLAY first
  514 - CallExt test to use abs path because of recent MacOS change
  515 
  516 2.020_02 2019-12-17
  517 - spelling fixes - thanks @sebastic
  518 
  519 2.020_01 2019-12-12
  520 - merge the documentation system updates - thanks @d-lamb
  521 
  522 2.020 2019-12-12
  523 - no changes from 2.019_06
  524 
  525 2.019_06 2019-12-08
  526 - PGPLOT stop accidentally finding own PGPLOT.pm from . in @INC - was loading installed %PDL::Config into Makefile.PL process
  527 
  528 2.019_05 2019-12-02
  529 - calloc->malloc+memset, as calloc on Win32 = "free to wrong pool"
  530 - memset after malloc in pdlapi.c
  531 
  532 2.019_04 2019-11-27
  533 - fix PdlParObj.pm excessive pp_line_numbers
  534 
  535 2.019_03 2019-11-25
  536 
  537 - t/config.t stop specifying number of %Config keys
  538 - update Inline dep for ILSM-finding bug
  539 - use pp_line_numbers in PP.pm and ops.pd
  540 - use calloc not malloc to reduce valgrind errors in ufunc.t
  541 
  542 2.019_02 2019-11-19
  543 
  544 - fix t/fits.t tempfiles use
  545 - _oneliner to use EU::MM right
  546 
  547 2.019_01 2019-11-10
  548 
  549 - Honor LDFLAGS when building pdl - thanks @wiz-0
  550 - build works even without Devel::CheckLib
  551 - race condition in tests fixed to allow parallel tests
  552 - fix spelling errors - thanks @sebastic
  553 - Fix tilde expansion tests when non-existent $HOME - thanks @sebastic
  554 - zap inc/Carp - fix #94
  555 - update doc URLs, and docs - thanks @d-lamb
  556 - replace all non-sort, non-ppdef-doc $a/$b in codebase - thanks @d-lamb
  557 - Clean up PDL::Fit::Gaussian docs and tests - thanks @d-lamb
  558 - badval fixes on systems with only unsigned chars - thanks @d-lamb
  559 - fix segfault in some uses of PDL::Transform::map - thanks @d-lamb
  560 - Improve compatibility with Perl's experimental 'bitwise' feature - thanks sprout@cpan.org
  561 - RedoDims fix - thanks @drzowie
  562 - range speedup - thanks @drzowie
  563 - PDL::Lite fixes to bug that broke Test::PDL
  564 - propagation of badflag with .= - thanks @hainest
  565 - doc-building fixes for Windows
  566 - quote-protect rpic/wpic commands
  567 - test-coverage now available for XS files too
  568 - Only build PDL::Graphics::PGPLOT if PGPLOT installed
  569 - better vsearch_* docs - thanks @zmughal
  570 - PDL::Complex doc and code fixes, tests, and improvements - thanks @d-lamb
  571 
  572 v2.019 2018-05-05 16:42:44-04:00
  573 
  574 General Notes:
  575 
  576  * This is version 2.019 of the Perl Data Language.
  577 
  578  * It is a the first official release of PDL initiating
  579    the development and release moving from sourceforge
  580    to github hosting.
  581 
  582  Highlights:
  583 
  584  * cat returns an ndarray of the highest input type, not
  585    the first.
  586 
  587  * The 'thresh' options in fitwarp2d has been removed.
  588 
  589  * rfits/wfits now do tilde filename expansion.
  590 
  591  * det in MatrixOps now uses the cached lu_decomp
  592    value correctly.
  593 
  594  * Multiple minor fixes, docs, cleanup, and changing
  595    things to point to github away from sf.net.
  596 
  597 v2.018_02 2018-04-28 13:46:27-04:00
  598 
  599 General Notes:
  600 
  601  * This is version 2.018_02 of the Perl Data Language.
  602 
  603  * It is a the release candidate for the PDL-2.019
  604    release which marks the move of PDL development
  605    from sf.net to github.
  606 
  607  Highlights:
  608 
  609  * Various updates to redirect links and documentation refs
  610    to the github ones.
  611 
  612  * Various fixes over the past year since PDL-2.018 release
  613    which will be documented at the next official PDL release.
  614 
  615 
  616 
  617 v2.018_01 2018-04-13 09:56:56-04:00
  618 
  619 General Notes:
  620 
  621  * This is version 2.018_01 of the Perl Data Language.
  622 
  623  * It is a transition developers release for the move of
  624    PDL development from sf.net to github.
  625 
  626  Highlights:
  627 
  628  * Various updates to redirect links and documentation refs
  629    to the github ones.
  630 
  631  * Various fixes over the past year since PDL-2.018 release
  632    which will be documented at the next official PDL release.
  633 
  634 
  635 
  636 v2.018 2017-05-21 17:02:03-04:00
  637 
  638 General Notes:
  639 
  640  * This is version 2.018 of the Perl Data Language.
  641 
  642  Highlights:
  643 
  644  * SF.net Bugs fixed:
  645  
  646      429   Alien::Proj4->load_projection_information parses PJ_sch parameters incorrectly
  647      432   Work around List::MoreUtils bug t/gd_oo_test.t started failing in testers.
  648      433   GSL SF errors kill perl and pdl2/perldl shell
  649      434   Missing indx type in heading list of conversions.
  650  
  651  * Build improvements:
  652      
  653      - Add requirements and better test diags for PDL::IO::GD.
  654  
  655      - Apppy patch so PDL::Lite can be used more than once
  656        Thanks to Shawn Laffan for the patch.
  657  
  658      - Fix build on perl <= 5.14 by adding ExtUtils::ParseXS to
  659        CONFIGURE_REQUIRES.
  660      
  661      - Make coretarget generate parallelisable make deps Make
  662        "core" target be generated by separate function
  663  
  664      - Fixes for coming removal of . from @INC for PDL build.
  665        Thanks to Todd Rinaldo for the first patch and raising the issue.
  666  
  667  * Various updates to the documentation.
  668 
  669 
  670 
  671 v2.017_02 2017-05-18 17:33:55-04:00
  672 
  673 General Notes:
  674 
  675  * This is version 2.017_02 of the Perl Data Language,
  676    and essentially PDL 2.018 release candidate 1.  If
  677    it tests ok we expect to release it as PDL 2.018 this
  678    weekend.
  679 
  680  Highlights:
  681 
  682  * Fix problem where PDL::Lite could not be loaded more
  683    than once. (Thanks to Shawn Laffan)
  684 
  685  * Fix sf.net bug #429 with poor generation of documentation.
  686 
  687  * Fix sf.net bug #433 where errors in GSL routines caused
  688    perl to exit.
  689 
  690  * Build enhancements for PDL::IO::GD to improve test
  691    diagnostic messages and add List::MoreUtils as a
  692    dependency for PDL.
  693  
  694  * Better docs and explanation of indx datatype.
  695    This closes sf.net bug #434.
  696 
  697  * Add some missing modules to DEPENDENCIES (thanks
  698    to Luis Mochan).
  699 
  700 
  701 
  702 v2.017_01 2017-04-29 11:39:22-04:00
  703 
  704 General Notes:
  705 
  706  * This is version 2.017_01 of the Perl Data Language,
  707 
  708  * Addresses some problems from changes in the perl
  709    infrastructure that are or will break things in PDL.
  710 
  711  Highlights:
  712 
  713  * Handle coming removal of '.' from @INC
  714 
  715  * Fix sf bug #432:  Work around List::MoreUtils bug
  716    This was causing a lot of PDL test failures.
  717 
  718  * Fix build problem on perl <= 5.14
  719 
  720 
  721 
  722 v2.017 2016-10-08 13:50:39-04:00
  723 
  724 General Notes:
  725 
  726  * This is version 2.017 of the Perl Data Language,
  727 
  728  * Bugs fixed:
  729 
  730     379   Passing qsort an extra argument causes a segfault
  731     393	  Tests may fail if perl is compiled with -Duselongdouble
  732     409	  PDL demos with PGPLOT display ignore $ENV{PGPLOT_DEV}
  733     413   PDL::Core::Dev::pdlpp_postamble() cannot handle .pd files in subdirectories
  734     419   t/#pdl_from_string.t fails on long double systems
  735     421	  PDL::IO::FITS can't handle 64-bit integers (longlong, indx)
  736     422	  PDL misc. compiler warnings.
  737     423	  wcols FORMAT option always incorrectly gives error
  738     424	  Calling PDL on a list of ndarrays fails to propogate bad values
  739     425	  svd is broken for everything but 2x2 matrices
  740     ---	  Typo in PDL::GSLSF::COUPLING routine gsl_sf_coupling_6j
  741 
  742 
  743  Highlights:
  744 
  745  * Several patches contributed from the Debian team have been applied
  746    that fix documentation spelling errors, make PDL builds more
  747    reproducible, and will make packaging PDL easier.
  748 
  749  * More helpful error message when multi-element PDL is used in
  750    a boolean expression (feature request #84)
  751 
  752  * Improve argument size handling and documentation for rle
  753    (feature request #80)
  754 
  755  * One can now use $pdlc = pdl($pdla,$pdlb) when $pdla and/or $pdlb
  756    have BAD values and the BAD values will propagate to
  757    $pdlc. Previously this would only work with a copy of a single
  758    ndarray (e.g., $pdlc = pdl($pdla) ) or with 'cat'.
  759 
  760  * Many changes have been made to make PDL compile more cleanly and
  761    emit fewer compiler warnings.
  762 
  763  * Quiet printf format warning for sizeof()
  764 
  765  * Deprecate finite in favor of isfinite.
  766 
  767  * Many cleanups and additions to the test suite to use Test::More
  768    and to add meaningful test descriptions.
  769 
  770  * Added subtests to primitive.t
  771  
  772  * Add PDL::Doc::add_module to pdlpp_postamble
  773 
  774 
  775 
  776 v2.016_91 2016-10-03 14:03:19-04:00
  777 
  778 General Notes:
  779 
  780  * This is version 2.016_13 of the Perl Data Language,
  781    a.k.a. PDL-2.017 release candidate 1.
  782 
  783  * All but release notes and announcement done...
  784 
  785  Highlights:
  786 
  787  * Added subtests to primitive.t
  788 
  789  * Quiet printf format warning for sizeof()
  790 
  791 
  792 
  793 v2.016_03 2016-10-01 17:51:40-04:00
  794 
  795 General Notes:
  796 
  797  * This is version 2.016_03 of the Perl Data Language.
  798 
  799  Highlights:
  800 
  801  * Bugs fixed:
  802     413   PDL::Core::Dev::pdlpp_postamble() cannot handle .pd files in subdirectories
  803     419   t/#pdl_from_string.t fails on long double systems
  804 
  805   * More helpful error message when multi-element PDL is used in
  806     a boolean expression (feature request #84)
  807 
  808   * Improve argument size handling and documentation for rle
  809     (feature request #80)
  810 
  811 
  812 
  813 v2.016_02 2016-09-21 13:42:15-04:00
  814 
  815 General Notes:
  816 
  817  * This is version 2.016_02 of the Perl Data Language.
  818 
  819  * Bugs fixed:
  820     379   Passing qsort an extra argument causes a segfault
  821     393	  Tests may fail if perl is compiled with -Duselongdouble
  822     409	  PDL demos with PGPLOT display ignore $ENV{PGPLOT_DEV}
  823     421	  PDL::IO::FITS can't handle 64-bit integers (longlong, indx)
  824     422	  PDL misc. compiler warnings.
  825     423	  wcols FORMAT option always incorrectly gives error
  826     424	  Calling PDL on a list of ndarrays fails to propogate bad values
  827     425	  svd is broken for everything but 2x2 matrices
  828     ---	  Typo in PDL::GSLSF::COUPLING routine gsl_sf_coupling_6j
  829 
  830  Highlights:
  831 
  832   * One can now use $pdlc = pdl($pdla,$pdlb) when $pdla and/or $pdlb
  833     have BAD values and the BAD values will propagate to
  834     $pdlc. Previously this would only work with a copy of a single
  835     ndarray (e.g., $pdlc = pdl($pdla) ) or with 'cat'.
  836 
  837   * Many changes have been made to make PDL compile more cleanly and
  838     emit fewer compiler warnings.
  839 
  840   * Many cleanups and additions to the test suite to use Test::More
  841     and to add meaningful test descriptions.
  842 
  843   * Several patches contributed from the Debian team have been applied
  844     that fix documentation spelling errors, make PDL builds more
  845     reproducible, and will make packaging PDL easier.
  846 
  847 
  848 
  849 v2.016_01 2016-06-01 13:01:55-04:00
  850 
  851 General Notes:
  852 
  853  * This is version 2.016_01 of the Perl Data Language.
  854  
  855 
  856  Highlights:
  857 
  858   * Add PDL::Doc::add_module to pdlpp_postamble
  859 
  860   * Deprecate finite in favor of isfinite.
  861 
  862 
  863 
  864 v2.016 2016-05-30 10:22:04-04:00
  865 
  866 General Notes:
  867 
  868  * This is version 2.016 of the Perl Data Language.
  869  
  870  * Bugs fixed:
  871     417   Perl 5.22: + GSL 2.1 fails to build
  872     408   PDL::GSL::RNG set_seed minor improvement
  873     407   Build failures with GSL 2.1
  874     416   PDL::PP creates .pm & .xs files before pp_done is called
  875     414   ccNcompt (i.e. cc4compt and cc8compt) breaks with byte data type
  876 
  877 
  878  Highlights:
  879 
  880   * All collapse operators now have "<name>over" equivalent names.
  881     This ends an API wart in which most, but not all, of the collapse
  882     operators had a short form that did full collapse and a long form
  883     that did 1-D collapse only (e.g. "and" collapses to a point,
  884     while "andover" collapses by one dimension).  The exceptions are
  885     left in for legacy code, but now have regularized "-over" forms
  886     as well:
  887 
  888        average       -> avgover
  889        daverage      -> davgover
  890        maximum       -> maxover
  891        maximum_ind   -> maxover_ind
  892        maximum_n_ind -> maxover_n_ind
  893        minmaximum    -> minmaxover
  894        minimum       -> minover
  895        minimum_ind   -> minover_ind
  896        minimum_n_ind -> minover_n_ind
  897 
  898   * PDL::Transform image resampling now handles bad values in
  899     images.  In particular, the `h' and `j' (optimized filter)
  900     resampling methods properly skip bad values in the image,
  901     marking output pixels bad if more than 1/3 of the weighted
  902     values associated with that output pixel are bad.
  903 
  904   * PDLs with dataflow can now be reshaped.  The dataflow
  905     connection gets severed by the reshape operation.
  906     
  907   * PDL::IO::FITS now works better with RICE-compressed FITS
  908     images, such as are produced by NASA's SDO project.
  909 
  910         - The NAXIS* header keywords are now replaced by their
  911 	  ZNAXIS* equivalents, so the NAXIS fields in the header
  912 	  are correct after the image is read in.
  913 
  914         - The Z*, TFIELDS, TTYPE*, and TFORM* keywords are now
  915           deleted from the header object, so that the uncompressed,
  916           loaded image does not have leftover compression headers.
  917     
  918   * The language preprocessor PDL::PP now does not automatically
  919     call pp_done for modules that do not call pp_done themselves.
  920     This new, stricter behavior requires module authors to call
  921     pp_done at the end of their PDL::PP file.  This prevents
  922     partially-complete .xs and .pm files from being written if
  923     there is a module build error.
  924     
  925   * PDL::GSLSF modules have several fixes/improvements to support
  926     building against GSL 2.0:
  927 
  928         - New calling convention for gsl_sf_ellint_D.
  929         - New functions gsl_sf_legendre_array
  930 	    and gsl_sf_legendre_array_index.
  931         - Deprecated gsl_sf_legendre_Plm_array
  932 	    and gsl_sf_legendre_sphPlm_array.
  933         - New tests for new legendre functions.
  934         - Test requires all PDL::GSLSF modules
  935 	    to successfully load.
  936 
  937   * PDL::GSL::RNG now allows chaining for the set_seed() method:
  938     e.g. $rng = PDL::GSL::RNG->new(..)->set_seed(..)
  939     
  940   * PDL::Image2D's ccNcompt connected-component analysis code now
  941     returns types that are >= long, to avoid common overflow errors.
  942 
  943   * PDL::whichND returns PDLs of Indx type, to avoid overflows.
  944 
  945   * Empty ndarrays are handled slightly differently now by
  946     PDL::info and `help vars'.  Empty ndarrays are different
  947     from null ndarrays, and now generate different info strings.
  948     (null ndarrays lack data or dimensions; empty ndarrays have
  949     at least one dimension of size 0).
  950     
  951   * PDL::Fit::LM:
  952 
  953         - Documentation has been clarified relating to input
  954 	    data uncertainties and weighting of the fit.
  955         - A small test suite has been added.
  956 
  957   * There is now a .gitattributes file so GitHub repo language
  958     stats are more accurate.
  959 
  960   * The PDL SF/GitHub deveolpment workflow is integrated into
  961     the DEVELOPMENT docs.
  962 v2.015_001 2016-05-27 12:28:39-04:00
  963 
  964 General Notes:
  965 
  966  * A.k.a PDL-2.016 release candidate 1.
  967 
  968 
  969 Highlights:
  970 
  971  * TBD
  972 
  973 
  974 
  975 v2.015 2015-11-22 08:52:22-05:00
  976 
  977 General Notes:
  978 
  979  * PDL-2.015 is a clean and polish release.  It fixes
  980    some problems discovered with PDL-2.014 and improves
  981    the 64bit integer support.
  982  
  983 
  984 Highlights:
  985 
  986  * Fixes to improve compile and test of F77 modules
  987    on OS X (i.e. don't build i386 versions)
  988 
  989  * Basic/Ops/ops.pd - make compatible with MSVC++ 6.0
  990 
  991  * Fix win10 breakage in t/flexraw_fortran.t  Apparently, temp
  992    files were not being released after use which was preventing
  993    the tests to pass. 
  994 
  995  * Fix missing PDL license information
  996 
  997  * Fix sf.net bug #403: reshape() failed when applied to a
  998    ndarray with dataflow.  Now, changing the shape of a PDL
  999    that already has dataflow is prevented and an error message
 1000    given.
 1001 
 1002  * Fix sf.net bug 406 Added missing logic for clump(-N) and minor
 1003    cleanup of perl wrapper.
 1004 
 1005  * force new_pdl_from_string to return an ndarray with P=physical flag
 1006 
 1007  * Add $PDL::indxformat for PDL_Indx This avoids loss of
 1008    significance when 64bit PDL_Indx values are printed.
 1009 
 1010    Make new_pdl_from_string() avoid converting IV values
 1011    to NVs This allows pdl(indx, '[ 9007199254740992 ]')
 1012    to work without rounding due to the 52bit double
 1013    precision mantissa versus the 63bits + sign for PDL_Indx.
 1014 
 1015  * Add type support info to pdl() constructor documentation.
 1016    pdl() has always supported this usage but examples were
 1017    missing in the documentation.
 1018 
 1019  * improving PDL::GSL::RNG documentation
 1020 
 1021  * remove spurious '}' from gnuplot demo
 1022 
 1023 
 1024 
 1025 v2.014_03 2015-11-19 12:37:00-05:00
 1026 
 1027 General Notes:
 1028 
 1029  * This quick release is to verify the fix for the
 1030    PDL license information.
 1031  
 1032 
 1033 Highlights:
 1034 
 1035  * Some updates to Changes and Known_problems
 1036    as well.
 1037 
 1038 
 1039 
 1040 v2.014_02 2015-11-17 09:20:23-05:00
 1041 
 1042 General Notes:
 1043 
 1044  * This is the 2nd release candidate for PDL-2.015
 1045  
 1046 
 1047 Highlights:
 1048 
 1049  * Same as PDL-2.014_01 but with a couple of F77 build
 1050    fixes from Karl to support MacOSX builds and, we hope,
 1051    a SciPDL to go with PDL-2.015!
 1052 
 1053 
 1054 
 1055 v2.014_01 2015-11-14 14:01:28-05:00
 1056 
 1057 General Notes:
 1058 
 1059  * This is PDL-2.014_01, a cleanup and bug fix release.
 1060  
 1061 
 1062 Highlights:
 1063 
 1064  * Add $PDL::indxformat for PDL_Indx and
 1065    Make new_pdl_from_string() avoid converting IV values to NVs
 1066 
 1067    PDL_Indx values (type indx) now print with an integer
 1068    format specification so all digits get printed.  In
 1069    addition pdl(indx, '[ 9007199254740992 ]') works as well
 1070    going the other direction.
 1071 
 1072  * Fix sf.net bug 403: reshape can't handle ndarrays with -C flag
 1073 
 1074    reshape() on an ndarray with dataflow isn't meaningful.
 1075    Now a warning is given.  You can $pdl->sever first
 1076    and then reshape() can be applied.
 1077    
 1078  * Fix sf.net bug 406: clump() produces bogus dims
 1079 
 1080  * Various build improvments and documentation fixes:
 1081 
 1082    - force new_pdl_from_string to return an ndarray with P=physical flag
 1083    - remove spurious '}' from gnuplot demo
 1084    - Basic/Ops/ops.pd - make compatible with MSVC++ 6.0
 1085    - Fix win10 breakage in t/flexraw_fortran.t
 1086    - improving PDL::GSL::RNG documentation
 1087    - Add type convert info to POD for the pdl() constructor
 1088 
 1089 
 1090 
 1091 v2.014 2015-10-12 11:44:10-04:00
 1092 
 1093 General Notes:
 1094 
 1095  * This is PDL-2.014 introducing full support for
 1096    64bit indexing operations using 64bit PDL_Indx
 1097    data type.
 1098 
 1099  * PDL can now create and use ndarrays having more
 1100    than 2**32 elements.  Of particular use is that
 1101    you can now use PDL::IO::FlexRaw to memory map
 1102    ndarrays from files on disk which can allow for
 1103    simplified processing and IO on extremely large
 1104    data.
 1105 
 1106  * Due to the new PDL_Anyval type changes, existing
 1107    PDL::PP modules may need to be updated to support
 1108    the new PDL Core version 12 API.  Authors, please
 1109    see PDL::API for macros to ease the porting.
 1110 
 1111    Users, be aware that some modules may not work
 1112    until they are updated by their maintainers.
 1113  
 1114 
 1115 Highlights:
 1116 
 1117  * Implement PDL_Anyval data type as union to support
 1118    64bit indexing
 1119     
 1120    This adds a union data type to add 64bit integer support to
 1121    the original PDL-2.x types which assumed that double was
 1122    capable of holding all the "lesser" types.  With the PDL_Anyval
 1123    type, we can correctly handle 64bit integer data types and
 1124    avoid errors and loss of precision due to conversions to or
 1125    from PDL_Double.  Special thanks to kmx and zowie for their
 1126    help to complete and debug this implementation.
 1127 
 1128  * Many fixes to the build process to make PDL more robust
 1129    to build, test, and install.  This takes advantage of new
 1130    automated CI testing via Travis CI on the github site.
 1131 
 1132    Thanks much to Ed and Zakariyya for their work to get
 1133    this started and maintained.  This CI testing makes
 1134    this the best tested and best testing PDL release ever!
 1135 
 1136  * Various documentation clean-ups and work to improve
 1137    on-line viewing at http://metacpan.org and others.
 1138    (Thanks kmx and Derek!)
 1139 
 1140  * A new ipow() method haw been added with 64bit integer
 1141    support.  ipow() calculates the integer exponentiation
 1142    of a value by successive multiplications.  This allows
 1143    one to avoid loss of significance in integer exponents.
 1144    pow() converts the value to double and will always have
 1145    <52bits precision.
 1146 
 1147  * nbadover and ngoodover now return indx type (PDL_Indx)
 1148 
 1149  * PDL now detects when your perl installation has been
 1150    built with floating point longer than 8 bytes and gives
 1151    a one time warning that precision will be lost converting
 1152    from perl NV to PDL_Doubles.  This warning is given on
 1153    "use PDL;"
 1154 
 1155  * "use PDL" now includes "use PDL::IO::Storable"
 1156    This avoids a hard to diagnose crash that can
 1157    occur when a user tries using Storable without the
 1158    necessary "use PDL::IO::Storable".
 1159 
 1160  * MANY sf.net bugs fixed:
 1161  
 1162    400  dataflow slice crash around 2**31 boundary
 1163    399  Small doc fixes
 1164    398  $pdl->hdr items are lost after $pdl->reshape
 1165    396  online docs for modules only work first time in PDL shells
 1166    395  ipow (integer exponentiation) support for 64bit index support
 1167    394  demo cartography fails
 1168    383  gcc/#gfortran 4.9.2 needs -lquadmath
 1169    378  where on dice of pdl bad results
 1170    376  PDL Segmentation fault working with Storable restored PDL
 1171    347  t/#pdl_from_string.t has a failure if BADVAL_NAN=1
 1172    346  ExtUtils::F77 dependency causing problems for CPAN install
 1173    343  longlong constructor and display lose digits due to...
 1174    340  orover of byte data returns long type
 1175 
 1176 
 1177 
 1178 v2.013_06 2015-10-10 16:04:14-04:00
 1179 
 1180 General Notes:
 1181 
 1182  * This is PDL-2.013_06 which is RC 2 for PDL-2.014
 1183    and likely the final one before the official
 1184    release.  Please report any final issues and doc
 1185    patches ASAP.
 1186  
 1187 
 1188 Highlights:
 1189 
 1190  * Mark some failing tests in t/primitive.t as TODO
 1191    to avoid CPAN Testers failures.
 1192 
 1193  * Add IPC::Cmd to TEST_REQUIRES
 1194 
 1195 
 1196 
 1197 v2.013_05 2015-10-08 07:14:19-04:00
 1198 
 1199 General Notes:
 1200 
 1201  * This is PDL-2.013_05 (a.k.a. PDL-2.014 rc 1) which
 1202    is the fifth CPAN developers release for PDL with
 1203    newly completed support for 64bit indexing.
 1204  
 1205  * Needs testing for ndarrays with more than 2**32
 1206    elements but all checks pass so far.
 1207 
 1208 
 1209 Highlights:
 1210 
 1211  * Fix problem with broken t/opengl.t for testers
 1212 
 1213 
 1214 
 1215 v2.013_04 TBD
 1216 
 1217 General Notes:
 1218 
 1219  * This is PDL-2.013_04 which is the fourth CPAN
 1220    developers release for PDL with newly completed
 1221    support for 64bit indexing.
 1222  
 1223  * Needs testing for ndarrays with more than 2**32
 1224    elements but all checks pass so far.
 1225 
 1226 
 1227 Highlights:
 1228 
 1229  * t/opengl.t is skipped the dynamic GL window creation
 1230    tests if $AUTOMATED_TESTING is true.
 1231  
 1232  * A new ipow() routine for integer exponentiation
 1233 
 1234  * Corrected return types of intover, borover, bandover,
 1235    nbadover, and ngoodover.
 1236 
 1237  * Fixed compile problem in clang from using finite()
 1238    on an integer datatype.
 1239 
 1240 
 1241 
 1242 v2.013_03 2015-10-04 12:21:30-04:00
 1243 
 1244 General Notes:
 1245 
 1246  * This is PDL-2.013_03 which is the third CPAN
 1247    developers release for PDL with newly completed
 1248    support for 64bit indexing.
 1249  
 1250  * Needs testing for ndarrays with more than 2**32
 1251    elements but all checks pass so far.
 1252 
 1253 
 1254 Highlights:
 1255 
 1256  * More clean-up to handle perls with long double NVs
 1257    Loss of precision will be warned on "use PDL;"
 1258 
 1259  * Skipping t/bigmem.t to avoid OOM CPAN Testers fails.
 1260 
 1261  * Minor fixes to C code to meet stricter compiler
 1262    and C99 requirements.
 1263 
 1264 
 1265 
 1266 v2.013_02 2015-10-03 08:40:08-04:00
 1267 
 1268 General Notes:
 1269 
 1270  * This is PDL-2.013_02 which is the second CPAN
 1271    developers release for PDL with newly completed
 1272    support for 64bit indexing.
 1273  
 1274  * Needs testing for ndarrays with more than 2**32
 1275    elements but all checks pass so far.
 1276 
 1277 
 1278 Highlights:
 1279 
 1280  * Clean up to handle perls with long double NVs
 1281 
 1282  * Various bugs closed
 1283 
 1284  * PDL::IO::Storable is now loaded with "use PDL;"
 1285 
 1286 
 1287 
 1288 v2.013_01 2015-09-26 17:39:41-04:00
 1289 
 1290 General Notes:
 1291 
 1292  * This is PDL-2.013_01 which is the first CPAN
 1293    developers release for PDL with newly completed
 1294    support for 64bit indexing.
 1295  
 1296  * Needs testing for ndarrays with more than 2**32
 1297    elements but all checks pass so far.
 1298 
 1299 
 1300 Highlights:
 1301 
 1302  * TBD
 1303 
 1304 
 1305 
 1306 v2.013 2015-08-14 08:37:15-04:00
 1307 
 1308 General Notes:
 1309 
 1310  * This is PDL-2.013.  It is PDL-2.012 with some fixes
 1311    for badvalue problems and Solaris make issues.
 1312  
 1313  * See PDL 2.012 notes below.
 1314 
 1315 
 1316 Highlights:
 1317 
 1318  * Fix for sf.net bug #390: scalar PDL with badvalue
 1319    always compares BAD with perl scalars.  Now a warning
 1320    is given if the badvalue could conflict with the
 1321    results of a logical or comparision operation.
 1322  
 1323  * Fixed a makefile construct which was ambiguous and
 1324    caused build failures on Solaris using their make.
 1325    Gnu make was not affected even on Solaris.
 1326 
 1327 
 1328 
 1329 v2.012_01 2015-08-01 15:47401-0400
 1330 
 1331 General Notes:
 1332 
 1333  * This is PDL-2.012_01.  It is PDL-2.012 with some fixes
 1334    for badvalue problems when the badvalue was 0 or 1.
 1335  
 1336  * See PDL 2.012 notes below.
 1337 
 1338 
 1339 Highlights:
 1340 
 1341  * Candidate fix for sf.net bug #390: scalar PDL with
 1342    badvalue always compares BAD with perl scalars
 1343 
 1344 
 1345 
 1346 v2.012 2015-06-14 08:27:01-0400
 1347 
 1348 General Notes:
 1349 
 1350  * This is PDL-2.012 it is essentially PDL-2.011 with some
 1351    fixes for some minor issues that only came to light
 1352    with a new official release.
 1353  
 1354  * See PDL 2.011 notes below.
 1355 
 1356 
 1357 Highlights:
 1358 
 1359  * Add package statements so PDL::Lite and PDL::LiteF are
 1360    indexed correctly
 1361  
 1362  * Give PDL::NiceSlice a non-developer release for indexing
 1363 
 1364  * Fix build regression that broke ActiveState perl
 1365    builds for many perl versions and OS platforms.
 1366 
 1367 
 1368 
 1369 v2.011 2015-06-02 17:01:22-0400
 1370 
 1371 General Notes:
 1372 
 1373  * This is PDL-2.011 it is essentially PDL-2.008 with some
 1374    fixes for some minor issues.
 1375  
 1376  * perl 5.10.x is now the minimum version of perl
 1377    supported by PDL-2.008 and later.
 1378 
 1379  * PDL::FFTW is no longer part of the PDL Core.
 1380    Please use PDL::FFTW3 from CPAN (Dima Kogan)
 1381    with Alien::FFTW3 support (Craig DeForest)
 1382 
 1383  * PDL::Graphics::PLplot is no longer included in
 1384    the PDL core distribution.  Please install from
 1385    CPAN directly.
 1386 
 1387  * 50 sf.net bug tickets closed/fixed since PDL-2.007!
 1388 
 1389  * Partial 64bit indexing support with some fixes
 1390    to remaining issues.  Full 64bit support for perl
 1391    modulus operater ('%') is in progress.
 1392  
 1393  * Major clean up and rework of the core PDL
 1394    computation code, the build process, test suites,
 1395    and updating to reflect more of the best practices
 1396    for perl module development.
 1397  
 1398  * The PDL development has moved to github and now
 1399    has added continuous commit testing via the
 1400    Travis-CI framework.  The git workflow is now
 1401    inline with current practices and it is expected
 1402    that this will allow more contributions and "eyes
 1403    on the code".
 1404 
 1405 
 1406 Highlights:
 1407 
 1408  * See PDL 2.008 Highlights below.
 1409 
 1410 
 1411 
 1412 v2.010 2015-06-02 14:40:15-0400
 1413 
 1414 General Notes:
 1415 
 1416  * Another indexing regression.  Sigh.
 1417 
 1418 
 1419 
 1420 v2.009_01 2015-05-29 17:47:57-0400
 1421 
 1422 General Notes:
 1423 
 1424 Highlights:
 1425 
 1426  * Removal of PDL::Graphics::PLplot since exists as separate CPAN distro
 1427 
 1428 
 1429 
 1430 v2.009 2015-05-29 12:26:25-0400
 1431 
 1432 General Notes:
 1433 
 1434  * This is PDL-2.009. It has tweaks to fix PAUSE/CPAN
 1435    indexing problems in 2.008.
 1436  
 1437  * Known_problems updated to reflect a seldom seen
 1438    pdldoc installation problem for certain custom
 1439    perl configurations on cygwin.  A workaround is
 1440    known.  Please contact the PDL mailing list if you
 1441    have this problem.  See the sf.net bug report at
 1442    http://sourceforge.net/p/pdl/bugs/384/ for more
 1443    information.
 1444  
 1445  * See Release Notes for PDL 2.008 below for more.
 1446 
 1447 
 1448 
 1449 v2.008 2015-05-24 18:42:22-0400
 1450 
 1451 General Notes:
 1452 
 1453  * This is PDL-2.008!  Yay!
 1454 
 1455  * perl 5.10.x is now the minimum version of perl
 1456    supported by PDL-2.008 and later.
 1457 
 1458  * 50 sf.net bug tickets closed/fixed since PDL-2.007!
 1459 
 1460  * Partial 64bit indexing support with some fixes to
 1461    remaining issues.  Full 64bit support for perl modulus
 1462    operater ('%') is in progress.
 1463  
 1464  * Major clean up and rework of the core PDL computation
 1465    code, the build process, test suites, and updating to
 1466    reflect more of the best practices for perl module
 1467    development.
 1468  
 1469  * The PDL development has moved to github and now has
 1470    added continuous commit testing via the Travis-CI
 1471    framework.  The git workflow is now inline with
 1472    current practices and it is expected that this will
 1473    allow more contributions and "eyes on the code".
 1474 
 1475 Highlights:
 1476 
 1477  * PDL::FFTW is no longer part of the PDL Core.
 1478    Please use PDL::FFTW3 from CPAN (Dima Kogan)
 1479    with Alien::FFTW3 support (Craig DeForest)
 1480 
 1481  * New improved vsearch functionality, interfaces,
 1482    and documentation (Diab Jerius)
 1483  
 1484  * PDL::IO::Storable now robust against version, platform
 1485    endianness, and supports the new 64bit PDL_Indx data
 1486    type (Dima Kogan)
 1487 
 1488  * Clean up of PDL/Basic/Core code to remove cruft and
 1489    to simplify the evolution to a coming improvements
 1490    (Craig DeForest)
 1491  
 1492  * Major clean up, de-crufting, and streamlining of the
 1493    entire PDL ExtUtils::MakeMaker build process (Ed J)
 1494  
 1495  * Standardizing and updating the entire PDL test suite
 1496    to a common basis (use Test::More) and coding to more
 1497    consistent best practices.  E.g., use strict
 1498    This is a huge (ongoing) effort but a comprehensive
 1499    test suite is needed for regression tests to validate
 1500    compatibility of coming PDL3 architecture changes.
 1501    (Zakariyya Mughal)
 1502 
 1503  * You can now call the PDL::Graphics2D twiddle()
 1504    routine with an argument of 0 or 1 (i.e., false
 1505    or true) to set whether the twiddle loop is run.
 1506 
 1507  * Library dependency detection improvements including
 1508    PROJ4 and GD.  A number of improvements in this for
 1509    strawberry perl on windows (kmx)
 1510  
 1511  * The PDL distribution process now generated the
 1512    documentation for the modules using the automated
 1513    code generation process.  This makes all the PDL
 1514    docs available on http://search.cpan.org and on
 1515    http://metacpan.org for your web browser. (kmx)
 1516 
 1517  * Improved support to build XS/C extensions: (Ed J)
 1518    - You can now: "use Inline with => 'PDL';", see PDL::API
 1519    - You can, in your module's Makefile.PL:
 1520      "$p = new ExtUtils::Depends 'MyMod', 'PDL'"
 1521 
 1522  * MANY sf.net tickets closed:
 1523 
 1524    377   PDL::Transform::Proj4 not building under latest dev EUMM
 1525    375   Storable files incorrectly processed from older versions.
 1526    374   CONFIGURE_REQUIRES => Devel::CheckLib
 1527    373   2.007_11 MANIFEST
 1528    372   2.007_11 fails on MS Windows 64bit
 1529    371   PDL-2.4.11 medover failure in perl 5.20.1
 1530    370   PDL-2.007 can fail to build Basic/#Core files
 1531    369   slice fails with subclass index
 1532    368   PDL::Slatec::polyfit ignores incorrect length of weight ndarray...
 1533    367   BAD value parsing breakage
 1534    365   CPAN PDL install broken due to breakage in Module::Compile 0.34
 1535    363   PP "OtherPars" namespace is not clean
 1536    362   rcols COLIDS need chomp-ing
 1537    361   vsearch bug w/# reversed list
 1538    360   subtle & rare bug in vsearch
 1539    359   Improved documentation for vsearch
 1540    358   one2nd() has unexpected behaviour when given a Perl scalar rather than an ndarray
 1541    357   Android support
 1542    356   overload::Method() does not return coderef for stringification
 1543    355   dog creates 0 dim ndarray which squeezes to 1 dim.
 1544    353   imag2d not 'use warnings' safe and no way to disable twiddle
 1545    352   reorder() not an lvalue sub
 1546    351   PDL_BOOT has wrong XS code
 1547    350   Modules using PDL::Slatec will get installed even if Slatec is disabled
 1548    349   PDL needs integrated support for PDL::PP and CPAN indexer
 1549    348   PDL->null->slice('')->nelem results in error
 1550    345   documentation of WITH_PLPLOT in perldl.conf incorrect
 1551    344   Current version numbering is broken
 1552    342   BUGS file not indexable or discoverable
 1553    337   rangeb() broken for 64bit index support on 32bit perl
 1554    332   "isn't numeric in null operation" warning could be more helpful
 1555    331   uniq does not always return proper object
 1556    329   t/#picrgb.t fails in PDL build
 1557    321   Several core modules do not have man pages
 1558    319   PDL::Index does not render on websites
 1559    316   plplot.t failure when building 2.4.11
 1560    314   conv1d bad value broken
 1561    313   clip() edge case not handled right
 1562    312   Wrong results in corner empty-set cases
 1563    283   PDL::IO::FITS::wfits corrupting FITS image
 1564    272   indexND of Empty pdls can segfault
 1565    268   PLplot still unusable with X
 1566    261   max() fails on nan
 1567    256   Threadable version of PDL::MatrixOps::inv
 1568    232   perl -d chokes on lvalue functions
 1569    227   PGPLOT module doesn't work in PDL
 1570    224   Ctrl-C kills perldl in win32 console
 1571    207   Name "PDL::SHARE" used only once.
 1572     63   Unable to get the 3d demos
 1573     51   justify option fails in imag (PDL2.3.4)
 1574 
 1575 
 1576 
 1577 v2.007_17 2015-05-06 13:35:57-0400
 1578 
 1579 General Notes:
 1580 
 1581  * This is PDL-2.008_rc4!
 1582 
 1583 Highlights:
 1584 
 1585  * Clean up of large number modulo tests and make TODO for
 1586    the PDL-2.008 release.
 1587  
 1588  * Fix build/configure problems from CPAN Testers reports.
 1589 
 1590  * Quiet excessive warnings in perldl and pdl2doc
 1591 
 1592 
 1593 
 1594 v2.007_16 2015-04-22 10:23:46-0400
 1595 
 1596 General Notes:
 1597 
 1598  * This is PDL-2.008_rc3!
 1599 
 1600 Highlights:
 1601 
 1602  * Various clean up and doc fixes
 1603 
 1604  * Add more of the PDL prerequisites explicitly to handle
 1605    missing core functionality for CPAN Testers.
 1606 
 1607 
 1608 
 1609 v2.007_15 2015-04-19 17:08:55-0400
 1610 
 1611 General Notes:
 1612 
 1613  * This is PDL-2.008_rc2!
 1614 
 1615 Highlights:
 1616 
 1617  * Build issues with PROJ4 detection and link with cygwin
 1618    platforms has been worked around.
 1619  
 1620  * Failing tests in t/ops.t for new 64bit modulus support
 1621    have been marked TODO.
 1622 
 1623 
 1624 
 1625 v2.007_14 2015-04-11 14:28:07-0400
 1626 
 1627 General Notes:
 1628 
 1629  * This is PDL-2.008_rc1!
 1630 
 1631 Highlights:
 1632 
 1633  * More cleanup and a couple of build issues fixed with
 1634    PROJ4.
 1635 
 1636  * Various test suite improvements.
 1637 
 1638 
 1639 
 1640 v2.007_13 2015-03-22 16:00:03-0400
 1641 
 1642 General Notes:
 1643 
 1644  * Counting down to a PDL-2.008 release this April 2015
 1645 
 1646 Highlights:
 1647 
 1648  * Travis on Github now routinely tests on dev ExtUtils::MakeMaker, clang:
 1649    https://travis-ci.org/PDLPorters/pdl
 1650 
 1651  * Coveralls on Github now lists test coverage:
 1652    https://coveralls.io/r/PDLPorters/pdl
 1653 
 1654  * Many tests updated to use Test::More, Test::Deep, Test::Exception
 1655 
 1656  * PDL::FFTW is now removed from the PDL core.  Use
 1657    PDL::FFTW3 instead.
 1658 
 1659  * Prototype use of Alien::Proj4 to encapsulate install/build info
 1660 
 1661  * Fix warnings compiling under clang
 1662 
 1663  * Addition of "core" and "coretest" targets for quicker build and dev cycle
 1664 
 1665  * Make Filter::Util::Call the default engine for PDL::NiceSlice
 1666 
 1667  * Make PDL_Anyval type, for 64-bit purposes
 1668 
 1669  * Clean up and better-comment pdl*.h
 1670 
 1671  * Make "isn't numeric in null operation" warning more helpful
 1672 
 1673 v2.007_12 2015-03-06 09:18:04-05:00
 1674 
 1675 General Notes:
 1676 
 1677  * Counting down to a PDL-2.008 release this February 2015
 1678 
 1679  * This release marks the completion of almost all the
 1680    priority issues needed for PDL-2.008.  Expect feature
 1681    freeze, final shakedown, and release to come!
 1682 
 1683 
 1684 Highlights:
 1685 
 1686  * Fixed sf.net bug #373  2.007_11 MANIFEST
 1687 
 1688  * Implemented 'core' and 'coretest' targets for quick testing.
 1689 
 1690  * Fix quote/whitespace build problems
 1691 
 1692  * Fix threading problem discovered in PDL::MatrixOps::inv()
 1693 
 1694  * Build improvements and support for automated commit testing
 1695    via the travis-ci infrastructure
 1696 
 1697  * Fixed sf.net bug #368 PDL::Slatec::polyfit ignores
 1698    incorrect length of weight ndarray
 1699  
 1700  * Fixed sf.net bug #374 CONFIGURE_REQUIRES => Devel::CheckLib 
 1701 
 1702  * Tests and fixes for modulus operator for 64bit integer
 1703    operands.  Tests on 32bit systems welcome.
 1704 
 1705  * Lots of tweaks and cleanup...
 1706 
 1707 v2.007_11 2015-02-24 16:08:36-05:00
 1708 
 1709 General Notes:
 1710 
 1711  * Counting down to a PDL-2.008 release this February 2015
 1712 Highlights:
 1713 
 1714  * The new Filter::Simple engine for PDL::NiceSlice is now
 1715    the default.  This fixes problems where PDL::NiceSlice
 1716    was applying the sourcefilter to the content of comments
 1717    and strings.  Still to do: implement for command line use
 1718    in perldl/pdl2 shells.
 1719 
 1720  * Added ability to call PDL::Graphics2D twiddle() routine with
 1721    an argument of 0 or 1 (technically false or true) to set
 1722    whether the twiddle loop is run.  Also fixed a minor warning
 1723    generated with 'use warnings'.  This closes bug #353.
 1724  
 1725  * Lots of clean up and build process improvements.
 1726 
 1727 
 1728 
 1729 v2.007_10 2015-02-02 10:59:22-05:00
 1730 
 1731 General Notes:
 1732 
 1733  * Counting down to a PDL-2.008 release this February 2015
 1734 
 1735 Highlights:
 1736 
 1737  * More clean up to build process.
 1738 
 1739 
 1740 
 1741 v2.007_09 2015-01-29 11:01:24-05:00
 1742 
 1743 General Notes:
 1744 
 1745  * Counting down to a PDL-2.008 release this February 2015
 1746 
 1747 Highlights:
 1748 
 1749  * perl 5.10.x is now the minimum version of perl supported for
 1750    this release.  Please test.
 1751 
 1752  * Much clean up of the EU::MM build process by Ed.:w
 1753 
 1754 
 1755 
 1756 v2.007_08 2015-01-20 18:24:01-05:00
 1757 
 1758 General Notes:
 1759 
 1760  * Counting down to a PDL-2.008 release this January 2015
 1761 
 1762 Highlights:
 1763 
 1764  * Some ExtUtils::MakeMaker fixes and clean up for the PDL build
 1765    process.
 1766 
 1767  * Fix non-portable usage bug in t/vsearch.t which prevented the
 1768    test from passing on perls 5.12 and earlier
 1769 
 1770 
 1771 
 1772 v2.007_07 2015-01-06 17:44:08+11:00
 1773 
 1774 General Notes:
 1775 
 1776  * Counting down to a PDL-2.008 release this January 2015
 1777 
 1778 Highlights:
 1779 
 1780  * This release includes the new pre-generated pm/pod to
 1781    clean up the docs available on-line on metacpan.org and
 1782    search.cpan.org.
 1783  
 1784  * Bug fix in t/vsearch.t to support perl 5.12 and earlier.
 1785    PDL currently supports perl 5.8.x and later.
 1786 
 1787 
 1788 
 1789 v2.007_06 2015-01-05 13:31:13-05:00
 1790 
 1791 General Notes:
 1792 
 1793  * Counting down to a PDL-2.008 release this January 2015
 1794 
 1795 Highlights:
 1796 
 1797  * Fixed a number of bugs on the sf.net tracker
 1798 
 1799  * Fix for EU-MM-7.0 and later problem with dmake
 1800 
 1801  * Include generated pod in the distribution so that
 1802    metacpan.org and search.cpan.org have better/working
 1803    online docs.
 1804 
 1805 
 1806 
 1807 v2.007_05 2014-12-24 09:24:04-05:00
 1808 
 1809 General Notes:
 1810 
 1811 Highlights:
 1812 
 1813  * You can now: "use Inline with => 'PDL';" - see PDL::API
 1814 
 1815  * You can, in your module's Makefile.PL: "$p = new ExtUtils::Depends
 1816    'MyMod', 'PDL'"
 1817 
 1818  * Various bugs fixed
 1819 
 1820  * New vsearch() implementations with features and flexibility
 1821 
 1822 
 1823 
 1824 v2.007_04 2014-09-09 00:44:29+01:00
 1825 
 1826 General Notes:
 1827 
 1828 Highlights:
 1829 
 1830  * You can now: "use Inline with => 'PDL';" - see PDL::API
 1831 
 1832  * You can, in your module's Makefile.PL: "$p = new ExtUtils::Depends
 1833    'MyMod', 'PDL'"
 1834 
 1835 
 1836 v2.007_03 2014-07-01 16:54:59-04:00
 1837 
 1838 General Notes:
 1839 
 1840 Highlights:
 1841 
 1842  * Fix documentation builds for installs into vendor directory.
 1843 
 1844  * Fixes for library detection on MS Windows
 1845 
 1846  * Fix incompatibility of PDL::IO::Storable with perl versions < 5.10.x
 1847 
 1848 
 1849 
 1850 v2.007_02 2013-11-25 14:10:22-05:00
 1851 
 1852 General Notes:
 1853 
 1854 Highlights:
 1855 
 1856  * This release should be a working PDL::IO::Storable that
 1857    is compatable with the new 64bit index support.
 1858  
 1859  * PDL::IO::Storable now requires perl 5.10.x or greater
 1860    although the overall distribution requirements are not
 1861    planned to update to 5.10.x until the completion of
 1862    fixes for the longlong hidden double precision conversion
 1863    slash truncation bug.
 1864 
 1865 
 1866 
 1867 v2.007_01 2013-11-17 16:31:17-05:00
 1868 
 1869 General Notes:
 1870 
 1871 Highlights:
 1872 
 1873  * Added FAQ entry on PDL version numbering change and how
 1874    to specify required PDL versions.
 1875 
 1876  * Corrected perldl.conf docs for WITH_PLPLOT in the comments
 1877 
 1878  * Update PDL::IO::Storable to work with the new PDL_Indx
 1879    data type.  Also made the code backwards compatible to
 1880    read files written by older PDL releases.
 1881  
 1882  * Fixed NaN handling for min/max and cleaned up handling
 1883    of empty sets.
 1884 
 1885  * Various enhancements to PDL::Transform
 1886 
 1887 
 1888 
 1889 v2.007 2013-10-12 12:56:52-04:00
 1890 
 1891 General Notes:
 1892 
 1893  * PDL computations now use 64bit indexing/addressing if
 1894    your platform supports it (i.e., your perl configuration
 1895    has $Config{ivsize} == 8).
 1896    
 1897    - You can process with pdls with more then 2**32 elements.
 1898 
 1899    - Memory mapped file IO supports up to 8TB files which
 1900      allows much simpler processing of large data files.
 1901      (See mapflex in PDL::IO::FlexRaw for details)
 1902 
 1903  * PDL-2.007 has a new, unified slicing engine and syntax
 1904    that consolidates the multiple slicing variants into
 1905    a backward compatible but now 64bit aware slice.  See
 1906    the PDL::Slices for the new syntax that is enabled.
 1907 
 1908  * PDL::FFTW has moved to its own distribution on CPAN
 1909    and is no longer in the PDL core distribution.  Look
 1910    for PDL::FFTW3 coming to CPAN soon.
 1911 
 1912  * Some required dependencies have been update to more
 1913    recent versions:
 1914 
 1915    - ExtUtils::MakeMaker now requires version 6.56 or
 1916      higher, the minimum version with CONFIGURE_REQUIRES
 1917      support.
 1918 
 1919    - Perl OpenGL 0.6702 is now required for PDL::Graphics::TriD
 1920      to build.  This fixes a number of critical bugs and should
 1921      be a seamless upgrade.
 1922 
 1923    - File::Map version 0.57 is required.  This fixes map_anonymous
 1924      support for the >2**32 sizes needed for 64bit support.
 1925      Legacy mmap support for unix platforms is no longer
 1926      supported.  The distribution requires File::Map so you
 1927      should not notice the change.
 1928 
 1929  * Incompatible Changes:
 1930 
 1931    - PDL::FFT now uses the same sign convention as FFTW and
 1932      the rest of the world, -1/+1 for forward and reverse
 1933      FFT respectively.
 1934 
 1935    - C/XS API of PDL-2.007 is incompatible with previous
 1936      PDL releases.  If you upgrade to PDL-2.007, you *will*
 1937      need to re-install or upgrade *all* dependent XS or PP
 1938      based modules.
 1939 
 1940    - PDL now auto-promotes array refs in many places that
 1941      previously required an ndarray (so you can say, e.g.,
 1942      "$a->index([2,3])" instead of "$a->index(pdl(2,3))").
 1943 
 1944    - String syntax for slice() specifications now ignore
 1945      white space.
 1946 
 1947  * The clean up of the PDL core distribution continues and
 1948    PDL-2.007 is no exception.  Many bug fixes, documentation
 1949    updates, code and implementation improvements make this
 1950    the best testing PDL release to date.
 1951 
 1952 
 1953 Highlights:
 1954 
 1955  * FITS IO improvements and fixes:
 1956 
 1957    - Added 'afh" option to rfits to allow explicit use of
 1958      legacy hash parser for performance reasons.  
 1959 
 1960    - New multiple extension writing support for wfits.
 1961 
 1962  * Added pp_deprecate_module() to PDL::PP
 1963 
 1964  * New mode/modeover functions in PDL::Ufunc
 1965 
 1966  * Made exception handling in slices more robust.
 1967 
 1968  * PDL::CLONE_SKIP added for improved ithread support.
 1969 
 1970  * Updated graticule() in PDL::Transform::Cartography to
 1971    support NaN-delimited output.
 1972 
 1973  * Bugs fixes:
 1974 
 1975    - Fix %hash randomization bugs in PDL tests
 1976 
 1977    - Fix OpenBSD pthread build problem for non-threaded perls
 1978 
 1979    - Fix PDL::shape to return vector for 1-D ndarrays
 1980 
 1981    - Fix badvalue-on-truncate support for map and for interpND
 1982 
 1983    - Fix for MSVC++ 6.0 to build on 32bit systems.
 1984      MSVC++ 6.0 cannot be used to build 64bit index support.
 1985 
 1986    - Fix polyfit() handling of BAD values and various edge cases.
 1987 
 1988    - Fix rare "Bizarre copy of HASH in scalar assignment"
 1989 
 1990    - Fix rcols with colsep and $PDL::undefval
 1991 
 1992    - Fix sf.net bug #331 "uniq does not always return proper object"
 1993 
 1994    - Fix sf.net bug #338 PDL::FFT uses backwards sign convention from FFTW
 1995 
 1996    - Make PDL::NiceSlice preserve line numbering (sf.net feature #75)
 1997 
 1998    - PDL::IO::GD->new() is now less picky about it args, and no longer crashes
 1999 
 2000    - Two bug fixes to transform.pd, and an augmentation
 2001 
 2002 
 2003 
 2004 v2.006 2013-03-23 10:02:31-04:00
 2005 
 2006 General Notes:
 2007 
 2008  * Change to the version number scheme used for PDL
 2009    from the dotted-integers format back to plain old
 2010    decimal numbers.
 2011 
 2012    Unfortunately, PDL has used both alternatives before
 2013    and in an inconsistent, out-of-order way.  With this
 2014    release, the current version will also be the most
 2015    recent version with respect to both numbering schemes.
 2016    
 2017    For more details see David Goldens blob post on
 2018    the topic and the pdl-porters list discussion:
 2019 
 2020      http://www.dagolden.com/index.php/369/version-numbers-should-be-boring/
 2021      http://mailman.jach.hawaii.edu/pipermail//pdl-porters/2013-February/005343.html
 2022  
 2023 
 2024  * PDL-2.006 also showcases the demos of two new PDL graphics
 2025    modules in the perldl/pdl2 shells:
 2026    
 2027     - PDL::Graphics::Gnuplot
 2028       http://search.cpan.org/~zowie/PDL-Graphics-Gnuplot-1.4/
 2029 
 2030     - PDL::Graphics::Prima
 2031       http://search.cpan.org/~dcmertens/PDL-Graphics-Prima-0.13/
 2032 
 2033    Both modules install on all supported PDL platforms.  A
 2034    recent addition is PDL::Graphics::Simple which provides
 2035    a uniform presentation to the variety off available PDL
 2036    plot/view/print options.
 2037    
 2038     - PDL::Graphics::Simple
 2039       http://search.cpan.org/~zowie/PDL-Graphics-Simple-1.004/README.pod
 2040       
 2041    Let us know how they work for you.  As they are 
 2042    relatively "young" contributions your feedback and
 2043    questions are always welcome.
 2044 
 2045 
 2046  * PDL Distribution related updates:
 2047 
 2048     - Fixes a build issue for PDL at ASPerl
 2049     
 2050     - Many fixes for debian distributions.
 2051     
 2052     - PDL::IO::NDF has been moved to its own
 2053       distribution on CPAN.  This could affect
 2054       upgrades from older PDL installs.
 2055  
 2056 
 2057 Highlights:
 2058 
 2059  * New support for reading IDL format files via PDL::IO::IDL.
 2060 
 2061  * Added an unpdl method which is (roughly) the inverse
 2062    operation of pdl (Joel Berger).
 2063 
 2064  * Updated polyfill and polyfillv routines to the algorithm
 2065    from pnpoly: more accurate on edge pixels and faster due
 2066    to its PP implementation (Tim Haines).
 2067 
 2068  * Added Boundary=>'Replicate' option to conv2d and med2d (chm).
 2069 
 2070  * Support for new additional random number generators to
 2071    PDL::GSL (John Lapeyre).
 2072 
 2073  * Add lgamma support for MinGW-built perls with tests
 2074    to match (sisyphus).
 2075 
 2076  * Many improvments to docs and their generation from
 2077    PDL sources.  Specific new functionality support:
 2078 
 2079     - Newly refactored docs engine using core perl
 2080       modules rather than PDL-only ones (Joel Berger)
 2081 
 2082     - New FullDoc key added to PDL::PP makes writing CPAN
 2083       friendly .pd files much, much easier (David Mertens).
 2084 
 2085     - New PDL::Doc::add_module() routine to add an external
 2086       module's POD (with PDL::Doc conventions) to the PDL
 2087       docs on-line database (Craig DeForest).
 2088 
 2089  * Many bugs fixed, some even before a ticket could be opened!
 2090 
 2091     - Sf.net bug #3607936: Fixed a bug causing crashes
 2092       due to using inplace with a duplicate argument.
 2093 
 2094     - Sf.net bug #3603249: AutoLoader leaks $_ into local
 2095       context, reported and fixed by Craig.
 2096 
 2097     - Sf.net bug #3588182: Fixed hist() handling of the case
 2098       of fractional steps in integral input data types.
 2099 
 2100     - Sf.net bug #3563903: Fixed bug in PNG format detection
 2101       on win32 platforms.  
 2102 
 2103     - Sf.net bug #3544682: Fixed error report bug in perldl
 2104       that resulted from a change in the way perl handles
 2105       eval exception reporting.
 2106 
 2107     - Sf.net bug #3539760: qsort[vec] are now inplace aware.
 2108 
 2109     - Sf.net bug #3518190: Potential fix for t/gd_oo_tests.t
 2110       test crashes.
 2111 
 2112     - Sf.net bug #3515759: Work around for PDL::GIS::Proj
 2113       build failures with proj-4.8.0.
 2114 
 2115     - Sf.net bug #3479009: Fixed dummy() to generate a
 2116       valid syntax for the underlying call to slice().
 2117 
 2118     - Sf.net bug #3475075: Fixed 16-bit PNM raw format handling.
 2119 
 2120     - Added warning if conv1d is used on an ndarray with
 2121       the badflag set.
 2122 
 2123     - Fix NaN sign issues as reported (and fixed!) by
 2124       Matthew McGillis with contributions by Sisyphus.
 2125 
 2126     - Fix rim() 3-arg form.  Added tests to support and
 2127       verify the development.
 2128 
 2129     - Fixed a problem with multiple windows and imag2d
 2130       and imag2d_update.
 2131 
 2132  * The PDL shells keep getting better:
 2133 
 2134     - New feature in perldl and pdl2 where a pattern matching
 2135       the PDL shell prompt (in $PERLDL::PREFIX_RE) will get
 2136       stripped off of input lines before eval.  This makes it
 2137       easier to cut-and-paste example text from PDL shell
 2138       sessions or from the PDL Book into an active session.
 2139 
 2140     -  Added a demo for PDL::Graphics::Prima to the PDL shells.
 2141 
 2142     -  Added a demo for gnuplot to the PDL shells.
 2143 
 2144     -  The p shortcut to display output in the PDL shells has
 2145        been reverted to its previous 2.4.10 behavior.  If you
 2146        wish it to be an exact alias for print just override
 2147        in your .perldlrc or local.perldlrc file.
 2148 
 2149 
 2150 
 2151 v2.4.11 2012-05-20 13:32:17-04:00
 2152 
 2153 General Notes:
 2154 
 2155  * This is a point release of PDL to support the coming perl
 2156    5.16.0 release.
 2157 
 2158 Highlights:
 2159 
 2160  * A new implementation mapflex and mapfraw routines provides
 2161    memory-mapped IO for all platforms including win32 systems.
 2162 
 2163  * The new memory mapped IO support is implemented using
 2164    File::Map so version 0.47 has been added as a required
 2165    dependency to force automated testing so an automated build
 2166    will need this dependency installed.
 2167    
 2168     NOTE: For systems having POSIX mmap, a manual build of
 2169     PDL will automatically use the legacy implementation.
 2170 
 2171  * Various cleanup to existing code to fix warnings generated
 2172    by perl versions 5.15.x and higher.
 2173  
 2174    Remove deprecation warning in PGPLOT/Window/Window.pm
 2175    complex.pd - fix attempts to overload '<=>=' and '=>'
 2176 
 2177  * Sf.net bugs fixed:
 2178 
 2179     3518253  Make PDL::flat work under perl 5.16 (thanks sprout!)
 2180     3516600  pdl_from_string.t fails w/ BADVAL_USENAN=1
 2181     3487569  PDL::IO::Misc : rcols problem (thanks bperret!)
 2182     3476648  PDL build of HTML docs fails on recent bleed Perl
 2183     
 2184  * Other bugs fixed:
 2185 
 2186     Fix check for glutRunning logic for imag2d
 2187     Fixed a bug in cat's error reporting.
 2188     Added lvalue awareness to whereND
 2189 
 2190  * New and improved tests have been added to the test suite.
 2191 
 2192     Tests t/gd_oo_tests.t and t/inline-comment-test.t are
 2193     skipped for BSD platforms (see sf.net bugs #3518190 and
 2194     #3524081 to track their issues).
 2195 
 2196  * New support for multi-line comments in PP code.  See docs for
 2197    PDL::PP for details (e.g., pdldoc PP).
 2198     
 2199  * Various enhancements to barf/croak output and messages to make
 2200    error reports and stack traces more useful and readable.
 2201 
 2202  * There is a new changes (or Changes) target for the PDL Makefile
 2203    which is a convenience target that allows one to regenerate the
 2204    Changes file from git.
 2205 
 2206 v2.4.10 2012-02-03 18:44:47-05:00
 2207 
 2208 General Notes:
 2209 
 2210  New Stuff:
 2211 
 2212   * PDL::Constants module provides E, PI, I (or J) and more.
 2213 
 2214   * PDL::NiceSlice has a new engine based on Filter::Simple
 2215     which is more selective about where the PDL::NiceSlice
 2216     sourcefilter is applied.
 2217 
 2218   * pdl() constructor now accepts a string argument which
 2219     can include MATLAB-style [ ; ] syntax, bad values,
 2220     inf values, and nan values.  This makes it much easier
 2221     to specify pdl values in programs and scripts.
 2222 
 2223   * PDL now supports pthreads on all platforms as well
 2224     as a new, auto-parallelization capability for PDL
 2225     threadloops across multiple processors using the
 2226     PDL::ParallelCPU module.
 2227 
 2228   * Many(!) bug fixes.
 2229 
 2230 
 2231  Incompatible Changes:
 2232 
 2233   * List output from whichND is now deprecated.
 2234 
 2235   * The default.perldlrc uses PDL::Constants to
 2236     provide E and PI.
 2237 
 2238   * perldl.conf has new fields so be sure to update
 2239     any local versions you use with the new fields.
 2240 
 2241   * rcols and wcols always use dim0 for the data
 2242     dimension and dim1 for the column dimension.
 2243     This only matters if you use the support for
 2244     reading multiple columns into a 2D pdl.
 2245 
 2246   * Makefile.PL now requires at least version 6.31
 2247     of ExtUtils::MakeMaker to support the new standard
 2248     INSTALL_BASE option matching Module::Build usage.
 2249 
 2250   * Prerequisite Text::Balanced minimum version is
 2251     now 1.89 although this is not expected to be an
 2252     issue because it is provided in the perl core
 2253     since 5.8.0.
 2254 
 2255 
 2256 Highlights:
 2257 
 2258  * General cleanup of code, including restructuring for clarity.
 2259  
 2260  * List output from whichND() is now deprecated.  whichND() now returns
 2261    an ndarray of coordinates in all cases with a warning when a list
 2262    context is detected.  See the docs for work-arounds to your code.
 2263  
 2264  * PDL::IO::Misc now has better support for handles that are not
 2265    files (e.g., pipes or standard input) for rgrep(), rcols(),...
 2266  
 2267  * Added bad value support to pctover() and oddpctover().
 2268    This was sf.net feature #3328001.
 2269  
 2270  * New whereND() routine provides the same functionality as where
 2271    but with support for multi-dimensional masks and implicit
 2272    threading over higher dimensions.  This was sf.net feature
 2273    request #3390043.
 2274  
 2275  * Many bugs fixed.
 2276  
 2277      3059083  Problems with FITS header handling
 2278      3080505  PLplot segfaults on plshades call on OS X
 2279      3285520  status message from gslmroot_fsolver
 2280      3294808  sever on Empty ndarray causes segfault
 2281      3295544  NiceSlice parsing bug
 2282      3299611  FITS I/O obscure bug
 2283      3300467  NiceSlice asterisk parsing issue
 2284      3307121  wmpeg sometimes kills perldl if file already exists
 2285      3307613  indexND of Empty pdls can segfault
 2286      3368883  t/opengl.t fails if display type not available
 2287      3375837  _read_flexhdr state machine fails
 2288      3388862  tiny bug in PDL-2.4.3. May apply to 2.4.9
 2289      3391645  bad printf formats in pdlapi.c and others
 2290      3394327  PDL::IO::FITS::wfits corrupting FITS image
 2291      3396738  PDL::Core::convert default return type
 2292      3410905  t/pgplot.t hangs test harness for PDL
 2293      3415115  whereND fails to handle all zero mask case
 2294      3428356  PDL::Transform::map output FITS header is slightly wrong
 2295      3434842  Error in definition of gsl_sf_laguerre_n function
 2296  
 2297  * PDL::Constants now provides: E, PI, I and J and is loaded by the
 2298    default.perldlrc.  It is not yet part of 'use PDL' so you'll need
 2299    to 'use PDL::Constants ...' by hand for now.
 2300  
 2301  * default.perldlrc sets $PDL::IO::FlexRaw::writeflexhdr=1 by
 2302    default so that writeflex() to a filename automatically writes
 2303    the header file.  This is different from the previous behavior
 2304    but it seems to "do what you mean".  Feedback welcome!
 2305  
 2306  * PDL::NiceSlice now has a new engine based on Filter::Simple which
 2307    is smarter about only applying the slicing source filter to syntax
 2308    occurring outside of POD, comments, and quotelike strings.  The
 2309    new implementation is available for *files* by setting the
 2310    PDL_NICESLICE_ENGINE environment variable to 'Filter::Simple'.
 2311  
 2312    Work is underway to port the new niceslice filter implementation
 2313    to perldl/pdl2.  Once this task is completed, the new engine will
 2314    become the default source filter and the PDL_NICESLICE_ENGINE
 2315    environment variable will be removed.
 2316  
 2317  * There is experimental support for PDL::NiceSlice syntax in the
 2318    perl debugger (i.e., perl -d).  Just set the PERL5DB environment
 2319    variable to 'BEGIN { require "PDLdb.pl" }' to use niceslice
 2320    from the debugger command line.  If PERL5DB is already set,
 2321    you'll need to adjust the above recipe accordingly.
 2322  
 2323  * Better handling of build configuration options from perldl.conf
 2324    as well as improvements in the detection of external dependencies.
 2325  
 2326  * perldl.conf has some new fields added:
 2327     - POSIX_THREADS_INC and POSIX_THREADS_LIBS to specify
 2328           locations of your pthread header file and library
 2329     - PDL_CONFIG_VERSION to track the perldl.conf VERSION
 2330     - PDLDOC_IGNORE_AUTOLOADER to control pdldoc behavior
 2331     - PDL_BUILD_DIR provides the build directory path
 2332     - PDL_BUILD_VERSION provides the PDL build version
 2333           (to help with ambiguity from multiple PDL installs)
 2334  
 2335    NOTE: If you are using a private or customized perldl.conf
 2336    file, please be sure to update with these additional fields
 2337    as the perl Makefile.PL doesn't yet detect version skew
 2338    automatically.
 2339   
 2340  * PDL::IO::Browser now builds in many cases (but not all).
 2341    If you try it, please let us know how it goes.  Just edit
 2342    the value of WITH_IO_BROWSER in your perldl.conf before
 2343    configuring the build (i.e., perl Makefile.PL).
 2344  
 2345  * PDL::PP has seen some significant improvements including
 2346    code cleanup, improved documentation, and code refactoring
 2347    for comprehension.  There is a new PDL::PP::pp_line_numbers()
 2348    routine which enables line # traceback for errors and warnings
 2349    from PP code.
 2350  
 2351  * Improved error output from the pdl2 shell via the new
 2352    CleanErrors plugin which filters out the non-PDL part
 2353    of the error output leading to *much* more concise and
 2354    helpful reports.
 2355  
 2356  * The pdl() constructor now accepts a string argument which
 2357    allows for writing pdls using a matlab/octave style
 2358    syntax as well as cutting and pasting from interactive
 2359    session output to create pdls initializations for scripts
 2360    and program files.
 2361    
 2362    The new constructor also allows for inf, nan, and bad to
 2363    generate the appropriate values (case insensitive), e.g.,
 2364  
 2365       $bad = pdl q[1 2 3 bad 5 6];  # Set fourth element to the bad value
 2366       $bad = pdl q[1 2 3 BAD 5 6];  # ditto
 2367       $bad = pdl q[1 2 inf bad 5];  # now third element is IEEE infinite value
 2368       $bad = pdl q[nan 2 inf -inf]; # first value is IEEE nan value
 2369  
 2370    This is new functionality so feedback and problem reports
 2371    are welcome.
 2372  
 2373  * PDL::Image2D has new routines: pnpoly() to determine the points
 2374    in a polygon from the sequence of vertex coordinates, and
 2375    cc4compt() for 4-component labeling of a binary image.
 2376  
 2377  * PDL now supports pdls larger than 2GiB.  The element count
 2378    is still an int type internally so the total number of elements
 2379    per-ndarray must be less than 2**31.
 2380  
 2381  * POSIX threads (pthreads) are supported for win32 and cygwin
 2382    platforms.  Pthreads are now available for all PDL platforms.
 2383  
 2384  * New PDL::ParallelCPU module provides automatic distribution
 2385    of implicit thread loops across a number of processors.  Now
 2386    you can watch your PDL computations maximize the load on
 2387    *all* your processors.  See the docs for how to configure this
 2388    feature and how to adjust your calculations to best take
 2389    advantage of this feature.
 2390  
 2391  * PDL::Graphics::PLplot now works with the latest release of the
 2392    PLplot library and has improved configuration and build
 2393    handling.  Feedback welcome.
 2394  
 2395  * rcols() and wcols() now use the same convention for multi-column
 2396    input and output: dim0 is *always* the data dimension and
 2397    dim1 corresponds to the columns in the file.  This adjustment
 2398    makes them their inverse operations.
 2399  
 2400  * The ADEV calculation in statsover has been corrected along
 2401    with the documentation.
 2402  
 2403  * PDL::Graphics::TriD changes:
 2404     - PDL::Graphics::TriD now builds using the perl OpenGL
 2405           module (POGL) when configured on cygwin with the
 2406           interface=W32API option.  By default, POGL used
 2407           interface=GLX on cygwin which does software rendering
 2408           via Mesa/X11 (slower!).  If you reinstall POGL with
 2409           the W32API setting, you will need to rebuild PDL and
 2410           PDL::Graphics::TriD to pick up the new configuration.
 2411     - A new 4-line graphics demo contributed by Mark Baker has
 2412           been added to 'demo 3dgal'.  Take a look.
 2413  
 2414  * Various enhancements to FITS handling, including:
 2415    - add map() fix for nonlinear FITS headers
 2416    - Enable hdrpcy() in rfits() for Rice-compressed images
 2417  
 2418  * Test suite improvements to provide better diagnostics from
 2419    failures and to make tests more correct avoiding "false fails"
 2420    in the test reports.  Various tests have been migrated to use
 2421    File::Temp::tempdir and File::Temp::tempfile to improve the
 2422    robustness for temporary files and directories naming and
 2423    creation during tests.
 2424  
 2425  * Update ExtUtils::MakeMaker required version to 6.31 to support
 2426    the new standard of INSTALL_BASE to configure for a local
 2427    perl/PDL module installation.
 2428  
 2429  * Update Text::Balanced required version to 1.89.  This is the
 2430    version present in perl 5.8.0 (the minimum required for PDL)
 2431    so this change in requirement is not expected to affect any
 2432    PDL users.
 2433  
 2434  * pdldoc now searches your PDLLIB path for PDL::AutoLoader docs
 2435    in addition to the pre-extracted documentation database.  This
 2436    makes pdldoc give the same output as the help command in the
 2437    PDL shells.
 2438  
 2439  * Many updates and additions to the PDL documentation.
 2440  
 2441  * Devel::CheckLib is being used in more places during the
 2442    PDL configuration stage.  We plan to make this the standard
 2443    baseline for dependency library detection going forwards.
 2444    The included copy of Devel::CheckLib has been updated to 0.95.
 2445  
 2446  * A new unified implementation of barf()/warn() for PDL removes
 2447    code duplication.  barf() is now defined in both PDL::Core and
 2448    the PDL packages.  PDL::cluck is added as an analog of Carp::cluck
 2449    (as PDL::barf is an analog of Carp::confess).  barf() now
 2450    generates its stack trace by hooking into Carp::confess on
 2451    both the Perl and C sides.
 2452  
 2453  * Various fixes for PDL::Transform
 2454    - fix inverse in perspective()
 2455    - fix t_cubic() parameter parsing
 2456    - fix handling of multiple PCi_j systems in the ndarray header
 2457  
 2458  * Added SIGPIPE handlers to cases where PDL uses pipes to/from
 2459    external processes (such as ffmpeg or some NetPBM image
 2460    converter programs).  This should make PDL "SIGPIPE safe" by not
 2461    exiting when a PDL piped IO output process quits (e.g., as when
 2462    called from within the perldl/pdl2 shell).
 2463 
 2464 
 2465 
 2466 v2.4.9 2011-04-09 10:05:43-04:00
 2467 
 2468 General Notes:
 2469 
 2470  * Fixes a couple of surprise bugs that were discovered
 2471    immediately with the PDL-2.4.8 release.
 2472 
 2473  * See Also: the Release Notes for PDL-2.4.8 below
 2474 
 2475 
 2476 Highlights:
 2477 
 2478  * Fix sf.net bug #3267408 "t/slice.t crashes in tests 68-70 for BSD"
 2479  
 2480  * Fix sf.net bug #3190227 "PDL build fails with parallel GNU make -j3 -j3"
 2481 
 2482  * Fixed various tempfile name generation problems by switching
 2483    to File::Temp instead of hand rolled solutions.  This is the
 2484    recommended approach going forward.
 2485 
 2486  * Force Convert::UU usage for BSD to work around a t/dumper.t
 2487    failure on MirBSD.
 2488 
 2489 
 2490 
 2491 v2.4.8 2011-03-29 17:12:41-04:00
 2492 
 2493 General Notes:
 2494 
 2495  * The deprecated Karma imaging library support code
 2496    has been removed from the PDL distribution.
 2497  
 2498  * Perl OpenGL (POGL) is now the only build option for
 2499    3-D graphics support in PDL.  The POGL build has
 2500    proven to be portable and reliable.  This prepares
 2501    TriD graphics development for the next stage of
 2502    re-factoring for support and new features.
 2503  
 2504  * Many improvements to the PDL configuration, build
 2505    and test process make this the most robust PDL yet.
 2506  
 2507  * PDL::IO::FlexRaw now supports automatic header file
 2508    creation when writeflex() is given a filename argument
 2509    for writing.  readflex/writeflex/mapflex now support
 2510    reading and writing ndarrays with bad values in them.
 2511  
 2512  * New PDL::Constants module provides PI and E.
 2513 
 2514  * PDL::Complex now supports in-place operations.
 2515 
 2516  * Added $PDL::toolongtoprint to set the maximum ndarray
 2517    size allowed to print as a string.  This was added
 2518    to the default.perldlrc to make it easier to discover
 2519    by users.
 2520 
 2521  * wmpeg() from PDL::IO::Pic uses the new ffmpeg back-end
 2522    and can create many additional file formats beyond MPEG
 2523    alone, including MP4 and animated GIF.  See the
 2524    documentation for details.
 2525  
 2526  * Lots of improvements to the documentation, overall
 2527    usability and many bugs fixed!
 2528 
 2529 Highlights:
 2530 
 2531  Build and Test Enhancements:
 2532 
 2533  * Karma support code has been *removed* from the PDL
 2534    distribution The last stable PDL distribution with
 2535    Karma code was be PDL-2.4.7.
 2536    
 2537  * You must use the Perl OpenGL module to build the
 2538    PDL 3-D graphics module, PDL::Graphics::TriD.
 2539    OPENGL_LIBS, OPENGL_INC and OPENGL_DEFINE are no
 2540    longer used by perldl.conf for the configuration
 2541    process.
 2542    
 2543  * Added a check for mis-installed PROJ4 libraries.  If
 2544    the library does not initialize (even if present) then
 2545    PDL will not build the PROJ4 modules.  This is sf.net
 2546    feature #3045456.
 2547    
 2548  * GD, HDF, PROJ4, OpenGL, and GSL tests will not be run
 2549    unless the corresponding module was configured to be
 2550    built.  This addresses the possibly mysterious test
 2551    failures caused by previous PDL installations in the
 2552    perl path at build time.
 2553    
 2554  * Use of the Test::More TODO {} blocks allows tests for
 2555    known bugs to be added to the test suite without 
 2556    causing the suite to fail.  This replaces the previous
 2557    SKIP_KNOWN_PROBLEMS option and should better enable
 2558    test first development and debugging.
 2559    
 2560  * utils/perldlpp.pl is a new script for off-line source
 2561    filtering to pre-filter PDL source files with NiceSlice
 2562    constructs.  This allows PDL to use NiceSlice constructs
 2563    in the core functionality while still allowing PDL to
 2564    work in environments where source filters are not supported.
 2565    
 2566  * The 'perl Makefile.PL' response to detecting another PDL
 2567    in the build path has changed.  If such a pre-existing PDL
 2568    installation is detected, the user is warned *but*
 2569    configuration and build will proceed nonetheless.
 2570    
 2571  * Clean-up and fixes to demos and tests for reliability and
 2572    portability.
 2573 
 2574  Documentation:
 2575 
 2576  * Added INTERNATIONALIZATION file with i18n notes.  PDL
 2577    does yet not have internationalization support beyond
 2578    that provided  by perl itself.
 2579    
 2580  * Cleared up the documentation on when to use lu_decomp
 2581    and versus lu_decomp2.  Now that lu_decomp is threaded,
 2582    it is the preferred implementation.
 2583    
 2584  * wmpeg() with the ffmpeg converter supports generation of
 2585    many different output video file formats including MPEG,
 2586    MP4, and animated GIF.  Documentation on these uses were
 2587    added.
 2588 
 2589  * New example code refresh.pdl in Example/PLplot to
 2590    provide for PLplot, some of the same functionality
 2591    as in PDL::Graphics::PGPLOT.
 2592    
 2593  * Other documentation updates for clarity and correctness.
 2594 
 2595  New Features or Functionality:
 2596 
 2597  * New PDL::Constants module providing PI and E (so far)
 2598    
 2599  * Inplace support added for PDL::Complex operations
 2600    
 2601  * pdldoc and the pdl2/perldl help commands now print all
 2602    matches by default when multiple matches are found.
 2603 
 2604  * A do_print command was added to the pdl2 shell which
 2605    toggles the input mode between printing and not
 2606    printing the return value of each command.
 2607    
 2608  * readflex/writeflex/mapflex now support reading and writing  
 2609    ndarrays with bad values in them. This was sf.net feature
 2610    request #3028127, "add badvalue support to FlexRaw".
 2611    
 2612  * writeflex now supports automatically calling the
 2613    writeflexhdr() routine if you have set the variable
 2614    $PDL::FlexRaw::writeflexhdr to a true value and are
 2615    writing to a file given by filename as argument.
 2616    
 2617  * Updated the error handling for GSL::INTERP to match other
 2618    GSL module usages.
 2619    
 2620  * Applied sf.net patch #3209075 IO::HDF square sds
 2621    
 2622  * New binary blob support in PDL::IO::GD::OO
 2623 
 2624  Bugs Fixed:
 2625 
 2626  * Applied Christian Soeller's patch for FFTW on 64-bit
 2627    systems.  This resolves bug #3203480 "t/fftw.t fails
 2628    on 64-bit systems".
 2629    
 2630  * Fixed sf.net bug #3172882 re broken threading in inv().
 2631    inv() and lu_backsub() now handle threading.  Updated
 2632    documentation for lu_decomp, lu_deomp2, and lu_backsub.
 2633    
 2634  * Fixed sf.net bug #3171702 "missing podselect command
 2635    breaks PDL build"
 2636    
 2637  * Fixed sf.net bug #3185864 (bad adev in statsover)
 2638    
 2639  * Fixed sf.net bug #3139697: fixed imag2d() to work better
 2640    with Mac OS X GLUT and not just FreeGLUT.
 2641    
 2642  * Fixed uniqind bug #3076570
 2643    
 2644  * Fixed SF bug #3057542: wmpeg doesn't error on missing
 2645    ffmpeg program.  Now wmpeg returns 1 on success and
 2646    undef on error.  If ffmpeg is not in PATH, it just fails
 2647    immediately....
 2648    
 2649  * Fixed SF bug #3056142: pdl2 fallback to perldl broken
 2650    on win32
 2651    
 2652  * Fixed SF bug #3042201: t/dumper.t fails mysteriously
 2653    
 2654  * Fixed SF bug #3031068: PDL::IO::FlexRaw mapflex memory
 2655    mapping fails
 2656    
 2657  * Fixed SF bug #3011879, "pdl() constructor crashes perl for
 2658    mixed ref/ndarray args" and #3080505, and #3139088.  This
 2659    fix also includes a larger and more complete set of tests.
 2660    
 2661  * Fixed segfault in plplot.t with a work-around.
 2662    
 2663  * Fixed bug in readenvi.pdl header list value processing
 2664    and added support for embedded file headers.
 2665    
 2666  * Fixed bug in FlexRaw.pm support for headers with Type
 2667    passed  as string.
 2668    
 2669  * Fixed imag2d() in PDL::Graphics2D.  It no longer calls
 2670    exit on ESC if run within the pdl2/perldl shell.  Also
 2671    did some clean up of key controls and module mechanics.
 2672    
 2673  * Fixed upstream bug in Devel::REPL for MultiLine
 2674    continuation.  Now incomplete q[] and qq[] constructs
 2675    continue reading until properly closed.  See the
 2676    Known_problems file for details.
 2677 
 2678 
 2679     
 2680 v2.4.7 2010-08-18 20:55:52-04:00
 2681 
 2682 General Notes:
 2683 
 2684  * New requirements:
 2685    - perl version 5.8.x and higher
 2686    - Convert::UU
 2687  
 2688  * PDL::Graphics::TriD now requires OpenGL-0.63
 2689  
 2690  * New 2-D image display routine: imag2d()
 2691 
 2692  * pdl() constructor, a.k.a. PDL->new(), now
 2693    takes string arguments with either MATLAB type
 2694    concatenation syntax or PDL print output (for
 2695    easier cut-and-paste from PDL shell sessions).
 2696 
 2697  * Improved text and comma separated value file
 2698    input via rcols(): faster and more flexible.
 2699  
 2700  * A new PDL shell based on Devel::REPL (i.e.,
 2701    Moose technology).  The new shell supports
 2702    more perl syntax (lexical variables and
 2703    packages), is more extensible (via a system
 2704    of plugins), and supports many forms of file
 2705    and variable completion.
 2706    
 2707    Install Devel::REPL and give it a try!
 2708    User feedback welcome.
 2709 
 2710  * More portability (builds on more platforms
 2711    with more features than ever).
 2712 
 2713  * Many bugs fixed...
 2714 
 2715 
 2716 Highlights:
 2717 
 2718  * General
 2719 
 2720    OpenGL-0.63 is required for PDL::Graphics::TriD.
 2721 
 2722    Convert::UU is required for PDL.
 2723 
 2724    Karma is DEPRECATED and NOT SUPPORTED.  Set
 2725    USE_KARMA=>1 in perldl.conf to force a build.
 2726    
 2727    
 2728  * New 2D Image Display Feature: imag2d()
 2729 
 2730    See PDL::Graphics2D for documentation.
 2731 
 2732    Add image pixel value display on mouse
 2733    click in imag2d window
 2734    
 2735    Add keyboard command shortcuts for imag2d
 2736    (with placeholders)
 2737 
 2738    Fix a number of imag2d() usabiilty bugs
 2739    
 2740    
 2741  * pdl() Constructor Can Take String Input
 2742 
 2743    Allows use of MATLAB-style [ ; ] syntax
 2744 
 2745    Allows cut-and-paste of printed pdl values
 2746    as input args for pdl()
 2747    
 2748    
 2749  * rcols/wcols Improvements
 2750 
 2751    Much faster read times
 2752 
 2753    Multiple columns can read into a single
 2754    pdl varible
 2755 
 2756    Symmetric handling of perl and pdl
 2757    column data
 2758 
 2759    Improved format support for CSV file input
 2760    
 2761    
 2762  * Enhanced PDL Shell (Version 2)
 2763 
 2764    Based on Devel::REPL which must be installed
 2765    along with either Term::ReadLine::Perl or
 2766    Term::ReadLine::Gnu to use the pdl2 features.
 2767 
 2768    Supports Term::ReadLine::Perl and Term::ReadLine::Gnu.
 2769 
 2770    Upward compatable with the original PDL shell, perldl.
 2771 
 2772    Adds completion and command line editing support
 2773    across all PDL platforms.
 2774 
 2775    Adds support for current package and lexical variables.
 2776 
 2777    Toggle default print output via the do_print attribute.
 2778 
 2779    Default prompt for perldl and pdl2 is now 'pdl> '
 2780 
 2781    help vars now shows results alphabetically
 2782 
 2783    pdl2 now runs (falls back to) perldl if Devel::REPL
 2784    is not installed or if Term::ReadLine::(Perl|Gnu) is
 2785    not installed.
 2786    
 2787    
 2788  * Other Features
 2789 
 2790    Fix wmpeg() to use ffmpeg to generate the
 2791    video (sf.net feature request #3010984).
 2792 
 2793    Added tiled compressed image handling to rfits
 2794 
 2795    Faster matrix multiply
 2796 
 2797    Preliminary support for ENVI file format data
 2798    in PDL/IO/ENVI/readenvi.pdl
 2799    
 2800    
 2801  * Build Improvements:
 2802 
 2803    PDL build process now detects multiple PDL installs
 2804    and warns of possible conflicts.
 2805 
 2806    'use PDL' now loads PDL::Config by default.
 2807 
 2808    PDL "as built" configuration is now saved to %PDL::Config
 2809 
 2810    Changes file is automatically updated each release
 2811 
 2812    Add SKIP_KNOWN_PROBLEMS support for build
 2813 
 2814    Add checks to prevent warnings from access to $HOME
 2815    when it is not defined.
 2816    
 2817    
 2818  * Portability Fixes
 2819 
 2820    Multiple build improvements for debian platforms
 2821 
 2822    Improved portability across perl and compiler versions
 2823 
 2824    Reduced number of fortran dependencies
 2825 
 2826    Improved support for win32 platforms
 2827    - PDL::GIS::Proj builds for win32
 2828    - PDL::Transform::Proj4 builds for win32
 2829    - PDL::Graphics::PLplot builds for win32
 2830    - PDL::IO::Dumper builds for win32
 2831    
 2832    
 2833  * 3-D Graphics
 2834 
 2835    Improved PDL::Graphics::TriD demos and examples
 2836 
 2837    Fixed problems with VRML support for many platforms.
 2838 
 2839    Better dependency searches for OpenGL during PDL build
 2840 
 2841    Removed warnings "noise" when used with perl -w
 2842 
 2843    New spheres3d routine added to PDL::Graphics::TriD
 2844    
 2845    
 2846  * Bugs Fixed
 2847 
 2848    Fix PDL::AutoLoader to handle win32 PDLLIB path
 2849    syntax with ; as separator. 
 2850 
 2851    Fix PDL::Complex::string and sum and sumover
 2852    (sf.net bug #1176614)
 2853 
 2854    Fix PDL::Config does not match actual build
 2855    configuration (sf.net bug #3030998).
 2856 
 2857    Fix dimension numbering in PDL::Transform::t_fits
 2858 
 2859    Fix jpegtopnm problem in proj_transform.t
 2860 
 2861    Fix rt.cpan.org bug #53815 in IO/HDF/SD/SD.pd
 2862 
 2863    Fix rt.cpan.org bug #59126 in isempty pod
 2864 
 2865    Fix sf.net bug #2901170 re overly verbose warnings when
 2866    running TriD with perl -w
 2867 
 2868    Fix sf.net bug #3011143 re whitespace in perl path
 2869 
 2870    Fix sf.net bug #3021578 re missing xtra dummy dims
 2871 
 2872    Fix threading with lu_decomp and lu_backsub
 2873    (sf.net bug #3021567)
 2874 
 2875    Fix uniq and uniqind NaN and BAD value handling
 2876    (sf.net bug #3011659)
 2877 
 2878    Fix uniqvec bug where it did not return a 2-D result
 2879    (sf.net bug #2978576)
 2880 
 2881    Fix uuencode/uudecode detection logic in PDL::IO::Dumper
 2882    to include Convert::UU check
 2883 
 2884    Make PDL prompt/warn if space in build path
 2885    (sf.net bug #2924854).
 2886 
 2887    Fix up code to not crash on non-lazy linking systems.
 2888 
 2889    Work arounds for perl-d lvalue temp bug introduced
 2890    in recent perls.
 2891 
 2892    t/lvalue.t is skipped if run under the debugger. 
 2893 
 2894    Fix format string attack errors in GSL, PGPLOT,
 2895    and Transform.
 2896    
 2897    
 2898  * Many Documentation Improvements
 2899 
 2900    Completely reworked PDL web site
 2901    - Clearer and more helpful to new PDL users.
 2902    - See http://pdl.perl.org for the latest!
 2903       
 2904    New documentation:
 2905    - Migration guide for MATLAB users.
 2906    - Migration guide for Scilab users.
 2907    - Threading tutorial.
 2908 
 2909    Major reorganization of documentation to better
 2910    help new users
 2911    - A guide to PDL's tutorial documentation.
 2912    - A guide to PDL's module reference documentation.
 2913    - A study course through all of PDL's documentation.
 2914    - Removed PDL::Intro
 2915 
 2916    POD cleanup across many PDL modules and functions.
 2917 
 2918    Update to copyright statements throughout PDL
 2919    to clarify licenses.
 2920 
 2921    Improved on-line help and apropos features in
 2922    the PDL shell
 2923 
 2924    Updated FAQ
 2925 
 2926    Improved POD to HTML translation
 2927 
 2928    DEPENDENCIES for PDL updated and checked
 2929    for applicability.
 2930 
 2931    INSTALL guides improved in the distribution
 2932    and on the web site.
 2933 
 2934 
 2935 
 2936 v2.4.6 2009-12-31 23:06:11-05:00
 2937 
 2938 General Notes:
 2939 
 2940  * Mainly a bug fix and polishing release
 2941 
 2942 
 2943 Highlights:
 2944 
 2945   * Improved 3D graphics and OpenGL functionality
 2946 
 2947   * imag2d() routine for multi-image (photo) display
 2948 
 2949   * Many fixes for Debian package release
 2950 
 2951   * Several little bugs fixed since PDL-2.4.5
 2952 
 2953   * Fixed some issues with PDL convolution routines
 2954 
 2955   * Improved documentation and release notes and files
 2956 
 2957   * Padre and enhanced perldl shell integration begun
 2958 
 2959 
 2960 Summary of Changes:
 2961 
 2962   * Improved 3D graphics and OpenGL functionality
 2963 
 2964     Perl OpenGL 0.62 is the minimum required version
 2965     for PDL::Graphics::TriD to build.
 2966 
 2967     TriD now builds correctly for Mac OS X systems
 2968     without X11 installed.
 2969 
 2970     Autoprobe for build of 3D graphics and the use
 2971     of the Perl OpenGL library has been implemented.
 2972     The default perldl.conf setting is to check.
 2973 
 2974     Improved multi-window support for PDL::Graphics::TriD
 2975     display windows: the GLUT window ID is now part of
 2976     the default window title for convenience, and redraws
 2977     with multiple open TriD windows are handled correctly.
 2978     
 2979   * imag2d() routine for multi-image (photo) display
 2980 
 2981     REQUIRES: The Perl OpenGL TriD interface and FreeGLUT.
 2982 
 2983     IMPORTANT: Legacy X11 TriD is *not* supported!
 2984 
 2985     It is implemented in the imag2d.pdl file for autoloading
 2986     via PDL::AutoLoader.  To use, copy the imag2d.pdl file
 2987     to somewhere in your PDLLIB path or add the location to
 2988     your PDLLIB environment variable.
 2989 
 2990     It works with multiple, simultaneous, image windows
 2991     and appears to work side-by-side with TriD graphics
 2992     windows.
 2993     
 2994     After you have imag2d.pdl in your @PDLLIB list,
 2995     you can use 'help imag2d' to get usage instructions
 2996     and documentation.
 2997     
 2998     This implements the basic functionality planned regarding
 2999     an improved imagrgb() routine.
 3000 
 3001   * Many fixes for Debian package release
 3002 
 3003     This should allow PDL-2.4.6 to be more readily released
 3004     as a Debian packages.  The general clean up involved
 3005     improves PDL portability and robustness generally.
 3006 
 3007   * Several little bugs fixed since PDL-2.4.5
 3008 
 3009     The number of history lines when you use Term::ReadLine::Perl
 3010     with perldl are now set correctly to $PERLDL::HISTFILESIZE.
 3011     The default value is 500.
 3012 
 3013     A number of minor internal fixes for portability and
 3014     implementation improvements:
 3015 
 3016      - Add comment re fix for defined(%hash) usage
 3017      - Fix annoying PGPLOT::HANDLE warning message
 3018      - Replace GIMME by GIMME_V in Core.xs
 3019      - Update to v3.14 of ppport.h portability
 3020 
 3021     Fixed MINUIT build problem where non-standard code was
 3022     being generated which caused problems with rigorous compiler
 3023     settings.  This was SF bug #2524068.
 3024 
 3025   * Fixed a number of issues with PDL convolution routines
 3026 
 3027     conv1d() algorithm adjusted to match conv2D() and convolutionND().
 3028     Documentation on the exact computation being performed in conv1d()
 3029     was added.
 3030 
 3031     Fixes bug #2630369 with fftconvolve().  It now gives the same results
 3032     as conv1d(), conv2d(),.., except perhaps with respect to the boundary
 3033     condition handling.
 3034 
 3035   * Improved documentation and release notes and files
 3036 
 3037     Updated PDL::FAQ.
 3038 
 3039     Lots of little changes to bring documentation in line
 3040     with current PDL functionality.  Volunteer editors and
 3041     contributors always welcome!
 3042 
 3043   * Padre and enhanced perldl shell integration begun
 3044 
 3045     There is a new PDL-2.4.6/Padre/ subdirectory in the PDL
 3046     source tree which contains work towards Padre integration
 3047     and a 2nd generation, enhanced perldl shell for PDL.
 3048 
 3049     E.g. an *experimental* plug-in giving PDL::NiceSlice support
 3050     to the Devel::REPL shell is included.  See the Padre/README
 3051     file for instructions to get you started.
 3052 
 3053 
 3054 
 3055 v2.4.5 2009-10-24 11:56:23-04:00
 3056 
 3057 Highlights:
 3058 
 3059   * 3D graphics modules now run on win32 and Mac OS X
 3060     systems without requiring X11 be installed.  The
 3061     only prerequisites are OpenGL and FreeGLUT/GLUT.
 3062 
 3063   * Release documentation and FAQ have been updated
 3064     to be more useful (and more accurate).
 3065 
 3066   * PDL build, test, and run time diagnostic messages
 3067     have been make clearer and more helpful.
 3068 
 3069   * Many bugs have been fixed since PDL-2.4.4 so this
 3070     is the most reliable PDL ever.
 3071 
 3072   * PDL now requires perl 5.6.2 or greater and has
 3073     updated DEPENDENCIES information and code.  This
 3074     should improve the buildability of PDL
 3075 
 3076 
 3077 General Notes:
 3078 
 3079   This is the first PDL release supporting the new build
 3080   strategy for the PDL::Graphics::TriD modules.  The result
 3081   is it now builds on more platforms than ever.  You'll
 3082   need to install the OpenGL module and have FreeGLUT or
 3083   GLUT (for Mac OS X) on your system.
 3084 
 3085   If you have problems with the new TriD build (that you
 3086   did not have before), edit perldl.conf and set USE_POGL
 3087   to 0.  That should enable you to build the legacy TriD
 3088   code but you *will* want to submit a bug report, see the
 3089   next point....
 3090 
 3091   IMPORTANT: Given the increased portability and generality
 3092   of the new TriD interface approach, it is expected that
 3093   the legacy TriD build interface (based on X11) will be
 3094   deprecated soon (almost immediately) and removed after that.
 3095   (N.B. It has been effectively unsupported for some time)
 3096 
 3097   If you are new to PDL, we recommend joining the perldl
 3098   mailing list for discussion and questions.  See
 3099 
 3100     http://pdl.perl.org/?page=mailing-lists
 3101 
 3102   for how to sign up and links and searches of the list
 3103   archive discussions.
 3104 
 3105 
 3106 Summary of Changes:
 3107   
 3108   New perldl.conf configuration parameters controlling
 3109   build of TriD with perl OpenGL (a.k.a. POGL) with the
 3110   follow default values:
 3111 
 3112     USE_POGL:
 3113           1 -- build using POGL
 3114           0 -- build using legacy build process
 3115       undef -- build with POGL if possible
 3116 
 3117     POGL_VERSION:
 3118        0.60 -- minimum required version of OpenGL
 3119 
 3120     POGL_WINDOW_TYPE:
 3121      'glut' -- use a GLUT GUI for window creation
 3122       'x11' -- use GLX and X11 for the GUI (this is a "compatibility
 3123                mode" to support PDL::Graphics::TriD::Tk widgets)
 3124 
 3125   NOTE: Set WITH_3D => 0 in perldl.conf to disable the
 3126   TriD build completely.  Just setting USE_POGL => 0 is
 3127   not enough.
 3128   
 3129   The OpenGL tests in t/opengl.t now respects the interactive
 3130   setting from the PDL_INT environment variable.
 3131 
 3132   Two TriD check programs, 3dtest.pl and line3d.pl, are added to the
 3133   main PDL build directory.  They can be run as quick checks of the
 3134   new functionality and are short enough run under the perl debugger
 3135   if needed. e.g.
 3136 
 3137      perl -Mblib 3dtest.pl OR perl -Mblib line3d.pl
 3138 
 3139 
 3140   OpenGL (a.k.a. GL) is the default TriD output device on all
 3141   platforms.  VRML does not work at the moment.  GLpic is not
 3142   tested but may work.
 3143 
 3144   Closed SF bug #1476324 by adding FAQ entry on clean installs
 3145 
 3146   Fix qsorti(null()) crash bug from SF bug #2110074.  Make
 3147   qsorti() return quietly when given a null() ndarray input
 3148 
 3149   Fix broken PP typemap finding code, thanks to CS for the
 3150   final code and many testers!
 3151   
 3152   Fix t/autoload.t tilde expansion bugs and test failures.
 3153   tilde expansion seems to work consistently with bash now
 3154 
 3155   Partial fix implemented for PDL::IO::Browser.  The code has
 3156   only been tested with cygwin but it should work on systems
 3157   with ncurses in the "right place".  This is **not tested**
 3158   but set WITH_IO_BROWSER => 1 if you wish to try.
 3159 
 3160   If the perldl shell is unable to load PDL for some reason
 3161   and defaults to basic perl support, the prompt now changes
 3162   to perl> reflecting that fact.
 3163 
 3164   readflex() now works with File::LinearRaid.
 3165 
 3166   Many win32 fixes to tests and build process which make
 3167   things work more smoothly on win32 platforms.
 3168 
 3169   See the Changes file or run 'git log --stat' for the detailed
 3170   list of changes.
 3171   
 3172 
 3173 
 3174 v2.4.4 2008-11-12 19:16:53-10:00
 3175 
 3176 General Notes:
 3177 
 3178      - Bad value support is now enabled by default for
 3179        PDL builds.  This feature allows simpler handling
 3180        of missing or invalid data during processing.
 3181 
 3182        For example, missing pixels could be interpolated
 3183        across.  Calculations could be skipped for
 3184        missing data points...
 3185        
 3186        Edit the perldl.conf file to turn off bad value
 3187        support before compiling if needed.
 3188 
 3189      - This release includes significant improvments
 3190        in portability, enhancements in functionality,
 3191        and *many* bugs fixed.
 3192 
 3193      - PDL::Graphics::TriD modules for 3-D and image
 3194        visualization are being refactored for improved
 3195        portability and performance.  Preliminary hooks
 3196        are in PDL-2.4.4 to support the new functionality.
 3197        
 3198        Announcements to the perldl mailing list will be
 3199        made when the PDL::Graphics::OpenGL::Perl and
 3200        Term::ReadLine::FreeGLUT suport is on CPAN.
 3201 
 3202      - Builds out-of-the-box on cygwin and win32
 3203      
 3204      - perl 5.6.x is explicitly required to configure and
 3205        will go away in future versions.  5.8.x and above
 3206        are the recommended versions
 3207 
 3208 
 3209 Summary of Changes:
 3210 
 3211      - Improve uuencode support in Dumper for additional OSes
 3212        such as *BSD varieties that may need additional options
 3213        to prevent stripping of the leading slash in pathnames
 3214        including: darwin, netbsd, openbsd, freebsd, and dragonfly.
 3215       
 3216      - Updated more PDL tests to use the recommended Test::More
 3217       
 3218      - Updated PDL::Graphics::PLplot build support for more 5.9.0
 3219        specific features
 3220       
 3221      - AutoLoader ~ expansion has been updated to conform more
 3222        closely to the ~ expansion in the bash shell
 3223       
 3224      - Better checks for a valid PROJ4 build environment are now
 3225        performed before attempting to compile PDL modules using it
 3226       
 3227      - PDL now builds and runs on perl-5.10.x
 3228       
 3229      - The perldl shell has added support for using FreeGLUT for
 3230        display in analogy with the existing Tk event loop support.
 3231        This enables refactoring of the TriD modules to use the
 3232        Perl OpenGL module (a.k.a. POGL) instead of the internal,
 3233        and deprecated, PDL::Graphics::OpenGL et. al.
 3234       
 3235      - The perldl acquire/filter/execute loop is now $_-safe by
 3236        using $lines instead of $_ for all the central modifications.
 3237        Avoids problems with some AUTOLOAD functions that leaked $_.
 3238       
 3239      - Removed ExtUtils::F77 from the required prerequisites for
 3240        PDL to improve the buildability on platforms without an
 3241        available fortran compiler.  If you have a fortran compiler
 3242        and EU::F77 installed, PDL::Slatec will be built.
 3243       
 3244      - zeros function added as an alias for the zeroes function
 3245          
 3246      - Many warning messages that were not actually problems have
 3247        been quieted, especially many pointer to int conversion messages
 3248       
 3249      - Added $PERLDL::HISTFILESIZE to allow configuration of the number
 3250        of lines of history to be saved by the interactive PDL shell.
 3251       
 3252      - Fixed implementation of the pctover() function to address bug
 3253        #2019651 on sf.net.  Added explicit documentation in the code
 3254        on the algorithm being used.
 3255       
 3256      - Various updates to the PDL FAQ
 3257       
 3258      - Implemented a PDL interface to the Minuit minimization library
 3259        from CERN
 3260       
 3261      - Removed circular dependency in PDL Makefile.PL Makefile generation
 3262        process which caused builds with some versions of make to fail
 3263       
 3264      - Multiple fixes to enhance configuration and build for win32
 3265      
 3266      - Added basic table-inversion to t_lookup for PDL::Transform
 3267       
 3268      - Fixed problem in uniqvec() where it failed to generate a correct
 3269        result if all the input vectors were the same, fixed bug #1869760
 3270       
 3271      - Add improved 16-bit image support for IO with rpic() and wpic()
 3272        provided you have a recent version of the NetPBM library that
 3273        supports 16-bit images
 3274       
 3275      - Enabled building of GSL on Win32.
 3276     
 3277 
 3278 
 3279 v2.4.3 2006-08-20 06:07:30-10:00
 3280 
 3281 General Notes:
 3282 
 3283      - again, mainly a bugfix and polishing release.
 3284 
 3285      - builds out-of-the-box on cygwin and win32 build environment
 3286        has been significantly improved
 3287      
 3288      - perl 5.6.x is now deprecated; 5.8.x is recommended.  Support
 3289        for 5.6.x may go away in future versions.  
 3290 
 3291 
 3292 Summary of Changes:
 3293 
 3294      - PDL now builds under cygwin on windows PC including
 3295        TriD(OpenGL) 3D graphics and PGPLOT and PLplot 2D graphics
 3296        support. See PDL/cygwin/ and files README and INSTALL for
 3297        details and how to build/install external dependencies.
 3298      
 3299      - The win32 build has been improved.  See PDL/win32/INSTALL
 3300        for details.
 3301      
 3302      - Many fixes from the Debian build patches have been
 3303        incorporated.  See PDL/debian for specifics.
 3304      
 3305      - 64bit platform build has been improved.
 3306      
 3307      - New functionality, functions and modules:
 3308          
 3309          * Bad value support has been extended to per-PDL bad
 3310            values as an experimental feature. To use, configure
 3311            WITH_BADVAL => 1 and BADVAL_PER_PDL => 1 in perldl.conf
 3312            before building.
 3313 
 3314          * PDL::GSL::INTEG now supports the calculation of
 3315            nested integrals
 3316 
 3317          * New function tcircle (threaded circle) added to 
 3318            PDL::Graphics::PGPLOT This draws multiple circles in
 3319            one go (see also tpoints and tline)
 3320 
 3321          * Added set operation routines for pdls treated as sets
 3322            (help setops).
 3323 
 3324          * PDL::IO::GD module interface to the GD runtime image
 3325            libaray (http://www.boutell.com/gd/) has been integrated.
 3326 
 3327          * The PDL::GIS::Proj and PDL::Transform::Proj4 modules
 3328            to interface to the PROJ4 Cartographic Projections
 3329            Library (http://proj.maptools.org/) have been added.
 3330 
 3331          * PDL::IO::HDF provides an interface to the HDF4
 3332            library (http://hdf.ncsa.uiuc.edu/).
 3333      
 3334      
 3335      - The PDL test suite (i.e. tests in in PDL/t) has been
 3336        enhanced. Coverage has improved and output diagnostic
 3337        messages are more useful. Test::More is becoming the
 3338        preferred test module. The vanilla Test and Test::Simple
 3339        may be deprecated in the future.
 3340 
 3341      - PDL core code has been fixed to address valgrind-detected
 3342        errors and to enable better bad value support including the
 3343        new experimental per-PDL bad values. These changes will
 3344        require a re-build/install of any external modules using
 3345        the C interface of PDL. See perldl.conf to configure the
 3346        new bad value support.
 3347 
 3348      - Several TriD graphics build problems have been resolved.
 3349        The TriD rotation bug has been fixed.
 3350 
 3351      - Many other bug fixes too numerous to mention. See the
 3352        PDL/Changes file for details.
 3353 
 3354      - Multiple fixes and additions to PDL documentation as well
 3355        as the PDL::FAQ.
 3356 
 3357 
 3358 
 3359 v2.4.2 2004-12-28 09:19:30-10:00
 3360 
 3361 General Notes:
 3362 
 3363      - again, mainly a bugfix and polishing release.
 3364      
 3365      - perl 5.6.x is now deprecated; 5.8.x is recommended.  Support
 3366        for 5.6.x may go away in future versions.  
 3367 
 3368      - a little too late for Christmas; but happy new year 2005!
 3369 
 3370 
 3371 Summary of Changes:
 3372 
 3373  - Overhaul of FITS I/O.  FITS binary tables are now supported,
 3374    for both reading and writing.
 3375 
 3376  - Many improvements to PLplot handling
 3377 
 3378  - New Graphics::Limits package determines display range for multiple 
 3379    concurrent data sets
 3380 
 3381  - Better PDL::reduce function
 3382 
 3383  - Improvements to PDL::Transform
 3384 
 3385  - pdl() constructor is more permissive -- you can feed it PDLs and 
 3386   it does the Right Thing most of the time.
 3387 
 3388  - Cleaner handling of config files
 3389 
 3390  - Improvements to multi-line parsing in the perldl shell
 3391 
 3392  - New 'pdl' command-line entry to perldl shell allows #!-style
 3393    scripting (so you can re-use your journal files verbatim)
 3394 
 3395  - Several fixes for Microsoft Windows operation
 3396 
 3397  - PDL::undefval works properly, also has warning tripwires
 3398 
 3399  - statsover finally seems to produce meaningful, consistent RMS values
 3400 
 3401  - Several 64-bit compatibility issues (this work is probably not yet
 3402   complete).
 3403 
 3404 - Many small bug-fixes too numerous to list (see the Changes file).
 3405 
 3406 
 3407 
 3408 
 3409 v2.4.1 2004-01-05 12:27:18-10:00
 3410 
 3411 General Notes:
 3412 
 3413      - mainly a bugfix and polishing release
 3414 
 3415 
 3416 Summary of Changes:
 3417 
 3418      - Fixed warnings with perl 5.8.2
 3419 
 3420      - Replace original m51.fits with freely distributable image
 3421 
 3422      - Upgrade PLplot interface for plplot-5.2.1 and perl 5.8.2
 3423 
 3424      - Improvement to documentation of autoloaded routines
 3425 
 3426      - Added more universal `whatis' function to perldl
 3427 
 3428      - Numerous small fixes/additions to docs/functions
 3429 
 3430      - Improved handling of empty ndarrays
 3431 
 3432      - Fixed most reported bugs
 3433 
 3434 
 3435 v2.4.0 2003-05-22 12:09:26-10:00
 3436 
 3437 General Notes:
 3438 
 3439      - Perl 5.6.0 or later is now required, along with the modules
 3440        Filter and Text::Balanced.
 3441 
 3442      - After installing PDL 2.4.0 external PDL modules will need to re-built.
 3443        (any such modules will refuse to load until they have been re-built)
 3444        
 3445      - New demos of the PDL::Transform and PDL::Transform::Cartography
 3446         modules have been added to perldl.
 3447        Type 'demo transform' or 'demo cartography' in the perldl shell. 
 3448         ( Note that PGPLOT is required to run )
 3449 
 3450 Summary of Changes:
 3451 
 3452      - The NiceSlice syntax comes of age
 3453        (Nice slicing has been around a while, but really needs to be 
 3454         acknowledged as the main way of slicing PDLs...)
 3455 
 3456      - New GSL functionality: greatly improved access to the Gnu Scientific
 3457        Library, including interpolation, finite-difference, random
 3458        variable, and other routines.
 3459 
 3460      - New, very powerful indexing and slicing operators allow boundary 
 3461           conditions   (range, indexND)
 3462 
 3463      - N-dimensional indexing (indexND) and selection (whichND) methods
 3464 
 3465      - Powerful syntax for coordinate transformation and arbitrary image
 3466        resampling and coordinate transformations -- including high powered
 3467        spatially-variable filtering (PDL::Transform module)
 3468 
 3469      - Support for major cartographic transformations
 3470        (PDL::Transform::Cartography module)
 3471 
 3472      - New PLPlot graphics interface ( cleaner and faster than PGPLOT )
 3473 
 3474      - Many improvements to the PGPlot interface:
 3475        * Strong FITS support (easy display of images, vectors, & contours in
 3476             science coordinates)
 3477        * Better vector graphic support [including improvements to line() and
 3478          a new routine, lines()]
 3479        * Much cleanup of errors and bugs
 3480        * Spinlocks prevent interrupt-related PGPLOT crashes (requires Perl 5.8)
 3481        * RGB output to truecolor devices (requires PGPLOT-5.3devel)
 3482 
 3483      - Improvements to the perldl shell:
 3484        * Many bug fixes
 3485        * Multi-line inputs to the perldl shell for easier cut-n-paste
 3486        * ^D blocking on demand (controlled by perl variable or command-line 
 3487           switch)
 3488        * Autoloading detects error conditions on compile
 3489        * New demos
 3490 
 3491     - Header copying is now explicit rather than by reference -- so that,
 3492       e.g., FITS file manipulation is more intuitive and natural.
 3493 
 3494     - Improved support for Astro::FITS::Header
 3495 
 3496     - Bad value support is improved
 3497 
 3498     - Several new utility routines, including glue(), zcheck(), and ndcoords().
 3499 
 3500     - Better matrix operation support: matrix operations are now in 
 3501         PDL::MatrixOps, and are all threadable.  Singular value decomposition,
 3502         determinant, linear equation solving, matrix inversion, 
 3503         eigenvalue decomposition, and LU-decomposition.
 3504 
 3505 v2.3.4 2002-09-23 15:50:06-10:00
 3506 
 3507      - Now should compile using perl 5.8.0
 3508      - Improved speed for generating PDL's from a perl array ref
 3509      - Added PDL::IO::Storable, which enables PDL storage/retrieval
 3510        using the Storable package.
 3511      - Added  PDL::GSL::SF (Gnu Scientific Library, Special Functions) hierarchy
 3512      - New % operator follows (mathematically correct) perl % operator behavior
 3513      - Numerous Bug Fixes
 3514         
 3515   See the Changes file for a detailed list of changes.
 3516 
 3517 v2.3.3 2002-05-22 03:16:29-10:00
 3518   
 3519   Mainly a bugfix release with some nice little additions:
 3520      - PDL::IO::Dumper: Cleanly save and restore complex
 3521         data structures including PDLs.  
 3522      - Support for the new Astro::FITS::Header module
 3523        (availiable on CPAN).
 3524         
 3525   See the Changes file for a detailed list of changes.
 3526 
 3527 v2.3.2 2001-12-18 22:20:31-10:00
 3528 
 3529   - A pure bugfix release to fix compilation problems with gimp-perl
 3530     (part of the gimp distribution). The following notes from
 3531     2.3 and 2.3.1 still apply:
 3532 
 3533 v2.3.1 2001-11-21 14:38:32-10:00
 3534 
 3535   - A bugfix release to fix some compilation problems seen with
 3536     2.3. The following notes from 2.3 still apply:
 3537 
 3538 v2.3 2001-11-16 05:12:41-10:00
 3539  
 3540  Summary of Changes
 3541    - A nicer slicing syntax for PDL added via the new 
 3542      PDL::NiceSlice module.
 3543    - Inline::Pdlpp module added, which enables in-line
 3544      PDL::PP definitions. (i.e. no Makefiles, building
 3545       hassles for creating PP code)
 3546    - A Multitude of bug fixes, doc updates, and other
 3547      changes.
 3548      
 3549   Note:Support for perl version 5.005 and previous is 
 3550   limited in this release. Perl 5.6.0 or greater is
 3551   recommended for full PDL functionality.
 3552         
 3553   See the Changes file for a detailed list of changes.
 3554   
 3555 v2.2.1 2001-04-25 03:05:46-10:00
 3556  
 3557  Summary of Changes
 3558     Bugs Fixed:
 3559           - 'pow' function fixed in math.pd
 3560           - Misc memory leaks fixed.
 3561           - PGPLOT 'undefined window size' 
 3562              bug fixed.
 3563           - Test failures with opengl.t fixed.
 3564           - Error in output of 'minimum_n_ind' function
 3565             fixed.
 3566             
 3567     Misc Changes:
 3568         - Documentation updates.
 3569         - Updates to work with perl5.6.1
 3570         
 3571   See the Changes file for a detailed list of changes.
 3572   
 3573 v2.2 2000-12-21 03:25:36-10:00
 3574 
 3575 Major Changes:
 3576 
 3577   - 'Bad' Value Support added. With this option compiled-in, certain
 3578      values in a PDL can be designated as 'Bad' (i.e. missing, empty, 
 3579      etc). With this designation, most PDL functions will properly 
 3580      ignore the 'Bad' values. See PDL::BadValues for details.
 3581      
 3582   - PGPLOT interface rewritten. New Features:
 3583       - Interactive cursors (cursor)
 3584       - Text on plots       (text)
 3585       - Legends             (legend)
 3586       - Circles, Rectangles, Ellipses
 3587       - Multiple plot windows, one can jump from panel to panel when
 3588         the window is divided in several.
 3589       - More control over options - see PDL::Graphics::PGPLOTOptions for
 3590         details.
 3591       - New Examples in Example/PGPLOT.
 3592 
 3593    - Major updates to the Tri-D Code. Now requires perl 5.6 for TriD.
 3594     
 3595    - 'Reduce' function added. This provides a consistent interface to the
 3596      projection routines (sumover, average, etc). See PDL::Reduce.
 3597      
 3598    - Improved OpenGL detection during 'perl Makefile.PL
 3599 
 3600    - pdldoc command added. This allows you to look up PDL 
 3601      documentation similar to the perldoc command. 
 3602      
 3603    - Perl 5.6 is now recommended for PDL 2.2. It will still work 
 3604      with perl 5.005, but some of the extra libs won't be compiled
 3605      ( like Graphics/TriD).
 3606   
 3607 Many other changes. See the Changes file for a detailed list of changes.
 3608 
 3609 v2.1 2000-06-07 22:23:47+00:00
 3610 
 3611 Major Changes:
 3612   - Speed Increase. Most PDL functions are now done totally
 3613     in C-code, without any perl wrapper functions as was done
 3614     with previous versions. The speedup will be most noticeable
 3615     for operations on many small PDL arrays.
 3616   - Mem Leaks Fixed.
 3617   - Added a consistent, Object-Oriented interface to the 
 3618     various interpolate functions in PDL. (PDL::Func, 
 3619     See Lib/Func.pm).
 3620     
 3621 See the Changes file for a detailed list of changes.
 3622 
 3623 
 3624 
 3625 v2.005 2000-04-05 22:30:35+00:00
 3626 
 3627 Major Changes:
 3628    - A bugfix release to fix 2.004 problems with PGPLOT changes
 3629      and perl 5.6.0.
 3630    - The following notes from 2.004 still apply:
 3631      - *IMPORTANT NOTE*: Due to changes to the PGPLOT module, 'use
 3632        PDL::Graphics::PGPLOT' has been removed from PDL.pm (i.e. in scripts
 3633        and within perldl you now need to explicitly say 'use
 3634        PDL::Graphics::PGPLOT'). Additionally, it needs Karl's new 2.16
 3635        release of the PGPLOT module (available from CPAN).
 3636      - Notable additions are a module for operations on complex ndarrays
 3637        (PDL::Complex), a subtype of PDL which allows manipulation of byte
 3638        type PDLs as N dimensional arrays of fixed length strings (PDL::Char)
 3639        and a Levenberg-Marquardt fitting module (PDL::Fit::LM).
 3640    - Bug reports and patches to the relevant places on sourceforge, please.
 3641