What's new in GDL 0.9.5
Oct 17, 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 GDL 0.9.4 (Sep 30, 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 GDL 0.9.3 (Dec 28, 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 GDL 0.9.1 (Mar 30, 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 GDL 0.9 (Aug 30, 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 GDL 0.9 RC4 (May 7, 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