GDL Changelog

New in version 0.9.5

October 17th, 2014
  • NEW IN THIS RELEASE:
  • GDL now compiles with MinGW
  • lots of improvements in widgets related code.
  • Available widgets:
  • WIDGET_DRAW, WIDGET_BASE, WIDGET_BUTTON, WIDGET_DROPLIST, WIDGET_COMBOBOX, WIDGET_LIST, WIDGET_SLIDER, WIDGET_TAB, WIDGET_TEXT, WIDGET_LABEL, CW_BGROUP
  • Controlling routines:
  • WIDGET_EVENT, WIDGET_CONTROL, XMANAGER
  • TIC and TOC
  • !CONST system variable
  • initial import of NetCDF-4 related codes:
  • NCDF_GROUPSINQ, NCDF_GROUPNAME, NCDF_GROUPDEF, NCDF_FULLGROUPNAME, NCDF_GROUPPARENT, NCDF_DIMIDSINQ, NCDF_NCIDINQ, NCDF_VARIDSINQ
  • introducing the NULL device type for Unix like systems without X11
  • better free format for print, preserving precision digits
  • ISA() and TYPENAME()
  • full support for projections (see MAP_INSTALL for details)

New in version 0.9.4 (September 30th, 2013)

  • when compiled with Eigen3 library, significant speed improvement
  • in MATRIX_MULTIPLY() (and # operators), especially on multi-cores
  • Basic loading managment included (if some core are busy).
  • LIST and HASH are fully supported
  • even left-side struct access is possible e. g.:
  • GDL> h = HASH('key',{tag1:1})&h['key'].tag1 = 3
  • this even works with all (derived) GDL_OBJECTs:
  • In this case (a variable set to) !NULL is passed as the OBJREF
  • parameter to the OBJECT::_OVERLOADBRACKETSLEFTSIDE member procedure,
  • it must in turn set this OBJREF parameter (the variable) to a POINTER to
  • the heap variable to access.
  • .RESET_SESSION and .FULL_RESET_SESSION commands
  • CHOLSOL/CHOLDC and LA_CHOLSOL/LA_CHOLDC using Eigen3 (sub-optimal)
  • large change in various graphic/plotting keywords:
  • PLOT, OPLOT: All keywords supported except Z and T3D,
  • Correct handling of log/DATA/NORMAL/DEVICE coordinates and CLIPPING.
  • PSYMs shapes now identical to IDL's.
  • PLOTS: idem as above, plus /CONTINUE
  • XYOUTS: idem as above, one-argument support (XYOUTS,"string").
  • Enhancement wrt. reference program: color,size,angle,etc
  • of text are vectors.
  • CONTOUR: Support of all options except ZVALUE, ZAXIS,CELL_FILL,
  • C_ANNOTATIONS, CLOSED, DOWNHILL, IRREGULAR, TRIANGULATION,PATH_***
  • Correct implementation of Z, [X,Y], i.e., contours may be skewed,
  • rotated, etc depending on X and Y.
  • Better than IDL:
  • a new ZLOG option makes log contours as well.
  • C_ORIENTATION, C_SPACING are also vectors.
  • log axes give better results
  • good contouring of Not-A-Number values in Z and
  • MIN_VALUE/MAX_VALUE
  • CLIPPING ok.
  • Automatic limits in some cases still different from IDL.
  • AXIS and boxes in plots: all [XYZ]TICK[***] options supported except TICKV
  • and a few TICKFORMAT specifics.
  • CURSOR: full support for CURSOR command, which is interruptible by control-c
  • and has all the options.
  • Added cursor-related functions TVCRS and command EMPTY.
  • Added DEVICE options CURSOR_CROSSHAIR, CURSOR_STANDARD, CURSOR_ORIGINAL and
  • GET/SET_GRAPHICS_FUNCTION (GXoR, GXand, etc).
  • Disabled by default the focus in the X11 graphics windows as IDL does and
  • repositioned WINDOWS by default to top-right of screen.

New in version 0.9.3 (December 28th, 2012)

  • activities on speed improvements continuing
  • Initial import of STRMATCH()
  • Initial import of USERSYM
  • SCOPE_VARFETCH (only LEVEL keyword supported)
  • keyword /NaN for HISTOGRAM
  • Initial import of LUDC, LUSOL and DETERM, OK now only for DOUBLE
  • Initial import of ROT, CONGRID and BILINEAR
  • Initial import of TV for PS output
  • fix in RANDOMN/RANDOMU (Binomial OK, conflicting keywords detected ...)
  • Initial import for QROMB(), QSIMP() (based on QROMB) and QROMO()
  • Initial import for TRISOL()
  • fix in ERASE for background color (preparing Coyote lib. support)
  • Initial import of STANDARDIZE and HIST_EQUAL
  • improvment in MAGICK related codes, especially MAGICK_PING (pb with ImageMagick (IM) in Ubuntu 12.04; GraphicsMagick can also be used instead of IM)
  • FZ_ROOTS: initial import (same way than IMSL_ZEROPOLY using gsl_poly_complex_solve(), only real coefs. for input poly)
  • FX_ROOT: initial import. in c++
  • keyword DIM in MOMENT(), MEAN(), STDDEV(), VARIANCE(), SKEWNESS(), KURTOSIS() (requested DIM and other improvments)
  • keyword SIGN in FINITE
  • support for empty arrays and !NULL system variable
  • promotion of FOR loop index variable type
  • various improvments on READ_JPEG, READ_PNG, WRITE_JPEG, WRITE_PNG
  • keyword ICONIC in WSHOW
  • keyword ISOTROPIC in PLOT, CONTOUR
  • new widget features incl. WIDGET_LIST and CW_GROUP
  • various fix in FFT: DIM keyword, memory leak when using GSL
  • support for some overloaded operators (_overloadIsTrue,
  • _overloadPlus, _overloadMinus, _overloadBracketsLeftSide,
  • _overloadBracketsRightSide, _overloadEQ, _overloadNE)
  • support for .SKIP [NSteps] command

New in version 0.9.1 (March 30th, 2011)

  • fixing behaviour with non-comma locale-defined decimal separators (tracker item no. 3164856)
  • gdl/src/GDLInterpreter.cpp, gdl/src/GDLInterpreter.hpp, gdl/src/dinterpreter.cpp, gdl/src/envt.hpp, gdl/src/gdlc.i.g, gdl/src/image.cpp, gdl/src/prognode.cpp, src/GDLInterpreter.cpp, src/GDLInterpreter.hpp, src/dinterpreter.cpp, src/envt.hpp, src/gdlc.i.g, src/image.cpp, src/prognode.cpp:
  • Fixed infinite recursion when struct are referenced but not defined in STRUCTNAME__DEFINE. Bug tracker ID 3189072

New in version 0.9 (August 30th, 2010)

  • GUI (widgets) programing (not complete yet)
  • new routines: DIALOG_PICKFILE, HIST_2D, INTERPOL,
  • MAP_CONTINENTS, POLYFILL, RESOLVE_ROUTINE,
  • SPHER_HARM, IMSL_ERF, FILE_DELETE,
  • FILE_COPY, FILE_EXPAND_PATH
  • support for compressed files
  • IDL 8.0 compatibility:
  • FOREACH statement
  • automatic garbadge collection for pointers and objects
  • negative index ranges
  • member procedure calls using '.' syntax

New in version 0.9 RC4 (May 7th, 2010)

  • thread pool support using OpenMP (requires g++ >= 4.2)
  • new library routines, including: CPU, CROSSP, GET_SCREEN_SIZE, IMSL_BINOMIALCOEF, IMSL_CONSTANT, IMSL_ZEROPOLY, QUERY_*, WSHOW, WTN (wavelet transform), ...
  • enhanced HDF5 (15 new routines) and netCDF support
  • support for GRIB 1/2 file format (read-only, using ECMW GRIB_API)
  • several new command-line options, support for specifying batch files at command-line
  • several bug-fixes in library routines and the interpreter
  • new plotting functionalities (contouring on maps, color postscript output, ...)
  • enhanced detection of libraries in the configure script
  • enhanced "make install" and "make check" rules
  • compatibility fixes for various GCC versions and UNIX flavors