130
DRAFT DRAFT GDL – GNU Data Language a free/libre/open-source implementation of IDL/PV-WAVE * developed by Marc Schellens and The GDL team documentation maintained by Sylwester Arabas and Alain Coulais January 3, 2012 * IDL (Interactive Data Language) and PV-WAVE (Precision Visuals - Workstation Analysis and Visualization Environment) are (were) registered trademarks of EXELIS VIS (ITT VIS; Research Systems, Inc.) and Rogue Wave Software (Visual Numerics; Precision Visuals), respectively

GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

  • Upload
    ngodat

  • View
    234

  • Download
    5

Embed Size (px)

Citation preview

Page 1: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTGDL – GNU Data Language

a free/libre/open-source implementation of IDL/PV-WAVE*

developed by Marc Schellens and The GDL teamdocumentation maintained by Sylwester Arabas and Alain Coulais

January 3, 2012* IDL (Interactive Data Language) and PV-WAVE (Precision Visuals - Workstation Analysis and Visualization Environment)

are (were) registered trademarks of EXELIS VIS (ITT VIS; Research Systems, Inc.) and Rogue Wave Software (Visual Numerics; Precision Visuals), respectively

Page 2: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTContents

About GDL . . . . . . . . . . . . . . . . . . . . . 7License . . . . . . . . . . . . . . . . . . . . . . . 7Credits . . . . . . . . . . . . . . . . . . . . . . . 7Providing fedback . . . . . . . . . . . . . . . . . . 7Organization of this document . . . . . . . . . . . 8

I. User’s guideChapter 1. Obtaining, installing, and invoking GDL 11Requirements and supported environments . . . . 11Availability of pre-compiled packages . . . . . . . 11Compiling GDL from source . . . . . . . . . . . . 11Installation layout . . . . . . . . . . . . . . . . . . 11Command-line options . . . . . . . . . . . . . . . 11Influential environmental variables . . . . . . . . . 11

Chapter 2. Language reference . . . . . . . . . . . 12Syntax basics . . . . . . . . . . . . . . . . . . . . 12Datatypes . . . . . . . . . . . . . . . . . . . . . . 12Operators . . . . . . . . . . . . . . . . . . . . . . 12Flow control structures . . . . . . . . . . . . . . . 12Variable scoping rules . . . . . . . . . . . . . . . . 14Functions and procedures . . . . . . . . . . . . . . 14Argument passing . . . . . . . . . . . . . . . . . . 14Arrays . . . . . . . . . . . . . . . . . . . . . . . . 15Structures . . . . . . . . . . . . . . . . . . . . . . 15System variables (global) . . . . . . . . . . . . . . 15Heap variables (pointers) . . . . . . . . . . . . . . 15The HELP procedure . . . . . . . . . . . . . . . . 15Object-oriented programming . . . . . . . . . . . 15Handling Overflows, Floating Point Special Values 15Error handling . . . . . . . . . . . . . . . . . . . . 15Compile options . . . . . . . . . . . . . . . . . . . 15

Chapter 3. Interpreter commands and built-indebugging facilities . . . . . . . . . . . . . . . . 17

Chapter 4. Maths . . . . . . . . . . . . . . . . . . 18Basic Scalar, vector and array operations . . . . . 18Basic and special function library . . . . . . . . . 18Linear algebra . . . . . . . . . . . . . . . . . . . . 19Statistics . . . . . . . . . . . . . . . . . . . . . . 19Interpolation . . . . . . . . . . . . . . . . . . . . 19Polynomials . . . . . . . . . . . . . . . . . . . . . 19Geometric calculations . . . . . . . . . . . . . . . 19Bitwise operations . . . . . . . . . . . . . . . . . 19Function fitting . . . . . . . . . . . . . . . . . . . 19Fourier analysis . . . . . . . . . . . . . . . . . . . 20Multidimensional root-finding . . . . . . . . . . . 20Random numbers . . . . . . . . . . . . . . . . . . 20Ordinary differential equations . . . . . . . . . . . 20Wavelet analysis . . . . . . . . . . . . . . . . . . 20Mathematical and physical constants . . . . . . . 20

Chapter 5. Input/output, supported data formats 21Basics – accessing files and io streams . . . . . . . 21ASCII . . . . . . . . . . . . . . . . . . . . . . . . 21CSV . . . . . . . . . . . . . . . . . . . . . . . . . 21Binary data (raw access) . . . . . . . . . . . . . . 21FITS . . . . . . . . . . . . . . . . . . . . . . . . . 21netCDF . . . . . . . . . . . . . . . . . . . . . . . 21HDF4 . . . . . . . . . . . . . . . . . . . . . . . . 21HDF5 . . . . . . . . . . . . . . . . . . . . . . . . 21raster images (TIFF, PNG, JPEG, . . . ) . . . . . . 22DICOM . . . . . . . . . . . . . . . . . . . . . . . 22GRIB . . . . . . . . . . . . . . . . . . . . . . . . 22IDL save files . . . . . . . . . . . . . . . . . . . . 22

Chapter 6. Plotting and mapping . . . . . . . . . 232D plots . . . . . . . . . . . . . . . . . . . . . . . 233D plots . . . . . . . . . . . . . . . . . . . . . . . 23Plotting raster data . . . . . . . . . . . . . . . . . 23Managing multiple windows . . . . . . . . . . . . 23Map projections . . . . . . . . . . . . . . . . . . . 23Output terminals . . . . . . . . . . . . . . . . . . 23Working with colours . . . . . . . . . . . . . . . . 23Fonts, symbols and text formatting . . . . . . . . 24

Misc . . . . . . . . . . . . . . . . . . . . . . . . . 24Chapter 7. Interaction with host OS . . . . . . . . 25

Executing external commands (via shell or not) . . 25Filesystem operations . . . . . . . . . . . . . . . . 25Network operations . . . . . . . . . . . . . . . . . 25Command-line options and environmental variables 25

Chapter 8. Manipulating strings . . . . . . . . . . 26Chapter 9. Representing date & time . . . . . . . 27Chapter 10. Image processing . . . . . . . . . . . 28Chapter 11. Parallel processing . . . . . . . . . . . 29

Built-in features (OpenMP) . . . . . . . . . . . . 29Semaphores and shared memory (library routines) . 29ImageMagick’s features . . . . . . . . . . . . . . . 29MPI and GDL . . . . . . . . . . . . . . . . . . . . 29

Chapter 12. GUI programming (widgets) . . . . . 30Chapter 13. Dynamic loading . . . . . . . . . . . . 31Chapter 14. The Python bridge . . . . . . . . . . 32

calling Python code from GDL . . . . . . . . . . . 32calling GDL code from Python . . . . . . . . . . . 32

Chapter 15. Alphabetical list of library routines . 33ABS() function . . . . . . . . . . . . . . . . . . . 33ACOS() function . . . . . . . . . . . . . . . . . . 33ALOG() function . . . . . . . . . . . . . . . . . . 33ALOG10() function . . . . . . . . . . . . . . . . . 33APPLEMAN procedure . . . . . . . . . . . . . . . 33ARG_PRESENT() function . . . . . . . . . . . . 34ARRAY_EQUAL() function . . . . . . . . . . . . 34ARRAY_INDICES() function . . . . . . . . . . . . 34ASIN() function . . . . . . . . . . . . . . . . . . . 34ASSOC() function . . . . . . . . . . . . . . . . . 34ATAN() function . . . . . . . . . . . . . . . . . . 34AXIS procedure . . . . . . . . . . . . . . . . . . . 35BESELI() function . . . . . . . . . . . . . . . . . 35BESELJ() function . . . . . . . . . . . . . . . . . 35BESELK() function . . . . . . . . . . . . . . . . . 35BESELY() function . . . . . . . . . . . . . . . . . 35BETA() function . . . . . . . . . . . . . . . . . . 35BILINEAR() function . . . . . . . . . . . . . . . . 35

Page 3: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTContents 3

BINDGEN() function . . . . . . . . . . . . . . . . 35BROYDEN() function . . . . . . . . . . . . . . . 35BYTARR() function . . . . . . . . . . . . . . . . 35BYTE() function . . . . . . . . . . . . . . . . . . 35BYTEORDER procedure . . . . . . . . . . . . . . 36BYTSCL() function . . . . . . . . . . . . . . . . . 36CALDAT procedure . . . . . . . . . . . . . . . . . 36CALENDAR procedure . . . . . . . . . . . . . . . 36CALL_EXTERNAL() function . . . . . . . . . . . 36CALL_FUNCTION() function . . . . . . . . . . . 38CALL_METHOD procedure . . . . . . . . . . . . 38CALL_METHOD() function . . . . . . . . . . . . 38CALL_PROCEDURE procedure . . . . . . . . . . 38CATCH procedure . . . . . . . . . . . . . . . . . 38CD procedure . . . . . . . . . . . . . . . . . . . . 38CDF_EPOCH procedure . . . . . . . . . . . . . . 38CEIL() function . . . . . . . . . . . . . . . . . . . 39CHECK_MATH() function . . . . . . . . . . . . . 39CINDGEN() function . . . . . . . . . . . . . . . . 39CLOSE procedure . . . . . . . . . . . . . . . . . . 39COMMAND_LINE_ARGS() function . . . . . . . 39COMPLEX() function . . . . . . . . . . . . . . . 39COMPLEXARR() function . . . . . . . . . . . . . 39CONGRID() function . . . . . . . . . . . . . . . . 39CONJ() function . . . . . . . . . . . . . . . . . . 39CONTOUR procedure . . . . . . . . . . . . . . . 39CONVERT_COORD() function . . . . . . . . . . 39CONVOL() function . . . . . . . . . . . . . . . . 40CORRELATE() function . . . . . . . . . . . . . . 40COS() function . . . . . . . . . . . . . . . . . . . 40COSH() function . . . . . . . . . . . . . . . . . . 40CPU procedure . . . . . . . . . . . . . . . . . . . 41CREATE_STRUCT() function . . . . . . . . . . . 41CROSSP() function . . . . . . . . . . . . . . . . . 41CURSOR procedure . . . . . . . . . . . . . . . . . 41DBLARR() function . . . . . . . . . . . . . . . . 41DCINDGEN() function . . . . . . . . . . . . . . . 41DCOMPLEX() function . . . . . . . . . . . . . . 41DCOMPLEXARR() function . . . . . . . . . . . . 41DEFSYSV procedure . . . . . . . . . . . . . . . . 41DERIV() function . . . . . . . . . . . . . . . . . . 41

DETERM() function . . . . . . . . . . . . . . . . 41DEVICE procedure . . . . . . . . . . . . . . . . . 41DIALOG_MESSAGE() function . . . . . . . . . . 42DIALOG_PICKFILE() function . . . . . . . . . . 42DINDGEN() function . . . . . . . . . . . . . . . . 42DIST() function . . . . . . . . . . . . . . . . . . . 42DOUBLE() function . . . . . . . . . . . . . . . . 42EOF() function . . . . . . . . . . . . . . . . . . . 42ERASE procedure . . . . . . . . . . . . . . . . . . 42ERF() function . . . . . . . . . . . . . . . . . . . 42ERFC() function . . . . . . . . . . . . . . . . . . 43ERRORF() function . . . . . . . . . . . . . . . . 43ESCAPE_SPECIAL_CHAR() function . . . . . . 43EXECUTE() function . . . . . . . . . . . . . . . . 43EXIT procedure . . . . . . . . . . . . . . . . . . . 43EXP() function . . . . . . . . . . . . . . . . . . . 43EXPAND_PATH() function . . . . . . . . . . . . 43EXPINT() function . . . . . . . . . . . . . . . . . 43FACTORIAL() function . . . . . . . . . . . . . . . 43FFT() function . . . . . . . . . . . . . . . . . . . 44FILEPATH() function . . . . . . . . . . . . . . . . 44FILE_BASENAME() function . . . . . . . . . . . 44FILE_COPY procedure . . . . . . . . . . . . . . . 44FILE_DELETE procedure . . . . . . . . . . . . . 44FILE_DIRNAME() function . . . . . . . . . . . . 45FILE_EXPAND_PATH() function . . . . . . . . . 45FILE_INFO() function . . . . . . . . . . . . . . . 45FILE_LINES() function . . . . . . . . . . . . . . . 45FILE_MKDIR procedure . . . . . . . . . . . . . . 45FILE_SAME() function . . . . . . . . . . . . . . . 45FILE_SEARCH() function . . . . . . . . . . . . . 45FILE_TEST() function . . . . . . . . . . . . . . . 45FILE_WHICH() function . . . . . . . . . . . . . . 45FINDEX() function . . . . . . . . . . . . . . . . . 45FINDFILE() function . . . . . . . . . . . . . . . . 45FINDGEN() function . . . . . . . . . . . . . . . . 46FINITE() function . . . . . . . . . . . . . . . . . 46FIX() function . . . . . . . . . . . . . . . . . . . 46FLOAT() function . . . . . . . . . . . . . . . . . 46FLOOR() function . . . . . . . . . . . . . . . . . 46FLTARR() function . . . . . . . . . . . . . . . . . 46

FLUSH procedure . . . . . . . . . . . . . . . . . . 46FREE_LUN procedure . . . . . . . . . . . . . . . 46FSTAT() function . . . . . . . . . . . . . . . . . . 46GAMMA() function . . . . . . . . . . . . . . . . . 46GAUSSINT() function . . . . . . . . . . . . . . . 46GAUSS_CVF() function . . . . . . . . . . . . . . 46GAUSS_PDF() function . . . . . . . . . . . . . . 46GDL_ERFINV() function . . . . . . . . . . . . . . 47GETENV() function . . . . . . . . . . . . . . . . 47GET_DRIVE_LIST() function . . . . . . . . . . . 47GET_KBRD() function . . . . . . . . . . . . . . . 47GET_LOGIN_INFO() function . . . . . . . . . . 47GET_LUN procedure . . . . . . . . . . . . . . . . 47GET_SCREEN_SIZE() function . . . . . . . . . . 47GRIBAPI_CLONE() function . . . . . . . . . . . 47GRIBAPI_CLOSE_FILE procedure . . . . . . . . 47GRIBAPI_COUNT_IN_FILE() function . . . . . . 47GRIBAPI_GET procedure . . . . . . . . . . . . . 47GRIBAPI_GET_DATA procedure . . . . . . . . . 47GRIBAPI_GET_SIZE() function . . . . . . . . . . 48GRIBAPI_NEW_FROM_FILE() function . . . . . 48GRIBAPI_OPEN_FILE() function . . . . . . . . . 48GRIBAPI_RELEASE procedure . . . . . . . . . . 48GSL_EXP() function . . . . . . . . . . . . . . . . 48H5A_CLOSE procedure . . . . . . . . . . . . . . 48H5A_GET_NAME() function . . . . . . . . . . . 48H5A_GET_NUM_ATTRS() function . . . . . . . 48H5A_GET_SPACE() function . . . . . . . . . . . 48H5A_GET_TYPE() function . . . . . . . . . . . 48H5A_OPEN_IDX() function . . . . . . . . . . . . 48H5A_OPEN_NAME() function . . . . . . . . . . 48H5A_READ() function . . . . . . . . . . . . . . . 48H5D_CLOSE procedure . . . . . . . . . . . . . . 48H5D_GET_SPACE() function . . . . . . . . . . . 49H5D_GET_TYPE() function . . . . . . . . . . . 49H5D_OPEN() function . . . . . . . . . . . . . . . 49H5D_READ() function . . . . . . . . . . . . . . . 49H5F_CLOSE procedure . . . . . . . . . . . . . . 49H5F_IS_HDF5() function . . . . . . . . . . . . . 49H5F_OPEN() function . . . . . . . . . . . . . . . 49H5G_CLOSE procedure . . . . . . . . . . . . . . 49

Page 4: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT4 Contents

H5G_OPEN() function . . . . . . . . . . . . . . . 49H5S_CLOSE procedure . . . . . . . . . . . . . . 49H5S_GET_SIMPLE_EXTENT_DIMS() function . 49H5T_CLOSE procedure . . . . . . . . . . . . . . 49H5T_GET_SIZE() function . . . . . . . . . . . . 49H5_GET_LIBVERSION() function . . . . . . . . 50HDF_CLOSE procedure . . . . . . . . . . . . . . 50HDF_OPEN() function . . . . . . . . . . . . . . . 50HDF_SD_ADDDATA procedure . . . . . . . . . . 50HDF_SD_ATTRFIND() function . . . . . . . . . 50HDF_SD_ATTRINFO procedure . . . . . . . . . 50HDF_SD_CREATE() function . . . . . . . . . . . 50HDF_SD_DIMGET procedure . . . . . . . . . . . 50HDF_SD_DIMGETID() function . . . . . . . . . 50HDF_SD_END procedure . . . . . . . . . . . . . 50HDF_SD_ENDACCESS procedure . . . . . . . . 50HDF_SD_FILEINFO procedure . . . . . . . . . . 50HDF_SD_GETDATA procedure . . . . . . . . . . 51HDF_SD_GETINFO procedure . . . . . . . . . . 51HDF_SD_NAMETOINDEX() function . . . . . . 51HDF_SD_SELECT() function . . . . . . . . . . . 51HDF_SD_START() function . . . . . . . . . . . 51HDF_VD_ATTACH() function . . . . . . . . . . 51HDF_VD_DETACH procedure . . . . . . . . . . 51HDF_VD_FIND() function . . . . . . . . . . . . 51HDF_VD_GET procedure . . . . . . . . . . . . . 51HDF_VD_READ() function . . . . . . . . . . . . 51HDF_VG_ATTACH() function . . . . . . . . . . 51HDF_VG_DETACH procedure . . . . . . . . . . . 51HDF_VG_GETID() function . . . . . . . . . . . . 51HDF_VG_GETINFO procedure . . . . . . . . . . 51HDF_VG_GETTRS procedure . . . . . . . . . . . 52HEAP_GC procedure . . . . . . . . . . . . . . . . 52HELP procedure . . . . . . . . . . . . . . . . . . 52HELPFORM() function . . . . . . . . . . . . . . . 52HISTOGRAM() function . . . . . . . . . . . . . . 52HIST_2D() function . . . . . . . . . . . . . . . . 52HIST_ND() function . . . . . . . . . . . . . . . . 52IDENTITY() function . . . . . . . . . . . . . . . 53IDL_BASE64() function . . . . . . . . . . . . . . 53IDL_VALIDNAME() function . . . . . . . . . . . 53

IGAMMA() function . . . . . . . . . . . . . . . . 53IMAGE_STATISTICS procedure . . . . . . . . . . 53IMAGINARY() function . . . . . . . . . . . . . . 53IMSL_BINOMIALCOEF() function . . . . . . . . 53IMSL_CONSTANT() function . . . . . . . . . . . 54IMSL_ERF() function . . . . . . . . . . . . . . . 55IMSL_ZEROPOLY() function . . . . . . . . . . . 55IMSL_ZEROSYS() function . . . . . . . . . . . . 55INDGEN() function . . . . . . . . . . . . . . . . . 56INTARR() function . . . . . . . . . . . . . . . . . 56INTERPOL() function . . . . . . . . . . . . . . . 56INTERPOLATE() function . . . . . . . . . . . . . 56INVERT() function . . . . . . . . . . . . . . . . . 56ISHFT() function . . . . . . . . . . . . . . . . . . 56JOURNAL procedure . . . . . . . . . . . . . . . . 56KEYWORD_SET() function . . . . . . . . . . . . 56KURTOSIS() function . . . . . . . . . . . . . . . 56L64INDGEN() function . . . . . . . . . . . . . . . 56LAGUERRE() function . . . . . . . . . . . . . . . 56LAST_ITEM() function . . . . . . . . . . . . . . 56LA_TRIRED procedure . . . . . . . . . . . . . . . 56LEGENDRE() function . . . . . . . . . . . . . . . 57LINDGEN() function . . . . . . . . . . . . . . . . 57LINKIMAGE procedure . . . . . . . . . . . . . . . 57LL_ARC_DISTANCE() function . . . . . . . . . . 57LMGR() function . . . . . . . . . . . . . . . . . . 57LNGAMMA() function . . . . . . . . . . . . . . . 57LOADCT procedure . . . . . . . . . . . . . . . . 57LOADCT_INTERNALGDL procedure . . . . . . . 58LOCALE_GET() function . . . . . . . . . . . . . 58LOGICAL_AND() function . . . . . . . . . . . . . 59LOGICAL_OR() function . . . . . . . . . . . . . . 59LOGICAL_TRUE() function . . . . . . . . . . . . 59LON64ARR() function . . . . . . . . . . . . . . . 59LONARR() function . . . . . . . . . . . . . . . . 59LONG() function . . . . . . . . . . . . . . . . . . 59LONG64() function . . . . . . . . . . . . . . . . . 59LUDC procedure . . . . . . . . . . . . . . . . . . 59LUSOL() function . . . . . . . . . . . . . . . . . 59MACHAR() function . . . . . . . . . . . . . . . . 59MAGICK_ADDNOISE procedure . . . . . . . . . 59

MAGICK_CLOSE procedure . . . . . . . . . . . . 59MAGICK_COLORMAPSIZE() function . . . . . . 60MAGICK_COLUMNS() function . . . . . . . . . . 60MAGICK_CREATE() function . . . . . . . . . . . 60MAGICK_DISPLAY procedure . . . . . . . . . . . 60MAGICK_EXISTS() function . . . . . . . . . . . 60MAGICK_FLIP procedure . . . . . . . . . . . . . 60MAGICK_INDEXEDCOLOR() function . . . . . . 60MAGICK_INTERLACE procedure . . . . . . . . . 60MAGICK_MAGICK() function . . . . . . . . . . . 60MAGICK_MATTE procedure . . . . . . . . . . . 60MAGICK_OPEN() function . . . . . . . . . . . . 60MAGICK_PING() function . . . . . . . . . . . . . 60MAGICK_QUALITY procedure . . . . . . . . . . 60MAGICK_QUANTIZE procedure . . . . . . . . . 61MAGICK_READ() function . . . . . . . . . . . . 61MAGICK_READCOLORMAPRGB procedure . . . 61MAGICK_READINDEXES() function . . . . . . . 61MAGICK_ROWS() function . . . . . . . . . . . . 61MAGICK_WRITE procedure . . . . . . . . . . . . 61MAGICK_WRITECOLORTABLE procedure . . . . 61MAGICK_WRITEFILE procedure . . . . . . . . . 61MAGICK_WRITEINDEXES procedure . . . . . . 61MAKE_ARRAY() function . . . . . . . . . . . . . 61MAP_CLIP_SET procedure . . . . . . . . . . . . 61MAP_CONTINENTS procedure . . . . . . . . . . 61MATRIX_MULTIPLY() function . . . . . . . . . . 61MAX() function . . . . . . . . . . . . . . . . . . . 62MEAN() function . . . . . . . . . . . . . . . . . . 62MEANABSDEV() function . . . . . . . . . . . . . 62MEDIAN() function . . . . . . . . . . . . . . . . 62MEMORY() function . . . . . . . . . . . . . . . . 62MESSAGE procedure . . . . . . . . . . . . . . . . 62MIN() function . . . . . . . . . . . . . . . . . . . 62MOMENT() function . . . . . . . . . . . . . . . . 62NCDF_ATTCOPY() function . . . . . . . . . . . 62NCDF_ATTDEL procedure . . . . . . . . . . . . 62NCDF_ATTGET procedure . . . . . . . . . . . . 62NCDF_ATTINQ() function . . . . . . . . . . . . 62NCDF_ATTNAME() function . . . . . . . . . . . 62NCDF_ATTPUT procedure . . . . . . . . . . . . 62

Page 5: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTContents 5

NCDF_ATTRENAME procedure . . . . . . . . . . 63NCDF_CLOSE procedure . . . . . . . . . . . . . 63NCDF_CONTROL procedure . . . . . . . . . . . 63NCDF_CREATE() function . . . . . . . . . . . . 63NCDF_DIMDEF() function . . . . . . . . . . . . 63NCDF_DIMID() function . . . . . . . . . . . . . 63NCDF_DIMINQ procedure . . . . . . . . . . . . . 63NCDF_DIMRENAME procedure . . . . . . . . . . 63NCDF_EXISTS() function . . . . . . . . . . . . . 63NCDF_INQUIRE() function . . . . . . . . . . . . 63NCDF_OPEN() function . . . . . . . . . . . . . . 63NCDF_VARDEF() function . . . . . . . . . . . . 63NCDF_VARGET procedure . . . . . . . . . . . . 63NCDF_VARGET1 procedure . . . . . . . . . . . . 64NCDF_VARID() function . . . . . . . . . . . . . 64NCDF_VARINQ() function . . . . . . . . . . . . 64NCDF_VARPUT procedure . . . . . . . . . . . . 64NCDF_VARRENAME procedure . . . . . . . . . . 64NEWTON() function . . . . . . . . . . . . . . . . 64NORM() function . . . . . . . . . . . . . . . . . . 64N_ELEMENTS() function . . . . . . . . . . . . . 64N_PARAMS() function . . . . . . . . . . . . . . . 64N_TAGS() function . . . . . . . . . . . . . . . . 64OBJARR() function . . . . . . . . . . . . . . . . 64OBJ_CLASS() function . . . . . . . . . . . . . . 64OBJ_DESTROY procedure . . . . . . . . . . . . 65OBJ_ISA() function . . . . . . . . . . . . . . . . 65OBJ_NEW() function . . . . . . . . . . . . . . . 65OBJ_VALID() function . . . . . . . . . . . . . . . 66ON_ERROR procedure . . . . . . . . . . . . . . . 66OPENR procedure . . . . . . . . . . . . . . . . . 66OPENU procedure . . . . . . . . . . . . . . . . . 66OPENW procedure . . . . . . . . . . . . . . . . . 66OPLOT procedure . . . . . . . . . . . . . . . . . 66PARSE_URL() function . . . . . . . . . . . . . . 66PATH_SEP() function . . . . . . . . . . . . . . . 67PLOT procedure . . . . . . . . . . . . . . . . . . 67PLOTERR procedure . . . . . . . . . . . . . . . . 67PLOTS procedure . . . . . . . . . . . . . . . . . 67PM procedure . . . . . . . . . . . . . . . . . . . . 67POINT_LUN procedure . . . . . . . . . . . . . . 67

POLY() function . . . . . . . . . . . . . . . . . . 67POLYFILL procedure . . . . . . . . . . . . . . . . 67POLY_2D() function . . . . . . . . . . . . . . . . 68POLY_AREA() function . . . . . . . . . . . . . . 68POPD procedure . . . . . . . . . . . . . . . . . . 68PREWITT() function . . . . . . . . . . . . . . . . 68PRIMES() function . . . . . . . . . . . . . . . . . 68PRINT procedure . . . . . . . . . . . . . . . . . . 68PRINTD procedure . . . . . . . . . . . . . . . . . 68PRINTF procedure . . . . . . . . . . . . . . . . . 68PRODUCT() function . . . . . . . . . . . . . . . 68PTRARR() function . . . . . . . . . . . . . . . . 68PTR_FREE procedure . . . . . . . . . . . . . . . 68PTR_NEW() function . . . . . . . . . . . . . . . 69PTR_VALID() function . . . . . . . . . . . . . . 69PUSHD procedure . . . . . . . . . . . . . . . . . 69PYTHON procedure . . . . . . . . . . . . . . . . 69PYTHON() function . . . . . . . . . . . . . . . . 69PY_PLOT procedure . . . . . . . . . . . . . . . . 69PY_PRINT procedure . . . . . . . . . . . . . . . 69QUERY_BMP() function . . . . . . . . . . . . . 69QUERY_DICOM() function . . . . . . . . . . . . 69QUERY_GIF() function . . . . . . . . . . . . . . 70QUERY_IMAGE() function . . . . . . . . . . . . 70QUERY_JPEG() function . . . . . . . . . . . . . 70QUERY_PICT() function . . . . . . . . . . . . . 70QUERY_PNG() function . . . . . . . . . . . . . . 70QUERY_PPM() function . . . . . . . . . . . . . 70QUERY_TIFF() function . . . . . . . . . . . . . . 70RADON() function . . . . . . . . . . . . . . . . . 70RANDOMN() function . . . . . . . . . . . . . . . 70RANDOMU() function . . . . . . . . . . . . . . . 70READ procedure . . . . . . . . . . . . . . . . . . 70READF procedure . . . . . . . . . . . . . . . . . 70READS procedure . . . . . . . . . . . . . . . . . 70READU procedure . . . . . . . . . . . . . . . . . 70READ_ASCII() function . . . . . . . . . . . . . . 71READ_BINARY() function . . . . . . . . . . . . 71READ_BMP() function . . . . . . . . . . . . . . 71READ_DICOM() function . . . . . . . . . . . . . 71READ_GIF procedure . . . . . . . . . . . . . . . 71

READ_JPEG procedure . . . . . . . . . . . . . . 71READ_PICT procedure . . . . . . . . . . . . . . 71READ_PNG() function . . . . . . . . . . . . . . . 71READ_TIFF() function . . . . . . . . . . . . . . 71READ_XWD() function . . . . . . . . . . . . . . 71REAL_PART() function . . . . . . . . . . . . . . 71REBIN() function . . . . . . . . . . . . . . . . . . 71RECALL_COMMANDS() function . . . . . . . . 71REFORM() function . . . . . . . . . . . . . . . . 72REPLICATE() function . . . . . . . . . . . . . . . 72REPLICATE_INPLACE procedure . . . . . . . . . 72RESOLVE_ROUTINE procedure . . . . . . . . . . 72RESTORE procedure . . . . . . . . . . . . . . . . 72RETALL procedure . . . . . . . . . . . . . . . . . 72REVERSE() function . . . . . . . . . . . . . . . . 72RK4() function . . . . . . . . . . . . . . . . . . . 72RK4JMG() function . . . . . . . . . . . . . . . . 72ROBERTS() function . . . . . . . . . . . . . . . . 72ROTATE() function . . . . . . . . . . . . . . . . 72ROUND() function . . . . . . . . . . . . . . . . . 72ROUTINE_INFO() function . . . . . . . . . . . . 72ROUTINE_NAMES() function . . . . . . . . . . . 73RSTRPOS() function . . . . . . . . . . . . . . . . 74SAVE procedure . . . . . . . . . . . . . . . . . . 75SCOPE_VARFETCH() function . . . . . . . . . . 75SEM_CREATE() function . . . . . . . . . . . . . 75SEM_DELETE procedure . . . . . . . . . . . . . 75SEM_LOCK() function . . . . . . . . . . . . . . . 75SEM_RELEASE procedure . . . . . . . . . . . . . 75SETENV procedure . . . . . . . . . . . . . . . . . 75SET_PLOT procedure . . . . . . . . . . . . . . . 75SHIFT() function . . . . . . . . . . . . . . . . . . 75SHOWFONT procedure . . . . . . . . . . . . . . 75SIN() function . . . . . . . . . . . . . . . . . . . 83SINDGEN() function . . . . . . . . . . . . . . . . 83SINH() function . . . . . . . . . . . . . . . . . . . 83SIZE() function . . . . . . . . . . . . . . . . . . . 84SKEWNESS() function . . . . . . . . . . . . . . . 84SKIP_LUN procedure . . . . . . . . . . . . . . . 84SMOOTH() function . . . . . . . . . . . . . . . . 84SOBEL() function . . . . . . . . . . . . . . . . . 84

Page 6: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT6 Contents

SOCKET procedure . . . . . . . . . . . . . . . . . 84SORT() function . . . . . . . . . . . . . . . . . . 84SPAWN procedure . . . . . . . . . . . . . . . . . 84SPHER_HARM() function . . . . . . . . . . . . . 84SPL_INIT() function . . . . . . . . . . . . . . . . 84SPL_INIT_OLD() function . . . . . . . . . . . . 84SPL_INTERP() function . . . . . . . . . . . . . . 84SPL_INTERP_OLD() function . . . . . . . . . . 84SQRT() function . . . . . . . . . . . . . . . . . . 85STDDEV() function . . . . . . . . . . . . . . . . 85STOP procedure . . . . . . . . . . . . . . . . . . 85STRARR() function . . . . . . . . . . . . . . . . 85STRCMP() function . . . . . . . . . . . . . . . . 85STRCOMPRESS() function . . . . . . . . . . . . 85STREGEX() function . . . . . . . . . . . . . . . . 85STRING() function . . . . . . . . . . . . . . . . . 85STRJOIN() function . . . . . . . . . . . . . . . . 85STRLEN() function . . . . . . . . . . . . . . . . . 86STRLOWCASE() function . . . . . . . . . . . . . 86STRMATCH() function . . . . . . . . . . . . . . . 86STRMID() function . . . . . . . . . . . . . . . . . 86STRPOS() function . . . . . . . . . . . . . . . . . 86STRPUT procedure . . . . . . . . . . . . . . . . . 86STRSPLIT() function . . . . . . . . . . . . . . . . 86STRTOK() function . . . . . . . . . . . . . . . . 86STRTRIM() function . . . . . . . . . . . . . . . . 87STRUCT_ASSIGN procedure . . . . . . . . . . . 87STRUPCASE() function . . . . . . . . . . . . . . 87STR_SEP() function . . . . . . . . . . . . . . . . 87SURFACE procedure . . . . . . . . . . . . . . . . 87SVDC procedure . . . . . . . . . . . . . . . . . . 88SWAP_ENDIAN() function . . . . . . . . . . . . 88SWAP_ENDIAN_INPLACE procedure . . . . . . 88SYSTIME() function . . . . . . . . . . . . . . . . 88TAG_NAMES() function . . . . . . . . . . . . . . 88

TAN() function . . . . . . . . . . . . . . . . . . . 88TANH() function . . . . . . . . . . . . . . . . . . 88TEMPLATE procedure . . . . . . . . . . . . . . . 88TEMPLATE_BLANK procedure . . . . . . . . . . 89TEMPORARY() function . . . . . . . . . . . . . 89TEST procedure . . . . . . . . . . . . . . . . . . 89TOTAL() function . . . . . . . . . . . . . . . . . 89TRACE() function . . . . . . . . . . . . . . . . . 89TRANSPOSE() function . . . . . . . . . . . . . . 89TRIGRID() function . . . . . . . . . . . . . . . . 89TV procedure . . . . . . . . . . . . . . . . . . . . 89TVLCT procedure . . . . . . . . . . . . . . . . . 89TVRD() function . . . . . . . . . . . . . . . . . . 89TVSCL procedure . . . . . . . . . . . . . . . . . . 89T_PDF() function . . . . . . . . . . . . . . . . . 89UINDGEN() function . . . . . . . . . . . . . . . . 89UINT() function . . . . . . . . . . . . . . . . . . 90UINTARR() function . . . . . . . . . . . . . . . . 90UL64INDGEN() function . . . . . . . . . . . . . . 90ULINDGEN() function . . . . . . . . . . . . . . . 90ULON64ARR() function . . . . . . . . . . . . . . 90ULONARR() function . . . . . . . . . . . . . . . 90ULONG() function . . . . . . . . . . . . . . . . . 90ULONG64() function . . . . . . . . . . . . . . . . 90UNIQ() function . . . . . . . . . . . . . . . . . . 90USERSYM procedure . . . . . . . . . . . . . . . . 90VALUE_LOCATE() function . . . . . . . . . . . . 90VARIANCE() function . . . . . . . . . . . . . . . 90VOIGT() function . . . . . . . . . . . . . . . . . . 90WAIT procedure . . . . . . . . . . . . . . . . . . 90WDELETE procedure . . . . . . . . . . . . . . . . 91WHERE() function . . . . . . . . . . . . . . . . . 91WIDGET_BASE() function . . . . . . . . . . . . 91WIDGET_BUTTON() function . . . . . . . . . . 91WIDGET_CONTROL procedure . . . . . . . . . . 91

WIDGET_DROPLIST() function . . . . . . . . . 91WIDGET_EVENT() function . . . . . . . . . . . 91WIDGET_INFO() function . . . . . . . . . . . . . 91WIDGET_LABEL() function . . . . . . . . . . . . 92WIDGET_TEXT() function . . . . . . . . . . . . 92WINDOW procedure . . . . . . . . . . . . . . . . 92WRITEU procedure . . . . . . . . . . . . . . . . . 92WRITE_BMP procedure . . . . . . . . . . . . . . 92WRITE_GIF procedure . . . . . . . . . . . . . . . 92WRITE_JPEG procedure . . . . . . . . . . . . . . 92WRITE_PICT procedure . . . . . . . . . . . . . . 92WRITE_PNG procedure . . . . . . . . . . . . . . 92WSET procedure . . . . . . . . . . . . . . . . . . 92WSHOW procedure . . . . . . . . . . . . . . . . . 92WTN() function . . . . . . . . . . . . . . . . . . 93XYOUTS procedure . . . . . . . . . . . . . . . . 93

II. Developer’s guideChapter 16. General remarks and coding guidelines 95Chapter 17. The library-routine API . . . . . . . . 96Chapter 18. Extending the documentation . . . . 97Chapter 19. Extending the testsuite(testsuite/README) . . . . . . . . . . . . . . . 98

Chapter 20. A short overview of how GDL worksinternally . . . . . . . . . . . . . . . . . . . . . . 99

Chapter 21. How to make use of OpenMP in GDL 100Chapter 22. Notes for packagers . . . . . . . . . . 101

Optional features of PLplot and ImageMagick . . . 101The HDF4-netCDF conflict . . . . . . . . . . . . 101

III. IndicesSubject Index . . . . . . . . . . . . . . . . . . . . . 104Bibliography . . . . . . . . . . . . . . . . . . . . . 105

Page 7: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTCredits 7

About GDL

GNU Data Language (GDL) is a free/libre/open source incremental compiler compat-ible with IDL and to some extent with PV-WAVE. Together with its library routinesit serves as a tool for data analysis and visualization in such disciplines as astronomy,geosciences and medical imaging.GDL as a language is dynamically-typed, vectorized and has object-oriented program-ming capabilities. GDL library routines handle numerical calculations, data visual-isation, signal/image processing, interaction with host OS and data input/output.GDL supports several data formats such as netCDF, HDF4, HDF5, GRIB, PNG,TIFF, DICOM, etc. Graphical output is handled by X11, PostScript, SVG or z-bufferterminals, the last one allowing output graphics (plots) to be saved in a variety ofraster graphics formats. GDL features integrated debugging facilities. GDL has alsoa Python bridge (Python code can be called from GDL; GDL can be compiled as aPython module).Packaged versions of GDL are available for several Linux and BSD flavours as wellas Mac OS X. The source code compiles as well on other UNIX systems, includingSolaris. GDL source code is available for download from Sourceforge.net at: http://sourceforge.net/projects/gnudatalanguage/.Other open-source numerical data analysis tools similar to GDL include:— GNU Octave: http://www.gnu.org/software/octave/— NCL – NCAR Command Language: http://www.ncl.ucar.edu/— PDL – Perl Data Language: http://pdl.perl.org/— R: http://www.r-project.org/— Scilab: http://www.scilab.org/— SciPy: http://www.scipy.org/— Yorick: http://yorick.sourceforge.net/

License

GDL is a free, libre and open-source software released under the GNU General PublicLicense version 2 Fundation [1]. It basicaly means that any GDL user has the freedomto run, copy, distribute, study, change and improve GDL.

Credits

GDL have been developed by a team of volunteers led by Marc Schellens – theproject’s founder and maintainer. As of 2011 the core team consists additionally of(in alphabetical order) Sylwester Arabas, Alain Coulais and Jeol Gales.Among many good folks who provided patches and valuable feedback (in alphabeticalorder) there are: Médéric Bocquien, Justin Bronn, Pierre Chanial, Pedro Corona Romero,Gilles Duvert, Christoph Fuchs, Nicolas Galmiche, Greg Huey, Gaurav Khanna, Christo-pher Lee, Maxime Lenoir, Peter Messmer, Gregory Marchal, Thibaut Mermet, Lea Noreskal,Orion Poplawski, Rene Preusker, Mateusz Turcza, Joanna Woo, H Xu, . . .GDL contains snippets of code borrowed from other free and open-source projectscredited to: Deepak Bandyopadhyay, Sergio Gelato, Lutz Kettner, Craig B. Mark-wardt, Paul Ricchiazzi, Danny Smith, J.D. Smith, Richard Schwartz, Paul Wessel,Bob Withers, . . .Pre-compiled or pre-configured packages of GDL are available for numerous sys-tems thanks to: Juan A. Añel, Axel Beckert, Markus Dittrich, Takeshi Enomoto,Sébastien Fabbro, Orlando Garcia Feal, Gaurav Khanna, Justin Lecher, Sebastien Maret,Lea Noreskal, Orion Poplawski, Marius Schamschula, Gürkan Sengün, Thierry Thomas,. . .GDL is written in C++ using the Terence Parr’s ANTLR language-recognition frame-work. Most of the library routines are implemented as interfaces to open-sourcepackages such as GNU Scientific Library, PLPlot, FFTW, ImageMagick, and manymany more.Last but not least, we would like to acknowledge the designers of IDL and PV-WAVE.Please do report any missing name on the lists above in the same way as any otherbug in GDL (see section below).

Providing fedback

Your comments are welcome! Let us know what you use GDL for. Or if you don’t, whynot. Which functionality are you missing/would appreciate most for comming versions.Please send your bug reports, complaints, suggestions, comments and patches usingthe trackers or forums available at GDL’s project website at SourceForge: http://sourceforge.net/projects/gnudatalanguage/.

Page 8: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT8 Contents

Organization of this document

This document is divided into two parts:— User’s guide: intended for users developing programs written in GDL,— Developer’s guide: intended for those interested in developing or packaging GDL.Most of GDL functionalities are exemplified with short GDL scripts. For each suchscript there are two listings provided: a source code listing with line numbers to theleft and a log of output below, e.g.:

1 p r i n t , ’ H e l l o wor ld ! ’

H e l l o wor ld !

All scripts are run by invoking gdl script.pro what is equivalent to loading thescript with the @ operator or typing every line of script at the GDL’s interactive modecommand prompt.Often the scripts contain lines beginning with a dollar sign ”$” which is the GDLsyntax for executing shell commands, e.g.

1 $ echo " He l l o wor ld ! "

He l l o wor ld !

If a script involves creation of a plot, the resultant postscript file is displayed belowthe output listing, e.g.:

1 p lo t , wtn ( [ f l t a r r ( 9 ) , 1 , f l t a r r ( 1 0 14 ) ] , 4 , / i n v e r s e )2 xyouts , 480 , . 0 2 , ’ H e l l o wor ld ! ’ , c h a r s i z e=2

While GDL itself reached a beta status of development, the hereby documentation isfar from reaching an alpha status – help is very welcome!

Page 9: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTPart I

User’s guide

Page 10: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT

Page 11: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTChapter 1

Obtaining, installing, and invoking GDL

Requirements and supported environments

Availability of pre-compiled packages

Compiling GDL from source

Compiler requirements

GNU g++ clang Intel C++

Autotools

Cmake

Installation layout

Command-line options

Influential environmental variables

Page 12: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTChapter 2

Language reference

Syntax basics

IDL_VALIDNAME() TEMPORARY()

Datatypes

ASSOC()BYTE() COMPLEX(), DCOMPLEX() ( CONJ(), ATAN(), IMAGINARY(), REAL_PART())DOUBLE() FIX() FLOAT() LONG() LONG64() UINT() ULONG() ULONG64()SIZE()

Operators

LOGICAL_AND() LOGICAL_OR() LOGICAL_TRUE()SQRT()

Flow control structures

Conditional execution

IF

1 a = 102 i f a gt 5 then p r i n t , ’ a i s g r e a t e r than 5 ’

a i s g r e a t e r than 5

1 a = 102 i f a gt 5 then p r i n t , ’ a > 5 ’ e l s e p r i n t , ’ a <= 5 ’

a > 5

contrary to... cannot be used in interactive mode nor in batch scripts, but only within...

1 $ ca t r ep l ace_wi th_nans . pro2 x = [ 1 . 1 , 2 . 1 , −3.3 , 4 . 1 , −999, 6 ]3 r ep lace_with_nans , x , −9994 p r i n t , x

pro rep lace_with_nans , x , v a lwhr = where ( x eq va l , cnt )i f cnt gt 0 then beg in

x [ whr ] = !VALUES .F_NANmessage , ’ nan count : ’ + s t r t r i m ( cnt , 2 ) , / c o n t i

e n d i fend% Compi led module : REPLACE_WITH_NANS.% REPLACE_WITH_NANS: nan count : 1

1 .10000 2.10000 −3.30000 4.10000 nan 6.00000

Page 13: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTFlow control structures 13

data type size constants min max casting array allocation index array alloc. freeing

natural numbers incl. zero (unsigned)

8b 1b 0 255 BYTE() BYTARR() BINDGEN()

TEMPORARY()16b 1u 0 65535 UINT() UINTARR() UINDGEN()32b 1ul 0 4·109 ULONG() ULONARR() ULINDGEN()64b 1ull 0 1,8·1019 ULONG64() ULON64ARR() UL64INDGEN()

integer numbers (signed)16b 1 -32768 32767 FIX() INTARR() INDGEN()

TEMPORARY()32b 1l -2·109 2·109 LONG() LONARR() LINDGEN()64b 1ll -9·1018 9·1018 LONG64() LONG64ARR() L64INDGEN()

real numbers 32b 1. -1038 1038 FLOAT() FLTARR() FINDGEN() TEMPORARY()64b 1d -10308 10308 DOUBLE() DBLARR() DINDGEN()

complex numbers 64b complex(1,0) 2x float 2x float COMPLEX() COMPLEXARR() CINDGEN() TEMPORARY()128b dcomplex(1,0) 2x double 2x double DCOMPLEX() DCOMPLEXARR() DCINDGEN()character (byte) strings variable ’one’ – – STRING() STRARR() – TEMPORARY()structures variable {a:1, b:1} – – – REPLICATE() – TEMPORARY()pointers n/a ptr_new(1) – – – PTRARR() – PTR_FREE()objects n/a obj_new(’One’) – – – OBJARR() – OBJ_DESTROY()

CASE

SWITCH

Loops

FOR

FOREACH

FOREACH statement allows to simplify loop constructs when the array index is notused within the loop:

1 tocompare = [ ’ app l e s ’ , ’ o r r age s ’ ]2 f o r e a c h a , tocompare do he lp , a

A STRING = ’ app l e s ’A STRING = ’ o r r age s ’

As with index variables in FOR loops, the lifetime of the ”loop variables” in FOREACHstatements extends beyond the loop execution (see example below). Both BREAKand CONTINUE statements work in FOREACH in the same way as in other loopconstructs:

1 $ ca t example . pro2 example

pro examplel e t t e r s = [ ’ a ’ , ’ b ’ , ’ c ’ , ’ d ’ , ’ e ’ ]f o r e a c h l , l e t t e r s do beg in

i f l eq ’ c ’ then con t i nu ei f l eq ’ d ’ then breakp r i n t , ’ t r y i n g to r e p l a c e ’+ l + ’ w i th ’ ’ x ’ ’ ’l = ’ x ’

end f o r ea chp r i n t , l e t t e r sp r i n t , l

end% Warning : Ass ignment to l oop v a r i a b l e d e t e c t ed .

Page 14: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT14 Chapter 2. Language reference

% Compi led module : EXAMPLE.t r y i n g to r e p l a c e a wi th ’ x ’t r y i n g to r e p l a c e b wi th ’ x ’a b c d ed

Loop variables in FOREACH statements contain copies of the array elements thusassigning them a value within the loop does not change contents of the array and asa potentially bug-prone situation causes a compiler warning (see example above).

REPEAT

WHILE

Jumps

GOTO

Highly deprecated as it usually make the code difficult to read and prone to errors.Anyhow, the syntax is as follows

1 $ ca t example . pro2 example

pro examplex = 0goto , ax++a : p r i n t , ’ x = ’ , x

end% Compi led module : EXAMPLE.x = 0

As most of the flow control operator described in this section GOTO is usable onlywithin a GDL routine – not within a batch script which is equivalent to a series ofstatements in the interactive mode.

Other

EXECUTE()

Variable scoping rules

Functions and procedures

There may exist a function and a procedure of the same name (e.g. PYTHON()and PYTHON, CALL_METHOD() and CALL_METHOD)EXPAND_PATH(), FILEPATH()CALL_FUNCTION() CALL_PROCEDURE()

Argument passing

N_PARAMS() KEYWORD_SET() ARG_PRESENT() N_ELEMENTS() SIZE()_EXTRA _STRICT_EXTRA _REF_EXTRAwhen by reference, when by value...Keyword name abbreviations are allowed if unambiguous, e.g.:

1 he lp , s t r p o s ( ’ kayak ’ , ’ a ’ , / r e v e r s e_ s e a r c h )2 he lp , s t r p o s ( ’ kayak ’ , ’ a ’ , / r e v e r s e_ s )3 he lp , s t r p o s ( ’ kayak ’ , ’ a ’ , / r e v )4 he lp , s t r p o s ( ’ kayak ’ , ’ a ’ , 2 , / r e v e r s e_ s e a r c h , / r e v e r s e _ o f f s e t )

<Exp r e s s i on> LONG = 3<Exp r e s s i on> LONG = 3% STRPOS: Ambiguous keyword a b b r e v i a t i o n : REV% Execu t i on h a l t e d at : $MAIN$<Exp r e s s i on> LONG = 1

Page 15: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTObject-oriented programming 15

Arrays

PRINT ( TV) PMN_ELEMENTS() SIZE()REFORM() REBIN() REVERSE() ROTATE() TRANSPOSE()SORT() UNIQ()WHERE() ARRAY_INDICES()ARRAY_EQUAL()MAKE_ARRAY() REPLICATE() REPLICATE_INPLACEBYTARR() COMPLEXARR() DBLARR() DCOMPLEXARR() FLTARR() IN-TARR() LON64ARR() LONARR() OBJARR() PTRARR() STRARR() UIN-TARR() ULON64ARR() ULONARR()BINDGEN() CINDGEN() DCINDGEN() DINDGEN() FINDGEN() INDGEN()L64INDEGEN() LINDEGEN() SINDGEN() UINDGEN() UL64INDGEN() ULIND-GEN()IDENTITY()

Structures

CREATE_STRUCT() N_TAGS() STRUCT_ASSIGN TAG_NAMES()

System variables (global)

DEFSYSV (checking if running GDL)

Heap variables (pointers)

HEAP_GC PTRARR PTR_FREE PTR_NEW() PTR_VALID()

The HELP procedure

HELP

Object-oriented programming

CALL_METHON CALL_METHON() OBJARR()OBJ_CLASS() OBJ_DESTROY OBJ_ISA() OBJ_NEW() OBJ_VALID()

Handling Overflows, Floating Point Special Values

CHECK_MATH() FINITE() MACHAR()

Error handling

MESSAGE CATCH ON_ERROR ON_IOERROR EXECUTE

Compile options

1 $ ca t example . pro2 he lp , 13 example

pro examplecompi le_opt i d l 2he lp , 1

end<Exp r e s s i on> INT = 1% Compi led module : EXAMPLE.<Exp r e s s i on> LONG = 1

1 $cat example . pro2 example

pro examp le_he lpe rcompi l e_opt h iddenp r i n t , ’ example p rocedu r e h e l p e r ’

endpro example

Page 16: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT16 Chapter 2. Language reference

examp le_he lpe rend% Compi led module : EXAMPLE.example p rocedu r e h e l p e r

Page 17: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTChapter 3

Interpreter commands and built-in debugging facilities

MESSAGE RETALL STOP .COMPILE .STEP .CONTINUECHECK_MATHJOURNAL RECALL_COMMANDSMEMORY ( TEMPORARY())RESOLVE_ROUTINE ROUTINE_INFO() ROUTINE_NAMES() SCOPE_VARFETCH()

Page 18: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTChapter 4

MathsBasic Scalar, vector and array operations

TOTAL() SQRT() REVERSE() SHIFT() MAX() MIN() MEAN() NORM()CONVOL() PRODUCT() CROSSP() DERIV() INVERT() MATRIX_MULTIPLY()TRACE() TRANSPOSE() ( ROTATE())UNIQ()?

Basic and special function library

GDL has a built-in collection of mathematical functions that are listed below. A greatmajority of these routines accept both scalar and vector arguments of any numericaltype and return the result as scalars or vectors, respectively, preserving the type ofthe argument, e.g.:

1 he lp , abs (−1 l ) , abs ([ − ! PI , 0 , ! PI ] )

<Exp r e s s i on> LONG = 1<Exp r e s s i on> FLOAT = Array [ 3 ]

Some of the routines support a /DOUBLE keyword (flag) which enables one to forceGDL to perform the calculations in (if applicable) and return the value[s] as doubleprecision floating point numbers regardless of the type of the argument[s] passed,e.g:

1 he lp , gamma(36b ) , gamma(36b , / doub l e )

<Exp r e s s i on> FLOAT = i n f<Exp r e s s i on> DOUBLE = 1.0333148 e+40

Similarily, if a functions returns integer numbers, the /L64 keyword (flag) can be usedto force usage of 64-bit integers, e.g.:

1 he lp , round (1 d10 ) , round (1 d10 , / l 6 4 )

<Exp r e s s i on> LONG = −2147483648<Exp r e s s i on> LONG64 = 10000000000

If GDL was compiled with OpenMP support (which is the default if the compilersupports it, and most of them do nowadays), and if GDL is run on a multi-cpu (ormulti-core) system, and if the array[s] passed as the argument[s] are big enough (seechapter ... TODO) the computations are performed by multiple threads. Consult theindividual documentation entries of each of the routines for details.

ABS() returns the absolute value[s] of the real number[s] passed as the argument(integer or floating point) or the magnitude[s] in case of complex number[s]

CEIL() returns the smallest integer number[s] greater than or equal to the argumentFLOOR() returns the greatest integer number[s] less than or equal to the argument

(aka the Gauss’ symbol)ROUND() returns an integer value[s] closest to the argument

ERF()IMSL_ERF()ERFC()ERRORF()EXPINT()ALOG()ALOG10()EXP() ( GSL_EXP())

... the following trigonometric functions:

Page 19: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTStatistics 19

SIN() returns the sine of the argumentASIN() returns the cosine of the argumentCOS()ACOS()TAN()ATAN() ... complex! ...the following hyperbolic functions:SINH()COSH()TANH()as well as the following related functions:LL_ARC_DISTANCE()

BESELI()BESELJ()BESELK()BESELY()

SPHER_HARM()LAGUERRE()LEGENDRE()

GAUSSINT() GAUSS_CVF() GAUSS_PDF()T_PDF()FACTORIAL() GAMMA() BETA() IGAMMA() LNGAMMA()PRIMES()VOIGT()

Linear algebra

LA_TRIRED LUDC SVDCIDENTITY() REPLICATE() REPLICATE_INPLACE

Statistics

CORRELATE()HISTOGRAM() HIST_2D() (implemented using HIST_ND())IMSL_BINOMIALCOEF()GAUSSINT() GAUSS_CVF() GAUSS_PDF()T_PDF()KURTOSIS() SKEWNESS() MEAN() MIN() MAX() MEDIAN() MEANABS-DEV() MOMENT() STDDEV() VARIANCE()

Interpolation

INTERPOL() (implemented using FINDEX()) INTERPOLATE()REBIN()DERIV()SPL_INIT() SPL_INTERP()VALUE_LOCATE()

Polynomials

IMSL_ZEROPOLY() POLY()

Geometric calculations

POLY_AREA() TRIGRID()

Bitwise operations

ISHFT() BYTEORDER SWAP_ENDIAN() SWAP_ENDIAN_INPLACE

Function fitting

Markwardt [3]

Page 20: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT20 Chapter 4. Maths

Fourier analysis

FFT() DIST()

Multidimensional root-finding

BROYDEN() IMSL_ZEROPOLY() NEWTON()

Random numbers

RANDOMN() RANDOMU()

Ordinary differential equations

RK4()

Wavelet analysis

WTN()

Mathematical and physical constants

!PI !DPI IDL_CONSTANT()

Page 21: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTChapter 5

Input/output, supported data formats

Basics – accessing files and io streams

PRINT PM GET_KBRD READBYTEORDER CLOSE EOFREAD WRITEREADF READS READUGET_LUN FREE_LUN POINT_LUN SKIP_LUNOPENR OPENU OPENW

ASCII

PRINTF READF READ_ASCII

CSV

Binary data (raw access)

READ_BINARY()BYTEORDER SWAP_ENDIAN() SWAP_ENDIAN_INPLACE

FITS

Astron

netCDF

NCDF_ATTCOPY() NCDF_ATTDEL NCDF_ATTGET NCDF_ATTINQ() NCDF_ATTNAME()NCDF_ATTPUT NCDF_ATTRENAME NCDF_CLOSE NCDF_CONTROL NCDF_CREATE()NCDF_DIMDEF() NCDF_DIMID() NCDF_DIMINQ NCDF_DIMRENAME NCDF_EXISTS()NCDF_INQUIRE() NCDF_OPEN() NCDF_VARDEF() NCDF_VARGET NCDF_VARGET1NCDF_VARID() NCDF_VARINQ() NCDF_VARPUT NCDF_VARRENAME

HDF4

HDF_CLOSE HDF_OPEN()HDF_SD_ADDDATA HDF_SD_ATTRFIND() HDF_SD_ATTRINFO HDF_SD_CREATE()HDF_SD_DIMGET HDF_SD_DIMGETID() HDF_SD_END HDF_SD_ENDACCESSHDF_SD_FILEINFO HDF_SD_GETDATA HDF_SD_GETINFO HDF_SD_NAMETOINDEX()HDF_SD_SELECT() HDF_SD_START()HDF_VD_ATTACH() HDF_VD_DETACH HDF_VD_FIND() HDF_VD_GETHDF_VD_READ()HDF_VG_ATTACH() HDF_VG_DETACH HDF_VG_GETID() HDF_VG_GETINFOHDF_VG_GETTRS

HDF5

H5A_CLOSE H5A_GET_NAME() H5A_GET_NUM_ATTRS() H5A_GET_SPACE()H5A_GET_TYPE() H5A_OPEN_IDX() H5A_OPEN_NAME() H5A_READ()H5D_CLOSE H5D_GET_SPACE() H5D_GET_TYPE() H5D_OPEN() H5D_READ()H5F_CLOSE H5F_IS_HDF5() H5F_OPEN() H5G_CLOSE H5G_OPEN() H5S_CLOSEH5S_GET_SIMPLE_EXTENT_DIMS() H5T_CLOSE H5T_GET_SIZE() H5_GET_LIBVERSION()

Page 22: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT22 Chapter 5. Input/output, supported data formats

raster images (TIFF, PNG, JPEG, . . . )

see chapter in Image Processing

DICOM

GRIB

GRIBAPI_CLONE() GRIBAPI_CLOSE_FILE GRIBAPI_COUNT_IN_FILE() GRIB-API_GET GRIBAPI_GET_DATA GRIBAPI_GET_SIZE() GRIBAPI_NEW_FROM_FILE()GRIBAPI_OPEN_FILE() GRIBAPI_RELEASE

IDL save files

RESTORE SAVE

Page 23: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTChapter 6

Plotting and mapping

2D plots

AXIS CONTOUR OPLOT PLOT PLOTERR PLOTS POLYFILL XYOUTS

3D plots

SURFACE PLOTS

Plotting raster data

BYTSCL() TV() TVLCT() TVRD() TVSCL()

Managing multiple windows

WDELETE WINDOW WSHOW WSET

Map projections

MAP_CONTINENTS MAP_PROJ_FORWARD MAP_PROJ_INVERSELL_ARC_DISTANCE()MAP_CLIP_SET

Output terminals

SET_PLOT DEVICE CURSOR ERASE FLUSH

Working with colours

LOADCT

1 dev i c e , / co l o r , decomposed=02 l o adc t , 13 p lo t , [ 0 , 1 ] , t h i c k=204 op lo t , [ 1 , 0 ] , c o l o r =200 , t h i c k=20

% Compi led module : LOADCT.% LOADCT: Load ing t a b l e BLUE/WHITE

Page 24: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT24 Chapter 6. Plotting and mapping

1 dev i c e , / co l o r , decomposed=12 p lo t , [ 0 , 1 ] , t h i c k=203 op lo t , [ 1 , 0 ] , c o l o r =’ f f0000 ’ x , t h i c k=20

Fonts, symbols and text formatting

SHOWFONT Harshey fonts [8]

Misc

CONVERT_COORD() GET_SCREEN_SIZE()

Page 25: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTChapter 7

Interaction with host OSCD POPD PUSHD PRINTD EXIT WAIT

Executing external commands (via shell or not)

SPAWN (while EXECUTE() ...)

Filesystem operations

CD FILE_BASENAME() FILE_COPY FILE_DELETE FILE_DIRNAME() FILE_EXPAND_PATH()( EXPAND_PATH()) FILE_INFO() FILE_LINES() FILE_MKDIR FILE_SAME()FILE_SEARCH() FILE_TEST() FILE_WHICH() FINDFILE() FSTAT() PATH_SEP()

Network operations

SOCKET PARSE_URL()

Command-line options and environmental variables

COMMAND_LINE_ARGS() SETENV GETENV() LOCALE_GET()

Page 26: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTChapter 8

Manipulating strings

STRCMP() STRCOMPRESS() STREGEX() STRJOIN() STRLEN()STRLOWERCASE() STRUPCASE()STRMID() STRPOS() RSTRPOS() STRPUT() STRSPLIT() STRTOK() STR-TRIM() STR_SEP()READS()STRARR() STRING() SINDGEN()IDL_BASE64() IDL_VALIDANEM() SORT() UNIQ() PARSE_URL()

Page 27: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTChapter 9

Representing date & time

CALDAT CALENDAR SYSTIME()

Page 28: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTChapter 10

Image processing

QUERY_BMP() QUERY_DICOM() QUERY_GIF() QUERY_IMAGE() QUERY_JPEG()QUERY_PICT() QUERY_PNG() QUERY_PPM() QUERY_TIFF()READ_BMP() READ_DICOM() READ_JPEG READ_PICT READ_PNG() READ_TIFF()READ_XWD()WRITE_BMP WRITE_JPEG WRITE_PICT WRITE_PNGBYTSCL() CONVOL() MEDIAN() POLY_2D() PREWITT() RADON() ROBERTS()ROTATE() REBIN() SMOOTH() SOBEL()

Page 29: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTChapter 11

Parallel processing

Built-in features (OpenMP)

CPU

Semaphores and shared memory (library routines)

SEM_CREATE() SEM_DELETE SEM_LOCK() SEM_RELEASE

ImageMagick’s features

MPI and GDL

Page 30: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTChapter 12

GUI programming (widgets)

DIALOG_MESSAGE() DIALOG_PICKFILE()WIDGET_BASE() WIDGET_BUTTON() WIDGET_CONTROL WIDGET_DROPLIST()WIDGET_EVENT() WIDGET_INFO() WIDGET_LABEL() WIDGET_TEXT()

Page 31: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTChapter 13

Dynamic loading

CALL_EXTERNAL() LINKIMAGE()

Page 32: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTChapter 14

The Python bridge

van Rossum and Fred L. Drake [6]

calling Python code from GDL

PYTHON() PYTHON

calling GDL code from Python

Page 33: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTChapter 15

Alphabetical list of library routines

ABS() functionpositional arguments: 1keywords: none

Returns absolute value of a number passed as the first argument or an array of absolute valuesif argument is an array. For complex arguments the length of the argument in the complexplane is returned (the phase of a complex number may be obtained using ATAN()).

1 p r i n t , abs (−2.2)2 p r i n t , abs ( [ −1 ,1 ,0 ] )3 p r i n t , abs ( . 5 ∗ s q r t (2 ) ∗ complex (1 , 1 ) )

2 .200001 1 0

1.00000

multi-threading: this routine uses GDL thread pool if working on large array, see the...

ACOS() functionpositional arguments: 1keywords: none

multi-threading: this routine uses GDL thread pool if working on large array, see the...

ALOG() functionpositional arguments: 1keywords: none

ALOG10() function

positional arguments: 1keywords: none

APPLEMAN procedure

positional arguments: 2keywords: HELP, NODISPLAY, RESULT, TEST, XSIZE, YSIZE

Computes and optionally renders the Mandelbrot set. The two positional arguments areoptional and allow specification of the range over which the set is computed (default values:[-1.0,2.3] and [-1.3,1.3]).

RESULT keyword

Allows passing a variable into which the computed data will be sotred. If set, no renderingis done.

XSIZE keyword

Allows specification of the width of the domain over which the set is computed.

Page 34: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT34 Chapter 15. Alphabetical list of library routines

YSIZE keyword

Allows specification of the height of the domain over which the set is computed.

1 rng_x = [−1 , 2 . 3 ]2 rng_y = [ −1.3 , 1 . 3 ]3 appleman , rng_x , rng_y , r e s u l t=f r a c t a l , x s i z e =165 , y s i z e =1304 dev i c e , / c o l o r5 p lo t , [ 0 ] , / nodata , x range=rng_x , y range=rng_y6 l o adc t , 157 t v s c l , f r a c t a l , rng_x [ 0 ] , rng_y [ 0 ] , $8 x s i z e=rng_x [1]− rng_x [ 0 ] , y s i z e=rng_y [1]− rng_y [ 0 ]

% Compi led module : APPLEMAN.% Compi led module : LOADCT.% LOADCT: Load ing t a b l e BOW SPECIAL% Compi led module : TVSCL .

ARG_PRESENT() functionpositional arguments: 1

keywords: none

ARRAY_EQUAL() function

positional arguments: 2keywords: NO_TYPECONV

ARRAY_INDICES() function

positional arguments: 2keywords: none

see also: WHERE()

ASIN() function

positional arguments: 1keywords: none

multi-threading: this routine uses GDL thread pool if working on large array, see the...

ASSOC() function

positional arguments: 3keywords: PACKED

ATAN() function

positional arguments: 2keywords: PHASE

multi-threading: this routine uses GDL thread pool if working on large array, see the...

Page 35: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTAXIS procedure 35

AXIS procedure

positional arguments: 3keywords: CHARSIZE, CHARTHICK, COLOR, DATA, DEVICE, FONT, NODATA,

NOERASE, NORMAL, SAVE, SUBTITLE, T3D, THICK, TICKLEN, XAXIS,XCHARSIZE, XGRIDSTYLE, XLOG, XMARGIN, XMINOR, XRANGE, XSTYLE,XTHICK, XTICKFORMAT, XTICKINTERVAL, XTICKLEN, XTICKNAME, XTICKS,XTITLE, XTYPE, YAXIS, YCHARSIZE, YGRIDSTYLE, YLOG, YMARGIN, YMI-NOR, YNOZERO, YRANGE, YSTYLE, YTHICK, YTICKFORMAT, YTICKIN-TERVAL, YTICKLEN, YTICKNAME, YTICKS, YTITLE, YTYPE, ZCHARSIZE,ZGRIDSTYLE, ZMARGIN, ZMINOR, ZRANGE, ZSTYLE, ZTHICK, ZTICKFOR-MAT, ZTICKLEN, ZTICKNAME, ZTICKS, ZTITLE, ZVALUE

BESELI() function

positional arguments: 2keywords: DOUBLE, HELP, ITER

BESELJ() function

positional arguments: 2keywords: DOUBLE, HELP, ITER

BESELK() function

positional arguments: 2keywords: DOUBLE, HELP, ITER

BESELY() function

positional arguments: 2keywords: DOUBLE, HELP, ITER

BETA() function

positional arguments: 2keywords: DOUBLE

BILINEAR() function

positional arguments: 3keywords: MISSING

BINDGEN() function

positional arguments: 8keywords: none

BROYDEN() function

positional arguments: 2keywords: DOUBLE, ITMAX, TOLF, TOLX

BYTARR() function

positional arguments: 8keywords: NOZERO

BYTE() function

positional arguments: 10keywords: none

Page 36: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT36 Chapter 15. Alphabetical list of library routines

BYTEORDER procedure

positional arguments: any numberkeywords: DTOXDR, FTOXDR, HTONL, HTONS, L64SWAP, LSWAP, NTOHL,

NTOHS, SSWAP, SWAP_IF_BIG_ENDIAN, SWAP_IF_LITTLE_ENDIAN, XDR-TOD, XDRTOF

BYTSCL() function

positional arguments: 3keywords: MAX, MIN, NAN, TOP

CALDAT procedure

positional arguments: 7keywords: none

CALENDAR procedure

positional arguments: 2keywords: none

An interface to the UNIX cal command. Displays a calendar using the current graphicsdevice (i.e. X, PS, . . . ). The two optional arguments allow to specify a month, or a monthand a year.

1 ca l enda r , 9 , 1983

% Compi led module : CALENDAR.

CALL_EXTERNAL() function

positional arguments: any numberkeywords: ALL_GDL, ALL_VALUE, B_VALUE, D_VALUE, F_VALUE, I_VALUE,

L64_VALUE, L_VALUE, RETURN_TYPE, STRUCT_ALIGN_BYTES, S_VALUE,UI_VALUE, UL64_VALUE, UL_VALUE, UNLOAD, VALUE

Calls a routine from a sharable object library. The first argument should be a string containingthe filename of the sharable object to load (standard library paths are searched). The secondargument should be a string with the name of the routine in the image to ba called. Allsubsequent arguments are passed to the routine.Here is a, hopefully concise, example covering all the steps one could take to write, buildand call a C routine from GDL:

1 $ echo ’ $ ca t l i b e x amp l e . c ’2 $ ca t l i b e x amp l e . c3 $ echo ’ $ ca t CMakeLists . t x t ’4 $ ca t CMakeLists . t x t5 $ echo ’ $ cmake . ’6 $ cmake . | awk ’{ p r i n t ( l e n g t h ( $0)>50? s u b s t r ( $0 , 0 , 5 0 ) " . . . " : $0 )} ’7 $ echo

Page 37: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTCALL_EXTERNAL() function 37

8 $ echo ’ $ make ’9 $ make

10 $ echo11

12 img = ’ l i b e x amp l e . ’+( !VERSION .OS_NAME eq ’ darwin ’ ? " d y l i b " : " so ")13 message , ’1 d308 vs . a nex t r e p r e s e n t a b l e doub l e : ’ , / c on t i nu e14 p r i n t , fo rmat = ’(E ) ’ , 1d308 , $15 c a l l _ e x t e r n a l ( img , ’ c_nex t a f t e r ’ , 1d308 , 2d308 , / d_value )16

17 $ make c l e a n

$ ca t l i b e x amp l e . c#i n c l u d e <math . h>doub l e c_n e x t a f t e r ( i n t argc , v o i d ∗ a rgv [ ] ) {

r e t u r n n e x t a f t e r (∗ ( doub l e ∗) a rgv [ 0 ] , ∗( doub l e ∗) a rgv [ 1 ] ) ;}

$ ca t CMakeLists . t x tp r o j e c t ( l i b e x a p l e C)cmake_minimum_required (VERSION 2 . 0 )a dd_ l i b r a r y ( example SHARED l i b e x amp l e . c )s e t _ d i r e c t o r y _ p r o p e r t i e s (PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES

" Make f i l e ; CMakeCache . t x t ; cmak e_ i n s t a l l . cmake ; CMakeFi les " )

$ cmake .−− The C comp i l e r i d e n t i f i c a t i o n i s GNU−− Check ing whether C comp i l e r has − i s y s r o o t−− Check ing whether C comp i l e r has − i s y s r o o t − ye s−− Check ing whether C comp i l e r s uppo r t s OSX dep l oy . . .−− Check ing whether C comp i l e r s uppo r t s OSX dep l oy . . .−− Check f o r work ing C comp i l e r : / u s r / b i n / gcc−− Check f o r work ing C comp i l e r : / u s r / b i n / gcc −− w . . .−− Dete c t i ng C comp i l e r ABI i n f o−− Dete c t i ng C comp i l e r ABI i n f o − done−− Con f i g u r i n g done−− Gene r a t i ng done−− Bu i l d f i l e s have been w r i t t e n to : / Use r s / s l a y o o . . .

$ makeScann ing dependenc i e s o f t a r g e t example[100%] Bu i l d i n g C ob j e c t CMakeFi les / example . d i r / l i b e x amp l e . o

L i n k i n g C sha r ed l i b r a r y l i b e x amp l e . d y l i b[100%] B u i l t t a r g e t example

% $MAIN$ : 1d308 vs . a nex t r e p r e s e n t a b l e doub l e :1 .0000000000000000E+3081.0000000000000002E+308

RETURN_TYPE keyword

Indicates the type of the return value of the called routine, this value will be returned byCALL_EXTERNAL to GDL. The value of the keyword is interpreted in the same way as thetype field of the SIZE() function. Possible values for it are those for numeric types exceptCOMPLEX and DCOMPLEX. The default value is 3 (GDL type LONG, which correspondsto C type int). Alternatively one of the following keywords may be used:

B_VALUE keyword

equivalent to RETURN_TYPE=1 (BYTE)

I_VALUE keyword

equivalent to RETURN_TYPE=2 (INTEGER)

L_VALUE keyword

equivalent to RETURN_TYPE=3 (LONG)This correspodns to the default behaviour.

F_VALUE keyword

equivalent to RETURN_TYPE=4 (FLOAT)

D_VALUE keyword

equivalent to RETURN_TYPE=5 (DOUBLE)

UI_VALUE keyword

equivalent to RETURN_TYPE=12 (UINT)

Page 38: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT38 Chapter 15. Alphabetical list of library routines

UL_VALUE keyword

equivalent to RETURN_TYPE=13 (ULONG)

L64_VALUE keyword

equivalent to RETURN_TYPE=14 (LONG64)

UL64_VALUE keyword

equivalent to RETURN_TYPE=15 (ULONG64)

S_VALUE keyword

equivalent to RETURN_TYPE=6 (STRING, the called function should return char*)

ALL_VALUE keyword

The default is to pass all parameters by reference. If this keyword is set, all parameters arepassed by value.

UNLOAD keyword

If set (/UNLOAD or UNLOAD=1) the shared object will be unloaded after calling the routine.

STRUCT_ALIGN_BYTES keyword

If set to an integer n, CALL_EXTERNAL assumes that structures in the shared object arealigned at boundaries of n bytes, where n should be a power of 2. If n=0 or if this keywordis not given, the default machine dependent alignment is assumed (normally 4/8 bytes on32/64 bit systems). It should only be necessary to use this keyword if the called sharedobject has been compiled with a different alignment, e.g. with #pragma pack(n)

implementation details: This routine uses the dlopen/dlsym/dlclose calls, and thus is avail-able only on systems that support them. It has been tested on Linux, Apple OS X andSolaris.

see also: LINKIMAGE

disclaimer: CALL_EXTERNAL was implemented in GDL by Christoph Fuchs, who alsowrote the documentation for it which was the base for this entry. Copyright: (C) 2010by Christoph Fuchs. The original file was licensed under GNU GPL v>=2.

CALL_FUNCTION() functionpositional arguments: any numberkeywords: _REF_EXTRA

CALL_METHOD procedurepositional arguments: any numberkeywords: _REF_EXTRA

CALL_METHOD() functionpositional arguments: any numberkeywords: _REF_EXTRA

CALL_PROCEDURE procedurepositional arguments: any numberkeywords: _REF_EXTRA

CATCH procedurepositional arguments: 1keywords: CANCEL

CD procedurepositional arguments: 1keywords: CURRENT

CDF_EPOCH procedurepositional arguments: 8keywords: BREAKDOWN_EPOCH, COMPUTE_EPOCH

Page 39: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTCEIL() function 39

CEIL() function

positional arguments: 1keywords: L64

multi-threading: this routine uses GDL thread pool if working on large array, see the...

CHECK_MATH() function

positional arguments: 2keywords: MASK, NOCLEAR, PRINT

CINDGEN() function

positional arguments: 8keywords: none

CLOSE procedure

positional arguments: any numberkeywords: ALL, EXIT_STATUS, FILE, FORCE

COMMAND_LINE_ARGS() function

positional arguments: nonekeywords: COUNT

COMPLEX() function

positional arguments: 10keywords: none

multi-threading: this routine uses GDL thread pool if working on large array, see the...

COMPLEXARR() functionpositional arguments: 8keywords: NOZERO

CONGRID() functionpositional arguments: 4keywords: CENTER, CUBIC, HELP, INTERP, MINUS_ONE, MISSING, TEST

CONJ() functionpositional arguments: 1keywords: none

multi-threading: this routine uses GDL thread pool if working on large array, see the...

CONTOUR procedurepositional arguments: 3keywords: BACKGROUND, CHARSIZE, CHARTHICK, CLIP, COLOR, C_CHARSIZE,

C_COLORS, C_LINESTYLE, DATA, DEVICE, FILL, FOLLOW, FONT,ISOTROPIC, LEVELS, MAX_VALUE, MIN_VALUE, NLEVELS, NOCLIP, NO-DATA, NOERASE, NORMAL, OVERPLOT, POSITION, SUBTITLE, T3D,THICK, TICKLEN, TITLE, XCHARSIZE, XGRIDSTYLE, XLOG, XMARGIN,XMINOR, XRANGE, XSTYLE, XTHICK, XTICKFORMAT, XTICKLEN, XTICK-NAME, XTICKS, XTICKV, XTICK_GET, XTITLE, XTYPE, YCHARSIZE, YGRID-STYLE, YLOG, YMARGIN, YMINOR, YRANGE, YSTYLE, YTHICK, YTICKFOR-MAT, YTICKLEN, YTICKNAME, YTICKS, YTICKV, YTICK_GET, YTITLE,YTYPE, ZCHARSIZE, ZGRIDSTYLE, ZLOG, ZMARGIN, ZMINOR, ZRANGE,ZSTYLE, ZTHICK, ZTICKFORMAT, ZTICKLEN, ZTICKNAME, ZTICKS, ZTICKV,ZTICK_GET, ZTITLE, ZTYPE, ZVALUE

CONVERT_COORD() functionpositional arguments: 3

Page 40: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT40 Chapter 15. Alphabetical list of library routines

keywords: DATA, DEVICE, DOUBLE, NORMAL, T3D, TO_DATA, TO_DEVICE,TO_NORMAL

CONVOL() function

positional arguments: 3keywords: CENTER, EDGE_TRUNCATE, EDGE_WRAP

CORRELATE() function

positional arguments: 2keywords: COVARIANCE, DOUBLE

When called with two vector arguments x and y it returns the correlation coefficient r definedas:

r = cov(x, y)stdev(x) · stdev(y) (15.1)

where

cov(x, y) = 1N − 1

N−1∑i=0

(x[i] − x) · (y[i] − y) (15.2)

stdev(x) =

√√√√ 1N − 1

N−1∑i=0

[x[i] − x]2 (15.3)

and

x =N−1∑i=0

x[i]N

(15.4)

(N is the length of the longer vector).

1 p r i n t , c o r r e l a t e ( [ −1 ,0 ,1 ] , [ 1 ,0 , −1 ] )

% Compi led module : CORRELATE.% Compi led module : MEAN.

−1.00000

DOUBLE keyword

Forces double-precision calculations and output value type.

1 x = [ 1 , 2 , 3 , 4 , 5 ]2 y = [ 1 . 1 , 1 . 9 , 3 . 1 , 3 . 9 , 5 , 6 , 7 , 8 , 9 ]3 he lp , c o r r e l a t e ( x , y )4 he lp , c o r r e l a t e ( x , y , / doub l e )

% Compi led module : CORRELATE.% Compi led module : MEAN.<Exp r e s s i on> FLOAT = 0.99813<Exp r e s s i on> DOUBLE = 0.9981310

COVARIANCE keyword

If called with the COVARIANCE keyword, the covariance cov(x, y) of the two vectors isreturned instead.

1 x = [−1 , 0 , 1 . ]2 y = [−2 , 0 , 2 . ]3 p r i n t , c o r r e l a t e ( x , y , / c o v a r i a n c e )

% Compi led module : CORRELATE.% Compi led module : MEAN.

2 .00000

COS() functionpositional arguments: 1keywords: none

multi-threading: this routine uses GDL thread pool if working on large array, see the...

COSH() functionpositional arguments: 1

Page 41: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTCPU procedure 41

keywords: none

multi-threading: this routine uses GDL thread pool if working on large array, see the...

CPU procedurepositional arguments: nonekeywords: RESET, RESTORE, TPOOL_MAX_ELTS, TPOOL_MIN_ELTS,

TPOOL_NTHREADS, VECTOR_ENABLE

CREATE_STRUCT() functionpositional arguments: any numberkeywords: NAME

CROSSP() functionpositional arguments: 2keywords: none

CURSOR procedurepositional arguments: 3keywords: CHANGE, DATA, DEVICE, DOWN, NORMAL, NOWAIT, UP, WAIT

DBLARR() functionpositional arguments: 8keywords: NOZERO

DCINDGEN() functionpositional arguments: 8keywords: none

DCOMPLEX() function

positional arguments: 10keywords: none

DCOMPLEXARR() function

positional arguments: 8keywords: NOZERO

DEFSYSV procedure

positional arguments: 3keywords: EXISTS

DERIV() function

positional arguments: 2keywords: HELP, NO_CHECK, TEST

DETERM() function

positional arguments: 1keywords: DOUBLE

DEVICE procedure

positional arguments: nonekeywords: CLOSE_FILE, COLOR, DECOMPOSED, ENCAPSULATED, FILE-

NAME, GET_DECOMPOSED, GET_SCREEN_SIZE, GET_VISUAL_DEPTH,INCHES, LANDSCAPE, PORTRAIT, SCALE_FACTOR, SET_CHARACTER_SIZE,SET_RESOLUTION, WINDOW_STATE, XOFFSET, XSIZE, YOFFSET, YSIZE,Z_BUFFERING

Page 42: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT42 Chapter 15. Alphabetical list of library routines

DIALOG_MESSAGE() function

positional arguments: 1keywords: CANCEL, CENTER, DEFAULT_CANCEL, DEFAULT_NO, DIA-

LOG_PARENT, DISPLAY_NAME, ERROR, HELP, INFORMATION, QUESTION,RESOURCE_NAME, TITLE, ZENITY_NAME, ZENITY_PATH

DIALOG_PICKFILE() function

positional arguments: nonekeywords: DEBUG, DEFAULT_EXTENSION, DIALOG_PARENT, DIRECTORY, DIS-

PLAY_NAME, FILE, FILTER, FIX_FILTER, GET_PATH, GROUP, HELP, MUL-TIPLE_FILES, MUST_EXIST, OVERWRITE_PROMPT, PATH, READ, RE-SOURCE_NAME, TEST, TITLE, VERBOSE, WRITE, ZENITY_NAME, ZEN-ITY_PATH, ZENITY_SEP

DINDGEN() function

positional arguments: 8keywords: none

DIST() function

positional arguments: 2keywords: none

1 s u r f a c e , d i s t (25)

% Compi led module : DIST .

DOUBLE() functionpositional arguments: 10keywords: none

EOF() functionpositional arguments: 1keywords: none

ERASE procedurepositional arguments: 1keywords: none

ERF() functionpositional arguments: 1keywords: DOUBLE

Page 43: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTERFC() function 43

ERFC() functionpositional arguments: 1keywords: DOUBLE

ERRORF() functionpositional arguments: 1keywords: DOUBLE

ESCAPE_SPECIAL_CHAR() functionpositional arguments: 1keywords: HELP, LIST_OF_SPECIAL_CHAR, SHOW_LIST, TEST, VERBOSE

EXECUTE() functionpositional arguments: 2keywords: none

Executes the statement passed in the first arguement, returns 1 if no error occured or 0 ifthe execution failed, e.g.

1 s t a t u s = execu t e ( ’ p r i n t , " He l l o wor ld ! " ’ )2 he lp , s t a t u s3 s t a t u s = execu t e ( ’ p r i n t , H e l l o wor ld ! ) ’ )4 he lp , s t a t u s

He l l o wor ld !STATUS INT = 1% Pa r s e r s yn tax e r r o r : unexpected token : HELLOSTATUS INT = 0

EXIT procedurepositional arguments: nonekeywords: NO_CONFIRM, STATUS

STATUS keyword

1 spawn , ’ . . / . . / . . / . . / s r c / gd l −qu i e t −e " e x i t , s t a t u s =44" 1>/dev/ nu l l ’ , $2 e x i t _ s t a t u s=s3 p r i n t , ’ spawned GDL p r o c e s s e x i t e d wi th code ’ , s t r t r i m ( s , 2)

spawned GDL p r o c e s s e x i t e d wi th code 44

EXP() functionpositional arguments: 1keywords: none

1 p r i n t , exp ( [ 0 , 1 , −!VALUES . F_INFINITY ] )2 p r i n t , a l og ( exp ( [ ! PI ] ) )

1 .00000 2.71828 0.000003.14159

multi-threading: this routine uses GDL thread pool if working on large array, see the...

EXPAND_PATH() functionpositional arguments: 1keywords: ALL_DIRS, ARRAY, COUNT

EXPINT() functionpositional arguments: 2keywords: DOUBLE

FACTORIAL() functionpositional arguments: 1keywords: STIRLING, UL64

Page 44: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT44 Chapter 15. Alphabetical list of library routines

FFT() functionpositional arguments: 2keywords: DIMENSION, DOUBLE, INVERSE, OVERWRITE

F [m] = 1N

∑k

f [k] · e− 2πiN

mk (15.5)

1 $ t a i l s t ddev ∗ . p ro2 x = [ 1 . 3 1 , 2 . 44 , 2 . 51 , 3 . 01 , 2 . 96 , 2 . 50 , 0 . 05 , 3 . 24 , 0 . 1 3 ]3 p r i n t , stddevsum ( x ) , s t d d e v f f t ( x )

==> s t d d e v f f t . pro <==f u n c t i o n s t d d e v f f t , x

r e t u rn , s q r t ( t o t a l ( ( abs ( f f t ( x ) ) ^2 ) [ 1 : −1 ] ) )end

==> stddevsum . pro <==fu n c t i o n stddevsum , x

r e tu rn , s q r t (mean ( x ^2) − mean ( x )^2)end% Compi led module : STDDEVSUM.% Compi led module : MEAN.% Compi led module : STDDEVFFT.

1 .15258 1.15258

multi-threading: this routine uses GDL thread pool if working on large array, see the...

implementation details: FFTW vs. GSL - TODO

FILEPATH() functionpositional arguments: 1keywords: ROOT_DIR, SUBDIRECTORY, TERMINAL, TMP

FILE_BASENAME() functionpositional arguments: 2keywords: FOLD_CASE, HELP

1 p r i n t , f i l e_basename ( ’/ e t c /passwd ’ )

% Compi led module : FILE_BASENAME .% Compi led module : ESCAPE_SPECIAL_CHAR .% Compi led module : STRSPLIT .% Compi led module : UNIQ .passwd

1 p r i n t , f i l e_basename ( ’/ e t c / r e s o l v . conf ’ , ’ . conf ’ )

% Compi led module : FILE_BASENAME .% Compi led module : ESCAPE_SPECIAL_CHAR .% Compi led module : STRSPLIT .% Compi led module : UNIQ .r e s o l v

1 p r i n t , f i l e_basename ( f i l e _ s e a r c h ( ’ . . / . . / . . / . . / s r c / gd l ∗ . g ’ ) )

% Compi led module : FILE_BASENAME .% Compi led module : ESCAPE_SPECIAL_CHAR .% Compi led module : STRSPLIT .% Compi led module : UNIQ .gd l c . g gd l c . i . g gd l c . t r e e . g

see also: FILE_DIRNAME(), PATH_SEP()

FILE_COPY procedurepositional arguments: 2keywords: ALLOW_SAME, HELP, NOEXPAND_PATH, OVERWRITE, QUIET, RE-

CURSIVE, REQUIRE_DIRECTORY, TEST, VERBOSE

FILE_DELETE procedurepositional arguments: 30keywords: ALLOW_NONEXISTENT, HELP, NOEXPAND_PATH, QUIET, RECUR-

SIVE, TEST, VERBOSE

Page 45: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTFILE_DIRNAME() function 45

FILE_DIRNAME() function

positional arguments: 1keywords: HELP, MARK_DIRECTORY

FILE_EXPAND_PATH() function

positional arguments: 1keywords: none

FILE_INFO() function

positional arguments: 2keywords: NOEXPAND_PATH

FILE_LINES() function

positional arguments: 1keywords: COMPRESS, NOEXPAND_PATH

1 p r i n t , f i l e _ l i n e s ( ’ . . / . . / . . / . . / ChangeLog ’ )

% Compi led module : FILE_LINES .6335

FILE_MKDIR procedure

positional arguments: any numberkeywords: NOEXPAND_PATH

implementation details: Current implementation uses the system() call and executes themkdir using using a shell subprocess

FILE_SAME() functionpositional arguments: 2keywords: NOEXPAND_PATH

FILE_SEARCH() functionpositional arguments: 2keywords: COUNT, EXPAND_ENVIRONMENT, EXPAND_TILDE, FOLD_CASE,

FULLY_QUALIFY_PATH, ISSUE_ACCESS_ERROR, MARK_DIRECTORY,MATCH_ALL_INITIAL_DOT, MATCH_INITIAL_DOT, NOSORT, QUOTE

FILE_TEST() functionpositional arguments: 1keywords: BLOCK_SPECIAL, CHARACTER_SPECIAL, DIRECTORY, EXECUTABLE,

GET_MODE, NAMED_PIPE, NOEXPAND_PATH, READ, REGULAR, SOCKET,SYMLINK, WRITE, ZERO_LENGTH

FILE_WHICH() functionpositional arguments: 2keywords: DEBUG, HELP, INCLUDE_CURRENT_DIR, TEST

FINDEX() functionpositional arguments: 2keywords: none

FINDFILE() functionpositional arguments: 1keywords: COUNT, HELP, QUIET, SH_LOCATION, SPAWN_OPTIONS, TEST, VER-

BOSE

Page 46: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT46 Chapter 15. Alphabetical list of library routines

FINDGEN() function

positional arguments: 8keywords: none

FINITE() function

positional arguments: 1keywords: INFINITY, NAN

FIX() function

positional arguments: 10keywords: PRINT, TYPE

FLOAT() function

positional arguments: 10keywords: none

FLOOR() function

positional arguments: 1keywords: L64

multi-threading: this routine uses GDL thread pool if working on large array, see the...

FLTARR() function

positional arguments: 8keywords: NOZERO

FLUSH procedurepositional arguments: any numberkeywords: none

FREE_LUN procedurepositional arguments: any numberkeywords: EXIT_STATUS, FORCE

FSTAT() functionpositional arguments: 1keywords: none

GAMMA() functionpositional arguments: 1keywords: DOUBLE

GAUSSINT() functionpositional arguments: 1keywords: DOUBLE

GAUSS_CVF() functionpositional arguments: 1keywords: none

GAUSS_PDF() functionpositional arguments: 1keywords: none

Page 47: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTGDL_ERFINV() function 47

GDL_ERFINV() function

positional arguments: 1keywords: DOUBLE

GETENV() function

positional arguments: 1keywords: ENVIRONMENT

GET_DRIVE_LIST() function

positional arguments: nonekeywords: COUNT

GET_KBRD() function

positional arguments: 1keywords: none

GET_LOGIN_INFO() function

positional arguments: nonekeywords: none

Returns a structure with current username and hostname:

1 he lp , g e t_ l o g i n_ i n f o ( ) , / s t r u c t u r e

∗∗ S t r u c t u r e <Anonymous>, 2 tags , data l e n g t h =16:MACHINE_NAME STRING ’ e y r i e . p rac . i g f ’USER_NAME STRING ’ s l ayoo ’

GET_LUN procedurepositional arguments: 1keywords: none

GET_SCREEN_SIZE() functionpositional arguments: 1keywords: RESOLUTION

GRIBAPI_CLONE() functionpositional arguments: 1keywords: none

GRIBAPI_CLOSE_FILE procedurepositional arguments: 1keywords: none

GRIBAPI_COUNT_IN_FILE() functionpositional arguments: 1keywords: none

GRIBAPI_GET procedurepositional arguments: 3keywords: none

GRIBAPI_GET_DATA procedurepositional arguments: 4keywords: none

Page 48: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT48 Chapter 15. Alphabetical list of library routines

GRIBAPI_GET_SIZE() functionpositional arguments: 2keywords: none

GRIBAPI_NEW_FROM_FILE() functionpositional arguments: 1keywords: none

GRIBAPI_OPEN_FILE() functionpositional arguments: 1keywords: none

GRIBAPI_RELEASE procedurepositional arguments: 1keywords: none

GSL_EXP() functionpositional arguments: 1keywords: none

H5A_CLOSE procedurepositional arguments: 1keywords: none

H5A_GET_NAME() functionpositional arguments: 1keywords: none

H5A_GET_NUM_ATTRS() functionpositional arguments: 1keywords: none

H5A_GET_SPACE() functionpositional arguments: 1keywords: none

H5A_GET_TYPE() functionpositional arguments: 1keywords: none

H5A_OPEN_IDX() functionpositional arguments: 2keywords: none

H5A_OPEN_NAME() functionpositional arguments: 2keywords: none

H5A_READ() functionpositional arguments: 1keywords: none

H5D_CLOSE procedurepositional arguments: 1keywords: none

Page 49: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTH5D_GET_SPACE() function 49

H5D_GET_SPACE() functionpositional arguments: 1keywords: none

H5D_GET_TYPE() functionpositional arguments: 1keywords: none

H5D_OPEN() functionpositional arguments: 2keywords: none

H5D_READ() functionpositional arguments: 1keywords: none

H5F_CLOSE procedurepositional arguments: 1keywords: none

H5F_IS_HDF5() functionpositional arguments: 1keywords: none

H5F_OPEN() functionpositional arguments: 1keywords: none

H5G_CLOSE procedure

positional arguments: 1keywords: none

H5G_OPEN() function

positional arguments: 2keywords: none

H5S_CLOSE procedure

positional arguments: 1keywords: none

H5S_GET_SIMPLE_EXTENT_DIMS() function

positional arguments: 1keywords: none

H5T_CLOSE procedure

positional arguments: 1keywords: none

H5T_GET_SIZE() function

positional arguments: 1keywords: none

Page 50: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT50 Chapter 15. Alphabetical list of library routines

H5_GET_LIBVERSION() functionpositional arguments: nonekeywords: none

Returns a string containing the version number of the HDF5 library.

1 he lp , h 5_g e t_ l i b v e r s i o n ( )

<Exp r e s s i on> STRING = ’ 1 . 8 . 8 ’

HDF_CLOSE procedurepositional arguments: 1keywords: none

HDF_OPEN() functionpositional arguments: 2keywords: ALL, CREATE, NUM_DD, RDWR, READ, WRITE

HDF_SD_ADDDATA procedurepositional arguments: 2keywords: COUNT, START, STRIDE

HDF_SD_ATTRFIND() functionpositional arguments: 2keywords: none

HDF_SD_ATTRINFO procedurepositional arguments: 2keywords: COUNT, DATA, HDF_TYPE, NAME, TYPE

HDF_SD_CREATE() function

positional arguments: 3keywords: BYTE, DFNT_CHAR, DFNT_FLOAT32, DFNT_FLOAT64, DFNT_INT16,

DFNT_INT32, DFNT_INT8, DFNT_UINT16, DFNT_UINT32, DFNT_UINT8,DOUBLE, FLOAT, HDF_TYPE, INT, LONG, SHORT, STRING

HDF_SD_DIMGET procedure

positional arguments: 1keywords: COUNT, NAME, NATTR, SCALE

HDF_SD_DIMGETID() function

positional arguments: 2keywords: none

HDF_SD_END procedure

positional arguments: 1keywords: none

HDF_SD_ENDACCESS procedure

positional arguments: 1keywords: none

HDF_SD_FILEINFO procedure

positional arguments: 3keywords: none

Page 51: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTHDF_SD_GETDATA procedure 51

HDF_SD_GETDATA procedurepositional arguments: 2keywords: COUNT, START, STRIDE

HDF_SD_GETINFO procedurepositional arguments: 1keywords: COORDSYS, DIMS, FORMAT, HDF_TYPE, LABEL, NAME, NATTS,

NDIMS, TYPE, UNIT

HDF_SD_NAMETOINDEX() functionpositional arguments: 2keywords: none

HDF_SD_SELECT() functionpositional arguments: 2keywords: none

HDF_SD_START() functionpositional arguments: 2keywords: CREATE, RDWR, READ

HDF_VD_ATTACH() functionpositional arguments: 2keywords: READ, WRITE

HDF_VD_DETACH procedurepositional arguments: 1keywords: none

HDF_VD_FIND() functionpositional arguments: 2keywords: none

HDF_VD_GET procedurepositional arguments: 1keywords: CLASS, COUNT, NAME, REF, TAG

HDF_VD_READ() functionpositional arguments: 2keywords: FIELDS, FULL_INTERLACE, NO_INTERLACE, NRECORDS

HDF_VG_ATTACH() functionpositional arguments: 2keywords: READ, WRITE

HDF_VG_DETACH procedurepositional arguments: 1keywords: none

HDF_VG_GETID() functionpositional arguments: 2keywords: none

HDF_VG_GETINFO procedurepositional arguments: 1keywords: CLASS, NAME, NENTRIES, REF, TAG

Page 52: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT52 Chapter 15. Alphabetical list of library routines

HDF_VG_GETTRS procedurepositional arguments: 3keywords: none

HEAP_GC procedurepositional arguments: nonekeywords: OBJ, PTR, VERBOSE

HELP procedurepositional arguments: any numberkeywords: BRIEF, CALLS, FUNCTIONS, INFO, LIB, MEMORY, OUTPUT, PROCE-

DURES, RECALL_COMMANDS, ROUTINES, STRUCTURES

HELPFORM() functionpositional arguments: 2keywords: FULL_STRUCT, SHORTFORM, SINGLE, SIZE, STRUCTURE_NAME,

TAGFORM, WIDTH

HISTOGRAM() functionpositional arguments: 1keywords: BINSIZE, INPUT, LOCATIONS, MAX, MIN, NAN, NBINS, OMAX, OMIN,

REVERSE_INDICES

HIST_2D() functionpositional arguments: 2keywords: BIN1, BIN2, MAX1, MAX2, MIN1, MIN2

implementation details: this routine is implemented as a wrapper to the HIST_ND()function

HIST_ND() functionpositional arguments: 2keywords: MAX, MIN, NBINS, REVERSE_INDICES

Performs an N-dimensional histogram, also known as the joint density function of N variables.The first argument is an N×P array representing P data points in N dimensions. The secondargument is optional, and it may be used to specify the size of the bin to use. Either an Npoint vector specifying a separate size for each dimension, or a scalar, which will be used forall dimensions. If BINSIZE is not passed, the NBINS keyword must be set (see below).The function returns the N-Dimensional histogram, an array of size N1×N2×N3×. . .×NDwhere the Ni’s are the number of bins implied by the data, and/or the optional inputs (seebelow).

MIN keyword

The minimum value for the histogram. Either a P point vector specifying a separate minimumfor each dimension, or a scalar, which will be used for all dimensions. If omitted, the naturalminimum within the dataset will be used.

MAX keyword

The maximum value for the histogram. Either a P point vector specifying a separate max-immum for each dimension, or a scalar, which will be used for all dimensions. If omitted,the natural maximum within the dataset will be used.

NBINS keyword

Rather than specifying the binsize, you can pass NBINS, the number of bins in each dimen-sion, which can be a P point vector, or a scalar. If BINSIZE it also passed, NBINS will beignored, otherwise BINSIZE will then be calculated as binsize=(max-min)/nbins.

REVERSE_INDICES keyword

Set to a named variable to receive the reverse indices, for mapping which points occurred ina given bin. Note that this is a 1-dimensional reverse index vector (see HISTOGRAM()).E.g., to find the indices of points which fell in a histogram bin [i,j,k], look up:

ind=[i+nx*(j+ny*k)]ri[ri[ind]:ri[ind+1]-1]

See also ARRAY_INDICES() for converting in the other direction.

Page 53: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTIDENTITY() function 53

see also: HISTOGRAM(), HIST_2D()

disclaimer: Entry based on J.D. Smith’s documentation for his implementation of HIST_NDwhich was included in GDL unchanged. Copyright (C) 2001-2007, J.D Smith. Thissoftware is provided as is without any warranty whatsoever. Permission to use, copy,modify, and distribute modified or unmodified copies is granted, provided this copyrightand disclaimer are included unchanged.

IDENTITY() functionpositional arguments: 1keywords: DOUBLE

IDL_BASE64() functionpositional arguments: 1keywords: none

disclaimer: the name of this GDL routine includes the IDL_ prefix for compatibility withIDL, it has no ...

IDL_VALIDNAME() functionpositional arguments: 1keywords: CONVERT_ALL, CONVERT_SPACES, HELP, TEST

IGAMMA() functionpositional arguments: 2keywords: DOUBLE

IMAGE_STATISTICS procedurepositional arguments: 1keywords: COUNT, DATA_SUM, HELP, LUT, MASK, MAXIMUM, MEAN, MINI-

MUM, STDDEV, SUM_OF_SQUARES, TEST, VARIANCE, VECTOR, VERBOSE,WEIGHTED, WEIGHT_SUM

IMAGINARY() function

positional arguments: 1keywords: none

multi-threading: this routine uses GDL thread pool if working on large array, see the...

IMSL_BINOMIALCOEF() function

positional arguments: 2keywords: DOUBLE

Returns the binomial coefficient defined as:(n

k

)= n!

k!(n − k)! for 0 ≤ k ≤ n (15.6)

where n and k are the first and second arguments, respectively.The routine can be used for example to construct the Pascal’s trangle:

1 $ ca t p a s c a l . pro2 pasca l , 8

pro pa s ca l , nt r i = r e p l i c a t e ( ’ ’ , 2 ∗ n − 1 , n )f o r i =0, n−1 do f o r j =0, i do t r i [ 2∗ j + (n− i )−1 , i ] = $

s t r i n g ( im s l_b i n om i a l c o e f ( i , j ) , f = ’( I 3 ) ’ )p r i n t , t r i

end% Compi led module : PASCAL .

11 1

1 2 11 3 3 1

1 4 6 4 11 5 10 10 5 1

1 6 15 20 15 6 11 7 21 35 35 21 7 1

Page 54: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT54 Chapter 15. Alphabetical list of library routines

DOUBLE keyword

Forces double precision:

1 he lp , im s l_b i n om i a l c o e f (1000 , 20)2 he lp , im s l_b i n om i a l c o e f (1000 , 20 , / doub l e )

<Exp r e s s i on> FLOAT = i n f<Exp r e s s i on> DOUBLE = 3.3948281 e+41

implementation details: this routine is a wrapper to the GSL’s gsl_sf_choose() function[2]

disclaimer: the name of this GDL routine includes the IMSL_ prefix for compatibility withIDL, it has no ...

IMSL_CONSTANT() functionpositional arguments: 2keywords: DOUBLE

1 p r i n t , ’ U n i f i e d atomic mass , amu . [ kg ] : ’ , $2 im s l_con s t an t ( ’ amu ’ )3 p r i n t , ’ P r e s s u r e o f 1 s t anda rd atmosphere [ Pa ] : ’ , $4 im s l_con s t an t ( ’ atm ’ )5 p r i n t , ’ −||− ’ , $6 im s l_con s t an t ( ’ S tanda rdPre s su r e ’ )7 p r i n t , ’ A s t r onom i ca l u n i t [m] : ’ , $8 im s l_con s t an t ( ’AU’ )9 p r i n t , " Avogadro ’ s number [1/ mole ] : " , $

10 im s l_con s t an t ( ’ Avogadro ’ )11 p r i n t , ’ Boltzmann con s t an t [ J/K ] : ’ , $12 im s l_con s t an t ( ’ Boltzman ’ )13 p r i n t , ’ Speed o f l i g h t i n vacuum [m/ s ] : ’ , $14 im s l_con s t an t ( ’C ’ )15 p r i n t , ’ −||− ’ , $16 im s l_con s t an t ( ’ Sp e ed l i g h t ’ )17 p r i n t , ’ Base o f the n a t u r a l l o g a r i t hm [ 1 ] : ’ , $18 im s l_con s t an t ( ’E ’ )19 p r i n t , ’ Charge o f the e l e c t r o n [C ] : ’ , $

20 im s l_con s t an t ( ’ E l e c t ronCharge ’ )21 p r i n t , ’Mass o f the e l e c t r o n [ kg ] : ’ , $22 im s l_con s t an t ( ’ E lect ronMass ’ )23 p r i n t , ’The ene rgy o f 1 e l e c t r o n vo l t , eV [ J ] : ’ , $24 im s l_con s t an t ( ’ E l e c t r onVo l t ’ )25 p r i n t , ’ Eu l e r−Mascheron i (gamma) con s t an t [ 1 ] : ’ , $26 im s l_con s t an t ( ’ Eu l e r ’ )27 p r i n t , ’ −||− ’ , $28 im s l_con s t an t ( ’Gamma’ )29 p r i n t , ’ Molar cha rge o f 1 Faraday [C/mole ] : ’ , $30 im s l_con s t an t ( ’ Faraday ’ )31 p r i n t , ’ E l e c t r omagne t i c f i n e s t r u c t u r e con s t an t [ 1 ] : ’ , $32 im s l_con s t an t ( ’ F i n eS t r u c t u r e ’ )33 p r i n t , ’The molar gas con s t an t [ J/mole/K ] : ’ , $34 im s l_con s t an t ( ’ Gas ’ )35 p r i n t , ’The g r a v i t a t i o n a l c on s t an t [N∗m2/kg2 ] : ’ , $36 im s l_con s t an t ( ’ G rav i t y ’ )37 p r i n t , " Planck ’ s c on s t an t d i v i d e d by 2 p i [ J∗ s ] : " , $38 im s l_con s t an t ( ’ Hbar ’ )39 p r i n t , ’The s t anda rd gas volume [m3 / mole ] : ’ , $40 im s l_con s t an t ( ’ Per fectGasVolume ’ )41 p r i n t , ’ P i [ 1 ] : ’ , $42 im s l_con s t an t ( ’ Pi ’ )43 p r i n t , " Planck ’ s c on s t an t [ J∗ s ] : " , $44 im s l_con s t an t ( ’ Planck ’ )45 p r i n t , ’Mass o f the p ro ton [ kg ] : ’ , $46 im s l_con s t an t ( ’ ProtonMass ’ )47 p r i n t , " Rydberg ’ s c on s t an t [1/m] : " , $48 im s l_con s t an t ( ’ Rydberg ’ )49 p r i n t , ’ Standard g r a v i t a t i o n a l acc . on Earth [m/ s2 ] : ’ , $50 im s l_con s t an t ( ’ S tanda rdGrav i t y ’ )51 p r i n t , ’ Ste fan−Boltzmann r a d i a t i o n con s t . [W/K4/m2 ] : ’ , $52 im s l_con s t an t ( ’ StefanBoltzman ’ )53 p r i n t , ’ T r i p l e p o i n t t empe ra tu r e f o r water [K ] : ’ , $54 im s l_con s t an t ( ’ Wate rTr ip l e ’ )

U n i f i e d atomic mass , amu . [ kg ] : 1 .66054 e−27P r e s s u r e o f 1 s t anda rd atmosphere [ Pa ] : 101325.

−||− 101325.As t r onom i ca l u n i t [m] : 1 .49598 e+11Avogadro ’ s number [1/ mole ] : 6 .02214 e+23

Page 55: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTIMSL_ERF() function 55

Boltzmann con s t an t [ J/K ] : 1 .38065 e−23Speed o f l i g h t i n vacuum [m/ s ] : 2 .99792 e+08

−||− 2.99792 e+08Base o f the n a t u r a l l o g a r i t hm [ 1 ] : 2 .71828Charge o f the e l e c t r o n [C ] : 1 .60218 e−19Mass o f the e l e c t r o n [ kg ] : 9 .10938 e−31The ene rgy o f 1 e l e c t r o n vo l t , eV [ J ] : 1 .60218 e−19Eu le r−Mascheron i (gamma) con s t an t [ 1 ] : 0 .57722

−||− 0.57722Molar cha rge o f 1 Faraday [C/mole ] : 96485.3E l e c t r omagne t i c f i n e s t r u c t u r e con s t an t [ 1 ] : 0 .00730The molar gas con s t an t [ J/mole/K ] : 8 .31447The g r a v i t a t i o n a l c on s t an t [N∗m2/kg2 ] : 6 .67300 e−11Planck ’ s c on s t an t d i v i d e d by 2 p i [ J∗ s ] : 1 .05457 e−34The s t anda rd gas volume [m3 / mole ] : 0 .02271Pi [ 1 ] : 3 .14159Planck ’ s c on s t an t [ J∗ s ] : 6 .62607 e−34Mass o f the p ro ton [ kg ] : 1 .67262 e−27Rydberg ’ s c on s t an t [1/m] : 1 .09737 e+07Standard g r a v i t a t i o n a l acc . on Earth [m/ s2 ] : 9 .80665Ste fan−Boltzmann r a d i a t i o n con s t . [W/K4/m2 ] : 5 .67040 e−08T r i p l e p o i n t t empe ra tu r e f o r water [K ] : 273 .160

implementation details: this routine uses the GSL’s constants catalogue [2], the unit con-version is implemented using the UDUNITS-2 library

disclaimer: the name of this GDL routine includes the IMSL_ prefix for compatibility withIDL, it has no ...

IMSL_ERF() functionpositional arguments: 1keywords: DOUBLE, INVERSE

IMSL_ZEROPOLY() functionpositional arguments: 1keywords: COMPANION, DOUBLE, JENKINS_TRAUB

1 c = [−1 ,2 ,3 ,−4]2 x = −1 + f i n dg en (100) / 403 dev i c e , / co l o r , /decomposed4 p lo t , x , c [ 0 ] + c [ 1 ] ∗ x + c [ 2 ] ∗ x^2 + c [ 3 ] ∗ x ^3 , $5 x t i t l e =’X’ , y t i t l e =’Y’ , t h i c k=36 op lo t , x , r e p l i c a t e (0 , n_elements ( x ) ) , c o l o r =’ f f0000 ’ x7 f o r e a c h z , im s l_ z e r opo l y ( c ) do $8 p l o t s , z , 0 . , psym=6, t h i c k =3, c o l o r = ’0000 f f ’ x

implementation details: this routine is a wrapper to the GSL’s gsl_poly_complex_solve()function [2]

disclaimer: the name of this GDL routine includes the IMSL_ prefix for compatibility withIDL, it has no ...

IMSL_ZEROSYS() functionpositional arguments: 2

Page 56: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT56 Chapter 15. Alphabetical list of library routines

keywords: DOUBLE, ERR_REL, FNORM, ITMAX, JACOBIAN, XGUESS

INDGEN() functionpositional arguments: 8keywords: BYTE, COMPLEX, DCOMPLEX, DOUBLE, FLOAT, L64, LONG, STRING,

TYPE, UINT, UL64, ULONG

INTARR() functionpositional arguments: 8keywords: NOZERO

INTERPOL() functionpositional arguments: 3keywords: LSQUADRATIC, QUADRATIC, SPLINE

INTERPOLATE() functionpositional arguments: 4keywords: CUBIC, GRID, MISSING

INVERT() functionpositional arguments: 2keywords: DOUBLE

ISHFT() functionpositional arguments: 2keywords: _EXTRA

JOURNAL procedurepositional arguments: 1keywords: none

KEYWORD_SET() functionpositional arguments: 1keywords: none

KURTOSIS() functionpositional arguments: 1keywords: DOUBLE, NAN

L64INDGEN() functionpositional arguments: 8keywords: none

LAGUERRE() functionpositional arguments: 3keywords: COEFFICIENTS, DOUBLE

LAST_ITEM() functionpositional arguments: 1keywords: none

LA_TRIRED procedurepositional arguments: 3keywords: DOUBLE, UPPER

Page 57: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTLEGENDRE() function 57

LEGENDRE() functionpositional arguments: 3keywords: DOUBLE

LINDGEN() functionpositional arguments: 8keywords: none

LINKIMAGE procedurepositional arguments: 4keywords: none

see also: CALL_EXTERNAL()

LL_ARC_DISTANCE() functionpositional arguments: 3keywords: DEGREES

Snyder [eqs. 5-5 and 5-6 in 5]

LMGR() functionpositional arguments: nonekeywords: CLIENTSERVER, DEMO, EMBEDDED, EXPIRE_DATE, FORCE_DEMO,

INSTALL_NUM, LMHOSTID, RUNTIME, SITE_NOTICE, STUDENT, TRIAL,VM

LNGAMMA() functionpositional arguments: 1keywords: DOUBLE

LOADCT procedure

positional arguments: 1keywords: BOTTOM, FILE, GET_NAMES, NCOLORS, SILENT

Loads a colour table that defines the RGB values corresponding to given colour indices (usedwhen a plotting terminal is not set to the decomposed mode). The first argument may beused to chose from one of the 41 predefined colour tables, see example below for a graphicallist of the colour predefined tables.

1 $ ca t l i s t c t . pro2 l i s t c t

pro l i s t c t!X . STYLE=5!Y . STYLE=5!P .MULTI=[0 ,3 ,14 ]!X .MARGIN=[10 ,0 ]!Y .MARGIN=[1 ,0 ]dev i c e , / c o l o rf o r i =0, 40 do beg in

l oadc t , i , / s i l e n tcontour , [ [ i ndgen ( 2 5 5 ) ] , [ i ndgen ( 2 5 5 ) ] ] , n l e v e l s =256 , / f i l lxyouts , −77, . 5 , s t rm id ( i , 2)

end f o rend% Compi led module : LISTCT .% Compi led module : LOADCT.

Page 58: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT58 Chapter 15. Alphabetical list of library routines

GET_NAMES keyword

When set to a variable, a list of colour table names (string array) is assigned to that variable.

1 l o adc t , get_names=names2 f o r i =0, n_elements ( names)−1 do $3 p r i n t , i , names [ i ] , fo rmat=’(%"%d : %s " ) ’

% Compi led module : LOADCT.0 : B−W LINEAR1 : BLUE/WHITE2 : GRN−RED−BLU−WHT3 : RED TEMPERATURE4 : BLUE/GREEN/RED/YELLOW5 : STD GAMMA− I I6 : PRISM7 : RED−PURPLE8 : GREEN/WHITE LINEAR9 : GRN/WHT EXPONENTIAL10 : GREEN−PINK11 : BLUE−RED

12 : 16 LEVEL13 : RAINBOW14 : STEPS15 : BOW SPECIAL16 : Haze17 : Blue − Pa s t e l − Red18 : P a s t e l s19 : Hue Sat L i g h t n e s s 120 : Hue Sat L i g h t n e s s 221 : Hue Sat Value 122 : Hue Sat Value 223 : Purp le−Red + S t r i p e s24 : Beach25 : Mac S t y l e26 : Eos A27 : Eos B28 : Hardcandy29 : Nature30 : Ocean31 : Peppermint32 : Plasma33 : Blue−Red34 : Rainbow35 : Blue Waves36 : Volcano37 : Waves38 : Rainbow1839 : Rainbow + whi t e40 : Rainbow + b l a ck

LOADCT_INTERNALGDL procedure

positional arguments: 1keywords: GET_NAMES

LOCALE_GET() function

positional arguments: none

Page 59: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTLOGICAL_AND() function 59

keywords: none

LOGICAL_AND() function

positional arguments: 2keywords: none

multi-threading: this routine uses GDL thread pool if working on large array, see the...

LOGICAL_OR() function

positional arguments: 2keywords: none

multi-threading: this routine uses GDL thread pool if working on large array, see the...

LOGICAL_TRUE() function

positional arguments: 1keywords: none

multi-threading: this routine uses GDL thread pool if working on large array, see the...

LON64ARR() function

positional arguments: 8keywords: NOZERO

LONARR() function

positional arguments: 8keywords: NOZERO

LONG() functionpositional arguments: 10keywords: none

LONG64() functionpositional arguments: 10keywords: none

LUDC procedurepositional arguments: 2keywords: COLUMN, DOUBLE, INTERCHANGES

LUSOL() functionpositional arguments: 3keywords: COLUMN, DOUBLE

MACHAR() functionpositional arguments: nonekeywords: DOUBLE

MAGICK_ADDNOISE procedurepositional arguments: 1keywords: GAUSSIANNOISE, IMPULSENOISE, LAPLACIANNOISE, MULTIPLICATIVE-

GAUSSIANNOISE, NOISE, POISSONNOISE, UNIFORMNOISE

MAGICK_CLOSE procedurepositional arguments: 1keywords: none

Page 60: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT60 Chapter 15. Alphabetical list of library routines

MAGICK_COLORMAPSIZE() functionpositional arguments: 2keywords: none

MAGICK_COLUMNS() functionpositional arguments: 1keywords: none

MAGICK_CREATE() functionpositional arguments: 3keywords: none

MAGICK_DISPLAY procedurepositional arguments: 1keywords: none

MAGICK_EXISTS() functionpositional arguments: nonekeywords: none

MAGICK_FLIP procedurepositional arguments: 1keywords: none

MAGICK_INDEXEDCOLOR() functionpositional arguments: 1keywords: none

MAGICK_INTERLACE procedure

positional arguments: 1keywords: LINEINTERLACE, NOINTERLACE, PLANEINTERLACE

MAGICK_MAGICK() function

positional arguments: 2keywords: none

MAGICK_MATTE procedure

positional arguments: 1keywords: none

MAGICK_OPEN() function

positional arguments: 1keywords: none

MAGICK_PING() function

positional arguments: 2keywords: CHANNELS, DIMENSIONS, GAUSSIANNOISE, HAS_PALETTE, IM-

AGE_INDEX, IMPULSENOISE, INFO, LAPLACIANNOISE, MULTIPLICATIVEG-AUSSIANNOISE, NOISE, NUM_IMAGES, PIXEL_TYPE, POISSONNOISE, TYPE,UNIFORMNOISE

MAGICK_QUALITY procedure

positional arguments: 2keywords: none

Page 61: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTMAGICK_QUANTIZE procedure 61

MAGICK_QUANTIZE procedurepositional arguments: 2keywords: DITHER, GRAYSCALE, TRUECOLOR, YUV

MAGICK_READ() functionpositional arguments: 1keywords: MAP, RGB, SUB_RECT

MAGICK_READCOLORMAPRGB procedurepositional arguments: 4keywords: none

MAGICK_READINDEXES() functionpositional arguments: 1keywords: none

MAGICK_ROWS() functionpositional arguments: 1keywords: none

MAGICK_WRITE procedurepositional arguments: 2keywords: RGB

MAGICK_WRITECOLORTABLE procedurepositional arguments: 4keywords: none

MAGICK_WRITEFILE procedurepositional arguments: 3keywords: none

MAGICK_WRITEINDEXES procedurepositional arguments: 2keywords: none

multi-threading: this routine uses GDL thread pool if working on large array, see the...

MAKE_ARRAY() functionpositional arguments: 8keywords: BYTE, COMPLEX, DCOMPLEX, DIMENSION, DOUBLE, FLOAT, INDEX,

INTEGER, L64, LONG, NOZERO, OBJ, PTR, SIZE, STRING, TYPE, UINT,UL64, ULONG, VALUE

MAP_CLIP_SET procedurepositional arguments: nonekeywords: CLIP_PLANE, CLIP_UV, RESET, SPLIT, TRANSFORM

MAP_CONTINENTS procedurepositional arguments: nonekeywords: COLOR, COUNTRIES, FILL_CONTINENTS, HIRES, RIVERS

Wessel and Smith [7]

MATRIX_MULTIPLY() functionpositional arguments: 2keywords: ATRANSPOSE, BTRANSPOSE

Page 62: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT62 Chapter 15. Alphabetical list of library routines

MAX() functionpositional arguments: 2keywords: DIMENSION, MIN, NAN, SUBSCRIPT_MIN

MEAN() functionpositional arguments: 1keywords: DOUBLE, NAN

MEANABSDEV() functionpositional arguments: 1keywords: DOUBLE, NAN

MEDIAN() functionpositional arguments: 2keywords: DIMENSION, DOUBLE, EVEN

MEMORY() functionpositional arguments: 1keywords: CURRENT, HIGHWATER, L64, NUM_ALLOC, NUM_FREE, STRUCTURE

MESSAGE procedurepositional arguments: 1keywords: CONTINUE, INFORMATIONAL, IOERROR, NONAME, NOPREFIX, NO-

PRINT, RESET, TRACEBACK

MIN() functionpositional arguments: 2keywords: DIMENSION, MAX, NAN, SUBSCRIPT_MAX

MOMENT() functionpositional arguments: 1keywords: DOUBLE, MAXMOMENT, MDEV, NAN, SDEV

NCDF_ATTCOPY() functionpositional arguments: 5keywords: IN_GLOBAL, OUT_GLOBAL

NCDF_ATTDEL procedurepositional arguments: 3keywords: GLOBAL

NCDF_ATTGET procedurepositional arguments: 4keywords: GLOBAL

NCDF_ATTINQ() functionpositional arguments: 3keywords: GLOBAL

NCDF_ATTNAME() functionpositional arguments: 3keywords: GLOBAL

NCDF_ATTPUT procedurepositional arguments: 4keywords: BYTE, CHAR, DOUBLE, FLOAT, GLOBAL, LENGTH, LONG, SHORT

Page 63: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTNCDF_ATTRENAME procedure 63

NCDF_ATTRENAME procedurepositional arguments: 4keywords: GLOBAL

NCDF_CLOSE procedurepositional arguments: 1keywords: none

NCDF_CONTROL procedurepositional arguments: 1keywords: ABORT, ENDEF, FILL, NOFILL, NOVERBOSE, OLDFILL, REDEF, SYNC,

VERBOSE

NCDF_CREATE() functionpositional arguments: 1keywords: CLOBBER, NOCLOBBER

NCDF_DIMDEF() functionpositional arguments: 3keywords: UNLIMITED

NCDF_DIMID() functionpositional arguments: 2keywords: none

NCDF_DIMINQ procedurepositional arguments: 4keywords: none

NCDF_DIMRENAME procedurepositional arguments: 3keywords: none

NCDF_EXISTS() functionpositional arguments: nonekeywords: none

1 p r i n t , ’GDL compi l ed wi th netCDF suppo r t : ’ $2 + ( n c d f_ e x i s t s ( ) ? ’ yes ’ : ’ no ’ )

GDL comp i l ed wi th netCDF suppo r t : y e s

NCDF_INQUIRE() functionpositional arguments: 1keywords: none

NCDF_OPEN() functionpositional arguments: 1keywords: NOWRITE, WRITE

NCDF_VARDEF() functionpositional arguments: 3keywords: BYTE, CHAR, DOUBLE, FLOAT, LONG, SHORT

NCDF_VARGET procedurepositional arguments: 3keywords: COUNT, OFFSET, STRIDE

Page 64: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT64 Chapter 15. Alphabetical list of library routines

NCDF_VARGET1 procedure

positional arguments: 3keywords: OFFSET

NCDF_VARID() function

positional arguments: 2keywords: none

NCDF_VARINQ() function

positional arguments: 2keywords: none

NCDF_VARPUT procedure

positional arguments: 3keywords: COUNT, OFFSET, STRIDE

NCDF_CONTROL with SYNC to force...

NCDF_VARRENAME procedure

positional arguments: 3keywords: none

NEWTON() function

positional arguments: 2keywords: DOUBLE, HYBRID, ITMAX, TOLF, TOLX

Galassi et al. [2]

NORM() functionpositional arguments: 1keywords: DOUBLE

N_ELEMENTS() functionpositional arguments: 1keywords: none

N_PARAMS() functionpositional arguments: 1keywords: none

N_TAGS() functionpositional arguments: 1keywords: DATA_LENGTH, LENGTH

OBJARR() functionpositional arguments: 8keywords: NOZERO

OBJ_CLASS() functionpositional arguments: 1keywords: COUNT, SUPERCLASS

Returns the name of the class of an object passed as the first argument.

SUPERCLASS keyword

Returns instead an array of all direct superclasses of the object passed as the first argument.In this case the first argument may be a string defining the object name.

Page 65: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTOBJ_DESTROY procedure 65

COUNT keyword

Allows to pass a reference to a variable into which the number of direct superclasses will bestored.

1 $ t a i l ∗__def ine . pro2 b o t t l e = obj_new ( ’ beer ’ )3 p r i n t , ’ b o t t l e i s a [ n ] ’ , o b j_ c l a s s ( b o t t l e )4 s p r = ob j_ c l a s s ( ’ beer ’ , / s u p e r c l a s s , count=cnt )5 p r i n t , ’ b ee r has ’ , s t r t r i m ( cnt , 2 ) , ’ d i r e c t s u p e r c l a s s [ e s ] : ’ , s t r j o i n ( spr , ’ , ’ )

==> a l c o h o l i c_d r i n k__de f i n e . pro <==pro a l c o h o l i c_d r i n k__de f i n e

s t r u c t = { a l c o h o l i c_d r i n k , p r oo f : 0 , i n h e r i t s d r i n k }end

==> bee r__de f i ne . pro <==pro bee r__de f i ne

s t r u c t = {beer , i n h e r i t s a l c o h o l i c _ d r i n k }end

==> dr i nk__de f i n e . pro <==pro d r i nk__de f i n e

s t r u c t = { dr i nk , c o l o r : 0}end% Compi led module : BEER__DEFINE .% Compi led module : ALCOHOLIC_DRINK__DEFINE .% Compi led module : DRINK__DEFINE .b o t t l e i s a [ n ] BEERbee r has 1 d i r e c t s u p e r c l a s s [ e s ] : ALCOHOLIC_DRINK

A list of all known classes is returned if called without any argument:

1 c l a s s e s = ob j_ c l a s s ( )2 he lp , c l a s s e s3 p r i n t , c l a s s e s

CLASSES STRING = Array [ 2 4 ]!PLT !GNUDATALANGUAGE ! AXIS !VERSION !MOUSE !ERROR_STATE !VALUES !MAP !CPU !WARN !USERSYM IDL_SIZE FSTAT64 FSTAT FILE_INFO IDL_MEMORYIDL_MEMORY64 MACHAR DMACHAR WIDGET_BUTTON WIDGET_DROPLIST WIDGET_TEXT WIDGET_VERSION !DEVICE

OBJ_DESTROY procedure

positional arguments: any numberkeywords: _REF_EXTRA

OBJ_ISA() function

positional arguments: 2keywords: none

OBJ_NEW() function

positional arguments: any numberkeywords: _REF_EXTRA

Beware that values of object fields may only be initialised in the constructor, and not whiledefining the object structure, i.e.:

1 $ ca t t e s t__de f i n e . pro2 a = obj_new ( ’ t e s t ’ )3 a−>pr intXY

pro t e s t : : pr intXYp r i n t , s e l f . x , s e l f . y

endf u n c t i o n t e s t : : i n i t

s e l f . x = 10r e tu rn , 1

endpro t e s t__de f i n e

s t r u c t = { t e s t , x : 5 , y : 5}end% Compi led module : TEST__DEFINE .

10 0

Page 66: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT66 Chapter 15. Alphabetical list of library routines

OBJ_VALID() function

positional arguments: 1keywords: CAST, COUNT

ON_ERROR procedure

positional arguments: 1keywords: none

OPENR procedure

positional arguments: 3keywords: APPEND, BINARY, BLOCK, BUFSIZE, COMPRESS, DELETE, ERROR,

F77_UNFORMATTED, GET_LUN, MORE, NOAUTOMODE, STDIO, STREAM,SWAP_ENDIAN, SWAP_IF_BIG_ENDIAN, SWAP_IF_LITTLE_ENDIAN,VAX_FLOAT, WIDTH, XDR

COMPRESS keyword

1 $ echo "GDL ro ck s ! " > f i l e . t x t2 $ g z i p −f f i l e . t x t3 openr , u , ’ f i l e . t x t . gz ’ , / get_lun , / compress4 s = ’ ’5 readu , u , s6 f r e e_ lun , u7 p r i n t , s8 $ rm f i l e . t x t . gz

GDL ro ck s !

OPENU procedure

positional arguments: 3

keywords: APPEND, BINARY, BLOCK, BUFSIZE, COMPRESS, DELETE, ERROR,F77_UNFORMATTED, GET_LUN, MORE, NOAUTOMODE, STDIO, STREAM,SWAP_ENDIAN, SWAP_IF_BIG_ENDIAN, SWAP_IF_LITTLE_ENDIAN,VAX_FLOAT, WIDTH, XDR

OPENW procedurepositional arguments: 3keywords: APPEND, BINARY, BLOCK, BUFSIZE, COMPRESS, DELETE, ERROR,

F77_UNFORMATTED, GET_LUN, MORE, NOAUTOMODE, STDIO, STREAM,SWAP_ENDIAN, SWAP_IF_BIG_ENDIAN, SWAP_IF_LITTLE_ENDIAN,VAX_FLOAT, WIDTH, XDR

OPLOT procedurepositional arguments: 2keywords: CLIP, COLOR, LINESTYLE, MAX_VALUE, MIN_VALUE, NOCLIP, NSUM,

POLAR, PSYM, SYMSIZE, T3D, THICK

PARSE_URL() functionpositional arguments: 1keywords: none

Returns a structure describing components of the URL passed as an argument, e.g.:

1 he lp , p a r s e_u r l ( ’ h t tp : // r oo t : qwerty@kgb . ru :666/? hack ’ ) , / s t r u

∗∗ S t r u c t u r e <Anonymous>, 7 tags , data l e n g t h =56:SCHEME STRING ’ http ’USERNAME STRING ’ root ’PASSWORD STRING ’ qwerty ’HOST STRING ’ kgb . ru ’PORT STRING ’666 ’PATH STRING ’/ ’QUERY STRING ’ hack ’

Page 67: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTPATH_SEP() function 67

PATH_SEP() function

positional arguments: nonekeywords: PARENT_DIRECTORY, SEARCH_PATH, TEST

PLOT procedure

positional arguments: 2keywords: BACKGROUND, CHARSIZE, CHARTHICK, CLIP, COLOR, DATA, DE-

VICE, LINESTYLE, MAX_VALUE, MIN_VALUE, NOCLIP, NODATA, NOERASE,NORMAL, POSITION, PSYM, SUBTITLE, SYMSIZE, THICK, TICKLEN, TI-TLE, XCHARSIZE, XLOG, XMARGIN, XMINOR, XRANGE, XSTYLE, XTHICK,XTICKFORMAT, XTICKLEN, XTICKS, XTITLE, XTYPE, YCHARSIZE, YLOG,YMARGIN, YMINOR, YNOZERO, YRANGE, YSTYLE, YTHICK, YTICKFORMAT,YTICKLEN, YTICKS, YTITLE, YTYPE, ZCHARSIZE, ZGRIDSTYLE, ZMARGIN,ZMINOR, ZRANGE, ZSTYLE, ZTHICK, ZTICKFORMAT, ZTICKLEN, ZTICKS,ZTITLE, ZVALUE

PLOTERR procedure

positional arguments: 4keywords: BAR_COLOR, HAT, HELP, LENGTH_OF_HAT, PSYM, TEST, TYPE,

XLOG, XRANGE, YLOG, YRANGE, _EXTRA

PLOTS procedure

positional arguments: 3keywords: CLIP, COLOR, CONTINUE, DATA, DEVICE, LINESTYLE, NOCLIP, NOR-

MAL, PSYM, SYMSIZE, T3D, THICK

PM procedure

positional arguments: any numberkeywords: FORMAT, TITLE

1 a r r = indgen (4 , 4 )2 fmt = ’ (4 I 3 ) ’3 p r i n t , ’PM’4 pm, a r r , fo rmat=fmt5 p r i n t , ’PRINT : ’6 p r i n t , a r r , fo rmat=fmt

PM0 4 8 121 5 9 132 6 10 143 7 11 15

PRINT :0 1 2 34 5 6 78 9 10 11

12 13 14 15

see also: ORDER keyword in TV, TVRD(), ... (TODO: section on # and ## ops.)

POINT_LUN procedurepositional arguments: 2keywords: none

POLY() functionpositional arguments: 2keywords: none

POLYFILL procedurepositional arguments: 3keywords: CLIP, COLOR, DATA, DEVICE, LINESTYLE, LINE_FILL, NOCLIP, NOR-

MAL, ORIENTATION, SPACING, THICK

Page 68: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT68 Chapter 15. Alphabetical list of library routines

POLY_2D() functionpositional arguments: 6keywords: CUBIC, MISSING

POLY_AREA() functionpositional arguments: 2keywords: DOUBLE, SIGNED

POPD procedurepositional arguments: nonekeywords: none

PREWITT() functionpositional arguments: 1keywords: HELP

PRIMES() functionpositional arguments: 1keywords: none

PRINT procedurepositional arguments: any numberkeywords: AM_PM, DAYS_OF_WEEK, FORMAT, MONTH, STDIO_NON_FINITE

PRINTD procedurepositional arguments: nonekeywords: none

PRINTF procedure

positional arguments: any numberkeywords: AM_PM, DAYS_OF_WEEK, FORMAT, MONTH, STDIO_NON_FINITE

PRODUCT() function

positional arguments: 2keywords: CUMULATIVE, INTEGER, NAN, PRESERVE_TYPE

multi-threading: this routine uses GDL thread pool if working on large array, see the...

PTRARR() function

positional arguments: 8keywords: ALLOCATE_HEAP, NOZERO

multi-threading: this routine uses GDL thread pool if working on large array, see the...

PTR_FREE procedure

positional arguments: any numberkeywords: none

PTR_FREE can also be used to deallocate a variable:

1 a = 12 p t r_ f r e e , ptr_new ( a , /no_copy )3 he lp , a

A UNDEFINED = <Undef ined>

see also: PTR_NEW(), PTR_VALID()

Page 69: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTPTR_NEW() function 69

PTR_NEW() function

positional arguments: 1keywords: ALLOCATE_HEAP, NO_COPY

PTR_VALID() function

positional arguments: 1keywords: CAST, COUNT

PUSHD procedure

positional arguments: 1keywords: none

PYTHON procedure

positional arguments: any numberkeywords: ARGV

PYTHON() function

positional arguments: any numberkeywords: ARGV, DEFAULTRETURNVALUE

Executes a python function whose name is specified using the second argument, the firstargument defines the package (e.g. numpy). All other argument are passed as positionalarguments to the function.

1 p r i n t , python ( ’ numpy ’ , ’ arange ’ , 4 . )

0 .0000000 1.0000000 2.0000000 3.0000000

PY_PLOT procedure

positional arguments: 2keywords: GRID, TITLE, XLABEL, YLABEL

PY_PRINT procedure

positional arguments: 1keywords: none

QUERY_BMP() function

positional arguments: 2keywords: none

1 $ wget −−qu i e t h t tp : // w i k i p e d i a . org / f a v i c o n . i c o2 $ conv e r t f a v i c o n . i c o f a v i c o n . bmp3 ok = query_bmp ( ’ f a v i c o n . bmp ’ , i n f o )4 i f ok then he lp , i n f o , / s t r u c t u r e e l s e p r i n t , ’ que ry f a i l e d ! ’5 $ rm f a v i c o n .∗

% Compi led module : QUERY_BMP.∗∗ S t r u c t u r e <Anonymous>, 7 tags , data l e n g t h =56:

CHANNELS LONG 4DIMENSIONS LONG Array [ 2 ]HAS_PALETTE INT 0IMAGE_INDEX LONG 0NUM_IMAGES LONG 1PIXEL_TYPE INT 1TYPE STRING ’BMP’

QUERY_DICOM() function

positional arguments: 2keywords: none

Page 70: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT70 Chapter 15. Alphabetical list of library routines

QUERY_GIF() functionpositional arguments: 2keywords: none

QUERY_IMAGE() functionpositional arguments: 2keywords: _REF_EXTRA

QUERY_JPEG() functionpositional arguments: 2keywords: none

QUERY_PICT() functionpositional arguments: 2keywords: none

QUERY_PNG() functionpositional arguments: 2keywords: none

QUERY_PPM() functionpositional arguments: 2keywords: none

QUERY_TIFF() functionpositional arguments: 2keywords: IMAGE_INDEX

RADON() functionpositional arguments: 1keywords: BACKPROJECT, DOUBLE, DRHO, DX, DY, GRAY, LINEAR, NRHO,

NTHETA, NX, NY, RHO, RMIN, THETA, XMIN, YMIN

RANDOMN() functionpositional arguments: 8keywords: BINOMIAL, DOUBLE, GAMMA, LONG, NORMAL, POISSON, UNIFORM

RANDOMU() functionpositional arguments: 8keywords: BINOMIAL, DOUBLE, GAMMA, LONG, NORMAL, POISSON, UNIFORM

READ procedurepositional arguments: any numberkeywords: AM_PM, DAYS_OF_WEEK, FORMAT, MONTH, PROMPT

READF procedurepositional arguments: any numberkeywords: AM_PM, DAYS_OF_WEEK, FORMAT, MONTH, PROMPT

READS procedurepositional arguments: any numberkeywords: AM_PM, DAYS_OF_WEEK, FORMAT, MONTH

READU procedurepositional arguments: any numberkeywords: TRANSFER_COUNT

Page 71: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTREAD_ASCII() function 71

READ_ASCII() function

positional arguments: 1keywords: COMMENT_SYMBOL, COUNT, DATA_START, DELIMITER, HEADER,

HELP, MISSING_VALUE, NUM_RECORDS, RECORD_START, TEMPLATE,TEST, VERBOSE

READ_BINARY() function

positional arguments: 1keywords: DATA_DIMS, DATA_START, DATA_TYPE, ENDIAN, TEMPLATE

READ_BMP() function

positional arguments: 4keywords: RGB

READ_DICOM() function

positional arguments: 4keywords: IMAGE_INDEX

READ_GIF procedure

positional arguments: 5keywords: DEBUG, HELP, TEST

READ_JPEG procedure

positional arguments: 3keywords: BUFFER, COLORS, DEBUG, DITHER, GRAYSCALE, HELP, ORDER,

TEST, TRUE, TWO_PASS_QUANTIZE, UNIT

READ_PICT procedurepositional arguments: 5keywords: none

READ_PNG() functionpositional arguments: 4keywords: HELP, ORDER, TEST, TRANSPARENT, VERBOSE

READ_TIFF() functionpositional arguments: 4keywords: CHANNELS, GEOTIFF, IMAGE_INDEX, INTERLEAVE, ORIENTATION,

PLANARCONFIG, SUB_RECT, VERBOSE

READ_XWD() functionpositional arguments: 4keywords: none

REAL_PART() functionpositional arguments: 1keywords: none

REBIN() functionpositional arguments: 9keywords: SAMPLE

RECALL_COMMANDS() functionpositional arguments: nonekeywords: none

Page 72: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT72 Chapter 15. Alphabetical list of library routines

REFORM() functionpositional arguments: 8keywords: OVERWRITE

REPLICATE() functionpositional arguments: 9keywords: none

REPLICATE_INPLACE procedurepositional arguments: 6keywords: none

RESOLVE_ROUTINE procedurepositional arguments: 1keywords: none

RESTORE procedurepositional arguments: 1keywords: DESCRIPTION, FILENAME, RELAXED_STRUCTURE_ASSIGNMENT, RE-

STORED_OBJECTS, VERBOSE

RETALL procedurepositional arguments: nonekeywords: RETALL

REVERSE() functionpositional arguments: 2keywords: OVERWRITE

RK4() function

positional arguments: 5keywords: DOUBLE, ITER

RK4JMG() function

positional arguments: 5keywords: DOUBLE

ROBERTS() function

positional arguments: 1keywords: HELP

ROTATE() function

positional arguments: 2keywords: none

ROUND() function

positional arguments: 1keywords: L64

multi-threading: this routine uses GDL thread pool if working on large array, see the...

ROUTINE_INFO() function

positional arguments: 1keywords: DISABLED, ENABLED, FUNCTIONS, PARAMETERS, SYSTEM

Page 73: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTROUTINE_NAMES() function 73

ROUTINE_NAMES() function

positional arguments: any numberkeywords: ARG_NAME, FETCH, LEVEL, STORE, S_FUNCTIONS, S_PROCEDURES,

VARIABLES

Examines variables and parameters of procedures and the call stack Using ROU-TINE_NAMES a subroutine can interrogate, and in some cases change, the values andnames of variables and parameters in its calling routine, or at the $MAIN$ level.ROUTINE_NAMES uses a notion of the current "call level," which is the numerical stackdepth of the currently executing routine. At each procedure or function call, the call levelbecomes one deeper, and upon each RETURN, the call level becomes one shallower. Thecall stack always begins at the $MAIN$ level. The current call stack can always be printedby executing HELP.When specifying the call level to ROUTINE_NAMES, one can use one of two numberingsystems, depending on whichever is most convenient. In the absolute numbering system,the $MAIN$ level starts at number 1, and becomes deeper with increasing numbers. In therelative numbering system, the current (deepest) call level is number 0, and becomes shal-lower with more negative numbers. Hence, if the deepest level is N, then the correspondenceis thus:VALUE MEANING1 or -N+1 $MAIN$ level2 or -N+2 NEXT deeper level. . . . . .N or 0 DEEPEST (currently executing) level

When called without any keyword ROUTINE_NAMES returns a string array containing alist of currently compiled functions and procedures, e.g.:

1 $ ca t l i b r a r y . pro2 . comp i l e l i b r a r y . pro3 p r i n t , rout ine_names ( )

pro a_procedurep r i n t , ’ H e l l o wor ld ! ’

endf u n c t i o n a_func t i on

r e tu rn , ’ H e l l o wor ld ! ’end% Compi led module : A_PROCEDURE.% Compi led module : A_FUNCTION.

$MAIN$ A_FUNCTION A_PROCEDURE

ROUTINE_NAMES can be invoked in several other ways, which are detailed below togetherwith keyword descriptions.

S_PROCEDURES keyword

The lists of system procedures is returned, as a string array. The list does not cover procedureswritten in GDL itself which are also part of GDL’s routine library (e.g. WRITE_PNG).

1 p r i n t , ( rout ine_names (/ s_pro ) ) [ 0 : 5 ]

AXIS BYTEORDER CALDAT CALL_METHOD CALL_PROCEDURE CATCH

S_FUNCTIONS keyword

The lists of system functions is returned, as a string array. The list does not cover functionswritten in GDL itself which are also part of GDL’s routine library (e.g. READ_PNG()).

1 he lp , rout ine_names (/ s_ f un c t i o n s )

<Exp r e s s i on> STRING = Array [ 2 5 0 ]

LEVEL keyword

The call level of the calling routine is returned, e.g.:

1 $ ca t func . pro2 p r i n t , rout ine_names (/ l e v e l ) , func ( )

f u n c t i o n funcr e tu rn , rout ine_names (/ l e v e l )

end% Compi led module : FUNC.

1 2

Page 74: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT74 Chapter 15. Alphabetical list of library routines

ARG_NAME keyword

The names of variables passed as positional arguments at call level specified with theARG_NAME keyword are returned, as a string array. Note that the arguments passedare the actual parameters, not strings containing their names. All of the arguments must beparameters that have been passed to the calling procedure. Variables that are unnamed atthe specified call level will return the empty string.

1 $ ca t p rocedu r e . pro2 a1 = 13 a2 = ’2 ’4 a3 = [3 b ]5 procedure , a1 , a2 , a3

pro procedure , arg0 , arg1 , arg2p r i n t , rout ine_names ( arg1 , arg2 , arg_name=0)p r i n t , rout ine_names ( arg1 , arg2 , arg_name=−1)

end% Compi led module : PROCEDURE.ARG1 ARG2A2 A3

VARIABLES keyword

The names of variables at call level specified with the VARIABLES keyword are returned, asa string array, e.g.:

1 $ ca t p rocedu r e . pro2 s t r = ’ He l l o wor ld ! ’3 a r r = [ ’ He l l o ’ , ’ wor ld ’ , ’ ! ’ ]4 i n t = 05 p rocedu r e

pro p rocedu r ep r i n t , rout ine_names ( v a r i a b l e s=−1)

end% Compi led module : PROCEDURE.STR ARR INT

FETCH keyword

The value of a variable which name is passed in the first argument (string) at call level spec-ified with the FETCH keyword is returned. If the value is undefined, then the assignmentwill cause an error. Therefore, the only safe way to retrieve a value is by using a variant ofthe following:

1 i f n_elements ( rout ine_names ( ’ a ’ , f e t c h =0)) gt 0 $2 then v a l u e = rout ine_names ( ’ a ’ , f e t c h =0) $3 e l s e message , ’ a i s not d e f i n e d ! ’

% $MAIN$ : a i s not d e f i n e d !% Execu t i on h a l t e d at : $MAIN$

STORE keyword

The value specified with the second argument is stored into the variable which name is passedin the first argument (string) at the call level specified with the STORE keyword. Note thatthere is no way to cause the named variable to become undefined. The value returned canbe ignored.

1 a = 12 dummy = rout ine_names ( ’ a ’ , 2 , s t o r e =0)3 p r i n t , a

2

see also: ROUTINE_INFO(), ARG_PRESENT(), SCOPE_VARFETCH()

disclaimer: Entry based on Craig Markwardt’s documentation for ROUTINE_NAMES:Copyright (C) 2000, Craig Markwardt. This software is provided as is without any war-ranty whatsoever. Permission to use, copy, modify, and distribute modified or unmodifiedcopies is granted, provided this copyright and disclaimer are included unchanged.

RSTRPOS() functionpositional arguments: 3keywords: none

Page 75: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTSAVE procedure 75

SAVE procedure

positional arguments: 30keywords: ALL, APPEND, COMPATIBLE, DATA, ERRMSG, FILENAME, MTIMES,

NAMES, NOCATCH, PASS_METHOD, QUIET, STATUS, TEST, USEUNIT,VARSTATUS, VERBOSE, XDR

SCOPE_VARFETCH() function

positional arguments: 1keywords: LEVEL

SEM_CREATE() function

positional arguments: 1keywords: DESTROY_SEMAPHORE

SEM_DELETE procedure

positional arguments: 1keywords: none

SEM_LOCK() function

positional arguments: 1keywords: none

SEM_RELEASE procedure

positional arguments: 1keywords: none

SETENV procedure

positional arguments: 1keywords: none

SET_PLOT procedure

positional arguments: 1keywords: COPY, INTERPOLATE

SHIFT() function

positional arguments: 9keywords: none

SHOWFONT procedure

positional arguments: 2keywords: BASE, BEG, ENCAPSULATED, FIN, TT_FONT

Displays a table of fonts for a give font number (first argument) in the current graphicsterminal, e.g.:

1 showfont , 3 , ’ S imp lex Roman ’

% Compi led module : SHOWFONT.

Page 76: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT76 Chapter 15. Alphabetical list of library routines

1 showfont , 4 , ’ S imp lex Greek ’

% Compi led module : SHOWFONT.

1 showfont , 5 , ’ Duplex Roman ’

% Compi led module : SHOWFONT.

Page 77: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTSHOWFONT procedure 77

1 showfont , 6 , ’ Complex Roman ’

% Compi led module : SHOWFONT.

1 showfont , 7 , ’ Complex Greek ’

% Compi led module : SHOWFONT.

Page 78: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT78 Chapter 15. Alphabetical list of library routines

1 showfont , 8 , ’ Complex I t a l i c ’

% Compi led module : SHOWFONT.

1 showfont , 9 , ’Math and Spe c i a l ’

% Compi led module : SHOWFONT.

Page 79: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTSHOWFONT procedure 79

1 showfont , 11 , ’ Goth i c Eng l i s h ’

% Compi led module : SHOWFONT.

1 showfont , 12 , ’ S imp lex S c r i p t ’

% Compi led module : SHOWFONT.

Page 80: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT80 Chapter 15. Alphabetical list of library routines

1 showfont , 13 , ’ Complex S c r i p t ’

% Compi led module : SHOWFONT.

1 showfont , 14 , ’ Goth i c I t a l i a n ’

% Compi led module : SHOWFONT.

Page 81: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTSHOWFONT procedure 81

1 showfont , 15 , ’ Goth i c German ’

% Compi led module : SHOWFONT.

1 showfont , 16 , ’ C y r i l i c ’

% Compi led module : SHOWFONT.

Page 82: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT82 Chapter 15. Alphabetical list of library routines

1 showfont , 17 , ’ T r i p l e x Roman ’

% Compi led module : SHOWFONT.

1 showfont , 18 , ’ T r i p l e x I t a l i c ’

% Compi led module : SHOWFONT.

Page 83: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTSIN() function 83

1 showfont , 20 , ’ M i s c e l l a n eou s ’

% Compi led module : SHOWFONT.

SIN() functionpositional arguments: 1keywords: none

multi-threading: this routine uses GDL thread pool if working on large array, see the...

SINDGEN() functionpositional arguments: 8keywords: none

SINH() functionpositional arguments: 1keywords: none

multi-threading: this routine uses GDL thread pool if working on large array, see the...

Page 84: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT84 Chapter 15. Alphabetical list of library routines

SIZE() function

positional arguments: 1keywords: DIMENSIONS, FILE_LUN, L64, N_DIMENSIONS, N_ELEMENTS, STRUC-

TURE, TNAME, TYPE

SKEWNESS() function

positional arguments: 1keywords: DOUBLE, NAN

SKIP_LUN procedure

positional arguments: 2keywords: EOF, HELP, LINES, TEST, TRANSFER_COUNT

SMOOTH() function

positional arguments: 2keywords: EDGE_TRUNCATE, HELP, NAN, TEST, VERBOSE

SOBEL() function

positional arguments: 1keywords: HELP

SOCKET procedure

positional arguments: 3keywords: CONNECT_TIMEOUT, ERROR, GET_LUN, READ_TIMEOUT, STDIO,

SWAP_ENDIAN, SWAP_IF_BIG_ENDIAN, SWAP_IF_LITTLE_ENDIAN, WIDTH,WRITE_TIMEOUT

SORT() functionpositional arguments: 1keywords: L64

SPAWN procedurepositional arguments: 3keywords: COUNT, EXIT_STATUS, NOSHELL, PID, SH, UNIT

SPHER_HARM() functionpositional arguments: 4keywords: DOUBLE

SPL_INIT() functionpositional arguments: 2keywords: DOUBLE, HELP, YP0, YPN_1

SPL_INIT_OLD() functionpositional arguments: 2keywords: DEBUG, DOUBLE, YP0, YPN_1

SPL_INTERP() functionpositional arguments: 4keywords: DOUBLE, HELP

SPL_INTERP_OLD() functionpositional arguments: 4keywords: DOUBLE

Page 85: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTSQRT() function 85

SQRT() function

positional arguments: 1keywords: none

multi-threading: this routine uses GDL thread pool if working on large array, see the...

STDDEV() function

positional arguments: 1keywords: DOUBLE, NAN

STOP procedure

positional arguments: any numberkeywords: AM_PM, DAYS_OF_WEEK, FORMAT, MONTH, STDIO_NON_FINITE

STRARR() function

positional arguments: 8keywords: NOZERO

STRCMP() function

positional arguments: 3keywords: FOLD_CASE

STRCOMPRESS() function

positional arguments: 1keywords: REMOVE_ALL

multi-threading: this routine uses GDL thread pool if working on large array, see the...

STREGEX() functionpositional arguments: 2keywords: BOOLEAN, EXTRACT, FOLD_CASE, LENGTH, SUBEXPR

STRING() functionpositional arguments: any numberkeywords: AM_PM, DAYS_OF_WEEK, FORMAT, MONTH, PRINT

PRINT keyword

1 he lp , s t r i n g (55b )2 he lp , s t r i n g (55b , / p r i n t )3 he lp , s t r i n g ( f i n d g en ( 2 , 2 ) )4 he lp , s t r i n g ( f i n d g en ( 2 , 2 ) , / p r i n t )5 he lp , s t r i n g ( f i n d g en ( 2 ) , / p r i n t )

<Exp r e s s i on> STRING = ’7 ’<Exp r e s s i on> STRING = ’ 55 ’<Exp r e s s i on> STRING = Array [ 2 , 2 ]<Exp r e s s i on> STRING = Array [ 2 ]<Exp r e s s i on> STRING = ’ 0.00000 1 .00000 ’

STRJOIN() functionpositional arguments: 2keywords: SINGLE

1 a r r = [ ’ a ’ , ’ b ’ , ’ c ’ ]2 s t r = s t r j o i n ( a r r )3 he lp , a r r , s t r

ARR STRING = Array [ 3 ]STR STRING = ’ abc ’

Page 86: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT86 Chapter 15. Alphabetical list of library routines

1 a r r = [ [ ’ a ’ , ’ b ’ , ’ c ’ ] , [ ’ d ’ , ’ e ’ , ’ f ’ ] ]2 s t r = s t r j o i n ( a r r , ’− ’)3 he lp , a r r , s t r4 p r i n t , s t r [ 0 ]5 p r i n t , s t r [ 1 ]

ARR STRING = Array [ 3 , 2 ]STR STRING = Array [ 2 ]a−b−cd−e−f

SINGLE keyword

1 a r r = [ [ ’ a ’ , ’ b ’ , ’ c ’ ] , [ ’ d ’ , ’ e ’ , ’ f ’ ] ]2 s t r = s t r j o i n ( a r r , ’− ’ , / s i n g l e )3 he lp , a r r , s t r

ARR STRING = Array [ 3 , 2 ]STR STRING = ’ a−b−c−d−e−f ’

STRLEN() function

positional arguments: 1keywords: none

multi-threading: this routine uses GDL thread pool if working on large array, see the...

STRLOWCASE() function

positional arguments: 1keywords: none

multi-threading: this routine uses GDL thread pool if working on large array, see the...

STRMATCH() functionpositional arguments: 2keywords: FOLD_CASE

STRMID() functionpositional arguments: 3keywords: REVERSE_OFFSET

multi-threading: this routine uses GDL thread pool if working on large array, see the...

STRPOS() functionpositional arguments: 3keywords: REVERSE_OFFSET, REVERSE_SEARCH

multi-threading: this routine uses GDL thread pool if working on large array, see the...

STRPUT procedurepositional arguments: 3keywords: none

multi-threading: this routine uses GDL thread pool if working on large array, see the...

STRSPLIT() functionpositional arguments: 2keywords: COUNT, ESCAPE, EXTRACT, FOLD_CASE, HELP, LENGTH, PRE-

SERVE_NULL, REGEX, TEST

STRTOK() functionpositional arguments: 2keywords: ESCAPE, EXTRACT, LENGTH, PRESERVE_NULL, REGEX

Page 87: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTSTRTRIM() function 87

STRTRIM() functionpositional arguments: 2keywords: none

multi-threading: this routine uses GDL thread pool if working on large array, see the...

STRUCT_ASSIGN procedurepositional arguments: 2keywords: NOZERO, VERBOSE

STRUPCASE() functionpositional arguments: 1keywords: none

multi-threading: this routine uses GDL thread pool if working on large array, see the...

STR_SEP() functionpositional arguments: 2keywords: ESC, HELP, REMOVE_ALL, TEST, TRIM

. . . STR_SEP separates the string on any of the characters of the 2nd string. . . .

SURFACE procedurepositional arguments: 3keywords: AX, AZ, BACKGROUND, CHARSIZE, CHARTHICK, CLIP, COLOR,

DATA, DEVICE, FONT, LINESTYLE, MAX_VALUE, MIN_VALUE, NO-CLIP, NODATA, NOERASE, NORMAL, POSITION, SUBTITLE, T3D, THICK,TICKLEN, TITLE, XCHARSIZE, XGRIDSTYLE, XLOG, XMARGIN, XMINOR,XRANGE, XSTYLE, XTHICK, XTICKFORMAT, XTICKINTERVAL, XTICKLAY-OUT, XTICKLEN, XTICKNAME, XTICKS, XTICKUNITS, XTICKV, XTICK_GET,XTITLE, XTYPE, YCHARSIZE, YGRIDSTYLE, YLOG, YMARGIN, YMINOR,YRANGE, YSTYLE, YTHICK, YTICKFORMAT, YTICKINTERVAL, YTICKLAY-OUT, YTICKLEN, YTICKNAME, YTICKS, YTICKUNITS, YTICKV, YTICK_GET,

YTITLE, YTYPE, ZCHARSIZE, ZGRIDSTYLE, ZLOG, ZMARGIN, ZMINOR,ZRANGE, ZSTYLE, ZTHICK, ZTICKFORMAT, ZTICKINTERVAL, ZTICKLAY-OUT, ZTICKLEN, ZTICKNAME, ZTICKS, ZTICKUNITS, ZTICKV, ZTICK_GET,ZTITLE, ZTYPE, ZVALUE

AX keyword

1 !P .MULTI = [ 0 , 3 , 3 ]2 d = d i s t (10)3 f o r ax = 0 , 90 , 11 do $4 s u r f a c e , d , ax=ax , t i t l e =’ax=’ + s t r t r i m ( ax , 2 )

% Compi led module : DIST .

Page 88: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT88 Chapter 15. Alphabetical list of library routines

AZ keyword

1 !P .MULTI = [ 0 , 3 , 3 ]2 d = d i s t (10)3 f o r az = 0 , 90 , 11 do $4 s u r f a c e , d , az=az , t i t l e =’az=’ + s t r t r i m ( az , 2 )

% Compi led module : DIST .

SVDC procedurepositional arguments: 4keywords: COLUMN, DOUBLE, ITMAX

SWAP_ENDIAN() functionpositional arguments: 1keywords: SWAP_IF_BIG_ENDIAN, SWAP_IF_LITTLE_ENDIAN

SWAP_ENDIAN_INPLACE procedure

positional arguments: 1keywords: SWAP_IF_BIG_ENDIAN, SWAP_IF_LITTLE_ENDIAN

SYSTIME() function

positional arguments: 2keywords: JULIAN, SECONDS, UTC

TAG_NAMES() function

positional arguments: 1keywords: STRUCTURE_NAME

TAN() function

positional arguments: 1keywords: none

multi-threading: this routine uses GDL thread pool if working on large array, see the...

TANH() function

positional arguments: 1keywords: none

multi-threading: this routine uses GDL thread pool if working on large array, see the...

TEMPLATE procedure

positional arguments: nonekeywords: none

Page 89: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTTEMPLATE_BLANK procedure 89

TEMPLATE_BLANK procedure

positional arguments: nonekeywords: none

TEMPORARY() function

positional arguments: 1keywords: none

TEST procedure

positional arguments: any numberkeywords: none

TOTAL() function

positional arguments: 2keywords: CUMULATIVE, DOUBLE, INTEGER, NAN, PRESERVE_TYPE

multi-threading: this routine uses GDL thread pool if working on large array, see the...

TRACE() function

positional arguments: 1keywords: DOUBLE

TRANSPOSE() function

positional arguments: 2keywords: none

TRIGRID() functionpositional arguments: 6keywords: MAP, MAX_VALUE, MISSING, NX, NY

TV procedurepositional arguments: 4keywords: CHANNEL, DATA, DEVICE, NORMAL, ORDER, TRUE, XSIZE, YSIZE

TVLCT procedurepositional arguments: 4keywords: GET, HLS, HSV

TVRD() functionpositional arguments: 5keywords: CHANNEL, ORDER, TRUE, WORDS

TVSCL procedurepositional arguments: 3keywords: NAN, _EXTRA

T_PDF() functionpositional arguments: 2keywords: none

UINDGEN() functionpositional arguments: 8keywords: none

Page 90: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT90 Chapter 15. Alphabetical list of library routines

UINT() functionpositional arguments: 10keywords: none

UINTARR() functionpositional arguments: 8keywords: NOZERO

UL64INDGEN() functionpositional arguments: 8keywords: none

ULINDGEN() functionpositional arguments: 8keywords: none

ULON64ARR() functionpositional arguments: 8keywords: NOZERO

ULONARR() functionpositional arguments: 8keywords: NOZERO

ULONG() functionpositional arguments: 10keywords: none

ULONG64() functionpositional arguments: 10keywords: none

UNIQ() functionpositional arguments: 2keywords: none

USERSYM procedurepositional arguments: 2keywords: COLOR, FILL, THICK

VALUE_LOCATE() functionpositional arguments: 2keywords: L64

VARIANCE() functionpositional arguments: 1keywords: DOUBLE, NAN

VOIGT() functionpositional arguments: 2keywords: DOUBLE, ITER

WAIT procedurepositional arguments: 1keywords: none

Page 91: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTWDELETE procedure 91

WDELETE procedurepositional arguments: any numberkeywords: none

WHERE() functionpositional arguments: 2keywords: COMPLEMENT, NCOMPLEMENT

see also: ARRAY_INDICES()

multi-threading: this routine uses GDL thread pool if working on large array, see the...

WIDGET_BASE() functionpositional arguments: 1keywords: ALIGN_BOTTOM, ALIGN_CENTER, ALIGN_LEFT, ALIGN_RIGHT,

ALIGN_TOP, BASE_ALIGN_BOTTOM, BASE_ALIGN_CENTER, BASE_ALIGN_LEFT,BASE_ALIGN_RIGHT, BASE_ALIGN_TOP, COLUMN, CONTEXT_EVENTS,CONTEXT_MENU, DISPLAY_NAME, EVENT_FUNC, EVENT_PRO, EX-CLUSIVE, FLOATING, FRAME, FUNC_GET_VALUE, GRID_LAYOUT,GROUP_LEADER, KBRD_FOCUS_EVENTS, KILL_NOTIFY, MAP, MBAR,MODAL, NONEXCLUSIVE, NOTIFY_REALIZE, NO_COPY, PRO_SET_VALUE,RESOURCE_NAME, RNAME_MBAR, ROW, SCROLL, SCR_XSIZE, SCR_YSIZE,SENSITIVE, SPACE, TITLE, TLB_FRAME_ATTR, TLB_ICONIFY_EVENTS,TLB_KILL_REQUEST_EVENTS, TLB_MOVE_EVENTS, TLB_SIZE_EVENTS,TOOLBAR, TRACKING_EVENTS, UNAME, UNITS, UVALUE, XOFFSET, XPAD,XSIZE, X_SCROLL_SIZE, YOFFSET, YPAD, YSIZE, Y_SCROLL_SIZE

WIDGET_BUTTON() functionpositional arguments: 1keywords: ACCELERATOR, ALIGN_CENTER, ALIGN_LEFT, ALIGN_RIGHT,

BITMAP, CHECKED_MENU, DYNAMIC_RESIZE, EVENT_FUNC, EVENT_PRO,FONT, FRAME, FUNC_GET_VALUE, GROUP_LEADER, HELP, KILL_NOTIFY,MENU, NOTIFY_REALIZE, NO_COPY, NO_RELEASE, PRO_SET_VALUE,PUSHBUTTON_EVENTS, SCR_XSIZE, SCR_YSIZE, SENSITIVE, SEPARATOR,

TAB_MODE, TOOLTIP, TRACKING_EVENTS, UNAME, UNITS, UVALUE,VALUE, XOFFSET, XSIZE, X_BITMAP_EXTRA, YOFFSET, YSIZE

WIDGET_CONTROL procedure

positional arguments: 1keywords: DESTROY, EVENT_PRO, FUNC_GET_VALUE, GET_UVALUE,

GET_VALUE, MANAGED, MAP, NO_COPY, PRO_SET_VALUE, REAL-IZE, SENSITIVE, SET_BUTTON, SET_DROPLIST_SELECT, SET_UNAME,SET_UVALUE, SET_VALUE, XMANAGER_ACTIVE_COMMAND

WIDGET_DROPLIST() function

positional arguments: 1keywords: DYNAMIC_RESIZE, EVENT_FUNC, EVENT_PRO, FONT, FRAME,

FUNC_GET_VALUE, GROUP_LEADER, KILL_NOTIFY, NOTIFY_REALIZE,NO_COPY, PRO_SET_VALUE, RESOURCE_NAME, SCR_XSIZE, SCR_YSIZE,SENSITIVE, TAB_MODE, TITLE, TRACKING_EVENTS, UNAME, UNITS,UVALUE, VALUE, XOFFSET, XSIZE, YOFFSET, YSIZE

WIDGET_EVENT() function

positional arguments: 1keywords: DESTROY, XMANAGER_BLOCK

WIDGET_INFO() function

positional arguments: 1keywords: CHILD, MANAGED, MODAL, VALID, VERSION, XMANAGER_BLOCK

Page 92: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT92 Chapter 15. Alphabetical list of library routines

WIDGET_LABEL() functionpositional arguments: 1keywords: ALL_EVENTS, CONTEXT_EVENTS, EDITABLE, EVENT_FUNC,

EVENT_PRO, FONT, FRAME, FUNC_GET_VALUE, GROUP_LEADER,IGNORE_ACCELERATORS, KBRD_FOCUS_EVENTS, KILL_NOTIFY, NO-TIFY_REALIZE, NO_COPY, NO_NEWLINE, PRO_SET_VALUE, RE-SOURCE_NAME, SCROLL, SCR_XSIZE, SCR_YSIZE, SENSITIVE, TAB_MODE,TRACKING_EVENTS, UNAME, UNITS, UVALUE, VALUE, WRAP, XOFFSET,XSIZE, YOFFSET, YSIZE

WIDGET_TEXT() functionpositional arguments: 1keywords: ALL_EVENTS, CONTEXT_EVENTS, EDITABLE, EVENT_FUNC,

EVENT_PRO, FONT, FRAME, FUNC_GET_VALUE, GROUP_LEADER,IGNORE_ACCELERATORS, KBRD_FOCUS_EVENTS, KILL_NOTIFY, NO-TIFY_REALIZE, NO_COPY, NO_NEWLINE, PRO_SET_VALUE, RE-SOURCE_NAME, SCROLL, SCR_XSIZE, SCR_YSIZE, SENSITIVE, TAB_MODE,TRACKING_EVENTS, UNAME, UNITS, UVALUE, VALUE, WRAP, XOFFSET,XSIZE, YOFFSET, YSIZE

WINDOW procedurepositional arguments: 1keywords: COLORS, FREE, PIXMAP, RETAIN, TITLE, XPOS, XSIZE, YPOS, YSIZE

WRITEU procedurepositional arguments: any numberkeywords: TRANSFER_COUNT

WRITE_BMP procedurepositional arguments: 5keywords: DEBUG, FOUR_BIT, HEADER_DEFINE, HELP, IHDR, RGB, TEST

WRITE_GIF procedure

positional arguments: 5keywords: BACKGROUND_COLOR, CLOSE, DEBUG, DELAY_TIME, DIS-

POSAL_METHOD, HELP, MULTIPLE, REPEAT_COUNT, TEST, TRANSPAR-ENT, USER_INPUT

WRITE_JPEG procedure

positional arguments: 2keywords: DEBUG, HELP, ORDER, PROGRESSIVE, QUALITY, TEST, TRUE, UNIT

WRITE_PICT procedure

positional arguments: 5keywords: DEBUG, HELP, TEST

WRITE_PNG procedure

positional arguments: 5keywords: DEBUG, HELP, ORDER, TEST, TRANSPARENT, VERBOSE

WSET procedure

positional arguments: 1keywords: none

WSHOW procedure

positional arguments: 2keywords: none

Page 93: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTWTN() function 93

WTN() function

positional arguments: 2keywords: COLUMN, DOUBLE, INVERSE, OVERWRITE

XYOUTS procedurepositional arguments: 3keywords: ALIGNMENT, CHARSIZE, CHARTHICK, CLIP, COLOR, DATA, DEVICE,

NOCLIP, NORMAL, ORIENTATION, WIDTH, Z

Page 94: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTPart II

Developer’s guide

Page 95: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTChapter 16

General remarks and coding guidelines

... such as the CERN C++ Coding Standard Specification [4] or other similar docu-ments.

Page 96: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTChapter 17

The library-routine API

TODO: extract it using Doxygen or some similar tool.

Page 97: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTChapter 18

Extending the documentation

LATEXgdldoc.styNatbib:

Page 98: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTChapter 19

Extending the testsuite (testsuite/README)

The list of GDL routines to be executed during the make-check run isdefined in the testsuite/Makefile.am file. After adding a new item(filename) to the list, please rerun "automake" being in the rootfolder of the source tree. CMake also uses the list in Makefile.am.

Each test routine is invoked using the GDL "-e" command-line optionby the "try" shell script in the testsuite directory (and in ananalogous manner for the case of CMake/CTest). "make" decideson the status of a test basing on the exit code of this script:- "success" for exit code 0- "ignorable failure" for code 77- "failure" for any other exit code, e.g. 1The "try" script should, in principle, exit with the GDL exit code.Therefore, a failure of a GDL test should be indicated by e.g.:

if ( ...true if test failed... ) beginmessage, ’reason for the failure’, /continueexit, status=1

endif

An ignorable failure can be indicated by e.g.:

if (!XXX_exists()) then beginmessage, ’GDL was built w/o support for XXX - skipping’, /contiexit, status=77

endif

Any GDL error (e.g. parser error or library-routine-triggered error)causing GDL to return to the $MAIN$ level will cause make to assume

_success_! (GDL exits normally in this case). Any GDL error causingGDL to stop execution on an other-than-$MAIN$ level will bring theGDL interpreter prompt.

The name of the file must match the name of the test routine, e.g.testsuite/test_dummy.pro for

pro test_dummy...

end

GDL segfaults, assertion-exits, std::terminate() exits, etc. arehandled as failures by make.

The "try" script always uses the gdl binary in the build tree -not the one installed in the system. The "try" script also setsappropriate env. variables so that the GDL-written library routinesare taken from the source tree as well (e.g. src/pro/mean.pro).

Regardless if the autotools or the CMake/CTest configurationmechanism, the testsuite run is invoked by "make check" (not thedefault CMakes’s "make test").

Page 99: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTChapter 20

A short overview of how GDL works internally

Programs (*.pro files) or command line input is parsed (GDLLexer.cpp, GDLParser.cppgenerated with ANTLR from gdlc.g). These results in an abstract syntax tree (AST)consisting of ’DNode’ (dnode.hpp). This systax tree is further manipulated (com-piled) with a tree parser (GDLTreeParser.cpp generated with ANTLR from gdlc.tree.g,dcompiler.hpp). Here the AST is splitted into the different functions/procedures andthe DNode(s) are annotated with further information and converted to ProgNode(s).Then these compiled (ProgNode) ASTs are interpreted (GDLInterpreter.cpp generatedwith ANTLR from gdlc.i.g, dinterpreter.cpp).

Page 100: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTChapter 21

How to make use of OpenMP in GDL

Page 101: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTChapter 22

Notes for packagers

Optional features of PLplot and ImageMagick

The HDF4-netCDF conflict

Page 102: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTPart III

Indices

Page 103: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT

Page 104: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTSubject Index.COMPILE, 17.CONTINUE, 17.STEP, 17$MAIN$, 73_EXTRA, 14_REF_EXTRA, 14_STRICT_EXTRA, 14_EXTRA keyword

in ISHFT() function, 56in PLOTERR procedure, 67in TVSCL procedure, 89

_REF_EXTRA keywordin CALL_FUNCTION() function, 38in CALL_METHOD procedure, 38in CALL_METHOD() function, 38in CALL_PROCEDURE procedure, 38in OBJ_DESTROY procedure, 65in OBJ_NEW() function, 65in QUERY_IMAGE() function, 70

abbreviated keyword names, 14ABORT keyword

in NCDF_CONTROL procedure, 63ABS() function, 18, 33ACCELERATOR keyword

in WIDGET_BUTTON() function, 91ACOS() function, 19, 33ALIGN_BOTTOM keyword

in WIDGET_BASE() function, 91ALIGN_CENTER keyword

in WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91

ALIGN_LEFT keywordin WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91

ALIGN_RIGHT keywordin WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91

ALIGN_TOP keywordin WIDGET_BASE() function, 91

ALIGNMENT keywordin XYOUTS procedure, 93

ALL_DIRS keywordin EXPAND_PATH() function, 43

ALL_EVENTS keywordin WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

ALL_GDL keywordin CALL_EXTERNAL() function, 36

ALL_VALUE keywordin CALL_EXTERNAL() function, 36

ALL keywordin CLOSE procedure, 39in HDF_OPEN() function, 50in SAVE procedure, 75

ALLOCATE_HEAP keywordin PTR_NEW() function, 69in PTRARR() function, 68

ALLOW_NONEXISTENT keywordin FILE_DELETE procedure, 44

ALLOW_SAME keywordin FILE_COPY procedure, 44

ALOG() function, 18, 33ALOG10() function, 18, 33

AM_PM keywordin PRINT procedure, 68in PRINTF procedure, 68in READ procedure, 70in READF procedure, 70in READS procedure, 70in STOP procedure, 85in STRING() function, 85

APPEND keywordin OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66in SAVE procedure, 75

APPLEMAN procedure, 33ARG_NAME keyword

in ROUTINE_NAMES() function, 73ARG_PRESENT() function, 14, 34, 74ARGV keyword

in PYTHON procedure, 69in PYTHON() function, 69

ARRAY_EQUAL() function, 15, 34ARRAY_INDICES() function, 15, 34, 52, 91ARRAY keyword

in EXPAND_PATH() function, 43ASIN() function, 19, 34ASSOC() function, 12, 34ATAN() function, 12, 19, 33, 34ATRANSPOSE keyword

in MATRIX_MULTIPLY() function, 61AX keyword

in SURFACE procedure, 87AXIS procedure, 35

Page 105: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT 105

AXISprocedure, 23AZ keyword

in SURFACE procedure, 87

B_VALUE keywordin CALL_EXTERNAL() function, 36

BACKGROUND_COLOR keywordin WRITE_GIF procedure, 92

BACKGROUND keywordin CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

BACKPROJECT keywordin RADON() function, 70

BAR_COLOR keywordin PLOTERR procedure, 67

BASE_ALIGN_BOTTOM keywordin WIDGET_BASE() function, 91

BASE_ALIGN_CENTER keywordin WIDGET_BASE() function, 91

BASE_ALIGN_LEFT keywordin WIDGET_BASE() function, 91

BASE_ALIGN_RIGHT keywordin WIDGET_BASE() function, 91

BASE_ALIGN_TOP keywordin WIDGET_BASE() function, 91

BASE keywordin SHOWFONT procedure, 75

BEG keywordin SHOWFONT procedure, 75

BEGIN, 14in CASE statement, 13in FOR statement, 13in IF/THEN/ELSE statement, 12in SWITCH statement, 13in WHILE statement, 14

BESELI() function, 19, 35BESELJ() function, 19, 35BESELK() function, 19, 35BESELY() function, 19, 35BETA() function, 19, 35

BILINEAR() function, 35BIN1 keyword

in HIST_2D() function, 52BIN2 keyword

in HIST_2D() function, 52BINARY keyword

in OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66

BINDGEN() function, 13, 15, 35BINOMIAL keyword

in RANDOMN() function, 70in RANDOMU() function, 70

BINSIZE keywordin HISTOGRAM() function, 52

BITMAP keywordin WIDGET_BUTTON() function, 91

BLOCK_SPECIAL keywordin FILE_TEST() function, 45

BLOCK keywordin OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66

BOOLEAN keywordin STREGEX() function, 85

BOTTOM keywordin LOADCT procedure, 57

BREAKin CASE statement, 13in FOR statement, 13in FOREACH statement, 13in REPEAT statement, 14in SWITCH statement, 13in WHILE statement, 14

BREAKDOWN_EPOCH keywordin CDF_EPOCH procedure, 38

BRIEF keywordin HELP procedure, 52

BROYDEN() function, 20, 35BTRANSPOSE keyword

in MATRIX_MULTIPLY() function, 61

BUFFER keywordin READ_JPEG procedure, 71

BUFSIZE keywordin OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66

BYTARR() function, 13, 15, 35BYTE() function, 12, 13, 35BYTE keyword

in HDF_SD_CREATE() function, 50in INDGEN() function, 56in MAKE_ARRAY() function, 61in NCDF_ATTPUT procedure, 62in NCDF_VARDEF() function, 63

BYTEORDER procedure, 36BYTEORDERprocedure, 19, 21BYTSCL() function, 23, 28, 36

C_CHARSIZE keywordin CONTOUR procedure, 39

C_COLORS keywordin CONTOUR procedure, 39

C_LINESTYLE keywordin CONTOUR procedure, 39

cal (UNIX), 36CALDAT procedure, 36CALDATprocedure, 27CALENDAR procedure, 36CALENDARprocedure, 27CALL_EXTERNAL() function, 31, 36, 57CALL_FUNCTION() function, 14, 38CALL_METHOD procedure, 38CALL_METHOD() function, 14, 38CALL_METHODprocedure, 14CALL_METHON() function, 15CALL_METHONprocedure, 15CALL_PROCEDURE procedure, 38CALL_PROCEDURE() function, 14CALLS keyword

in HELP procedure, 52CANCEL keyword

Page 106: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT106 Subject Index

in CATCH procedure, 38in DIALOG_MESSAGE() function, 42

CASE, 13CAST keyword

in OBJ_VALID() function, 66in PTR_VALID() function, 69

CATCH procedure, 38CATCHprocedure, 15CD procedure, 38CDF_EPOCH procedure, 38CDprocedure, 25CEIL() function, 18, 39CENTER keyword

in CONGRID() function, 39in CONVOL() function, 40in DIALOG_MESSAGE() function, 42

CHANGE keywordin CURSOR procedure, 41

CHANNEL keywordin TV procedure, 89in TVRD() function, 89

CHANNELS keywordin MAGICK_PING() function, 60in READ_TIFF() function, 71

CHAR keywordin NCDF_ATTPUT procedure, 62in NCDF_VARDEF() function, 63

CHARACTER_SPECIAL keywordin FILE_TEST() function, 45

CHARSIZE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87in XYOUTS procedure, 93

CHARTHICK keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87in XYOUTS procedure, 93

CHECK_MATH() function, 15, 39CHECK_MATHprocedure, 17CHECKED_MENU keyword

in WIDGET_BUTTON() function, 91CHILD keyword

in WIDGET_INFO() function, 91CINDGEN() function, 13, 15, 39CLASS keyword

in HDF_VD_GET procedure, 51in HDF_VG_GETINFO procedure, 51

CLIENTSERVER keywordin LMGR() function, 57

CLIP_PLANE keywordin MAP_CLIP_SET procedure, 61

CLIP_UV keywordin MAP_CLIP_SET procedure, 61

CLIP keywordin CONTOUR procedure, 39in OPLOT procedure, 66in PLOT procedure, 67in PLOTS procedure, 67in POLYFILL procedure, 67in SURFACE procedure, 87in XYOUTS procedure, 93

CLOBBER keywordin NCDF_CREATE() function, 63

CLOSE procedure, 39CLOSE_FILE keyword

in DEVICE procedure, 41CLOSE keyword

in WRITE_GIF procedure, 92CLOSEprocedure, 21COEFFICIENTS keyword

in LAGUERRE() function, 56COLOR keyword

in AXIS procedure, 35in CONTOUR procedure, 39in DEVICE procedure, 41in MAP_CONTINENTS procedure, 61in OPLOT procedure, 66in PLOT procedure, 67

in PLOTS procedure, 67in POLYFILL procedure, 67in SURFACE procedure, 87in USERSYM procedure, 90in XYOUTS procedure, 93

COLORS keywordin READ_JPEG procedure, 71in WINDOW procedure, 92

COLUMN keywordin LUDC procedure, 59in LUSOL() function, 59in SVDC procedure, 88in WIDGET_BASE() function, 91in WTN() function, 93

COMMAND_LINE_ARGS() function, 25, 39COMMENT_SYMBOL keyword

in READ_ASCII() function, 71COMPANION keyword

in IMSL_ZEROPOLY() function, 55COMPATIBLE keyword

in SAVE procedure, 75COMPLEMENT keyword

in WHERE() function, 91complex numbers

magnitude, 18COMPLEX() function, 12, 13, 39COMPLEX keyword

in INDGEN() function, 56in MAKE_ARRAY() function, 61

COMPLEXARR() function, 13, 15, 39COMPRESS keyword

in FILE_LINES() function, 45in OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66

COMPUTE_EPOCH keywordin CDF_EPOCH procedure, 38

CONGRID() function, 39CONJ() function, 12, 39CONNECT_TIMEOUT keyword

in SOCKET procedure, 84

Page 107: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT 107

CONTEXT_EVENTS keywordin WIDGET_BASE() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

CONTEXT_MENU keywordin WIDGET_BASE() function, 91

CONTINUEin CONTINUE statement, 14in FOR statement, 13in FOREACH statement, 13in WHILE statement, 14

CONTINUE keywordin MESSAGE procedure, 62in PLOTS procedure, 67

CONTOUR procedure, 39CONTOURprocedure, 23CONVERT_ALL keyword

in IDL_VALIDNAME() function, 53CONVERT_COORD() function, 24, 40CONVERT_SPACES keyword

in IDL_VALIDNAME() function, 53CONVOL() function, 18, 28, 40COORDSYS keyword

in HDF_SD_GETINFO procedure, 51COPY keyword

in SET_PLOT procedure, 75CORRELATE() function, 19, 40COS() function, 19, 40COSH() function, 19, 41COUNT keyword

in COMMAND_LINE_ARGS() function, 39in EXPAND_PATH() function, 43in FILE_SEARCH() function, 45in FINDFILE() function, 45in GET_DRIVE_LIST() function, 47in HDF_SD_ADDDATA procedure, 50in HDF_SD_ATTRINFO procedure, 50in HDF_SD_DIMGET procedure, 50in HDF_SD_GETDATA procedure, 51in HDF_VD_GET procedure, 51in IMAGE_STATISTICS procedure, 53

in NCDF_VARGET procedure, 63in NCDF_VARPUT procedure, 64in OBJ_CLASS() function, 64in OBJ_VALID() function, 66in PTR_VALID() function, 69in READ_ASCII() function, 71in SPAWN procedure, 84in STRSPLIT() function, 86

COUNTRIES keywordin MAP_CONTINENTS procedure, 61

COVARIANCE keywordin CORRELATE() function, 40

CPU procedure, 41CPUprocedure, 29CREATE_STRUCT() function, 15, 41CREATE keyword

in HDF_OPEN() function, 50in HDF_SD_START() function, 51

CROSSP() function, 18, 41CUBIC keyword

in CONGRID() function, 39in INTERPOLATE() function, 56in POLY_2D() function, 68

CUMULATIVE keywordin PRODUCT() function, 68in TOTAL() function, 89

CURRENT keywordin CD procedure, 38in MEMORY() function, 62

CURSOR procedure, 41CURSORprocedure, 23

D_VALUE keywordin CALL_EXTERNAL() function, 36

DATA_DIMS keywordin READ_BINARY() function, 71

DATA_LENGTH keywordin N_TAGS() function, 64

DATA_START keywordin READ_ASCII() function, 71in READ_BINARY() function, 71

DATA_SUM keywordin IMAGE_STATISTICS procedure, 53

DATA_TYPE keywordin READ_BINARY() function, 71

DATA keywordin AXIS procedure, 35in CONTOUR procedure, 39in CONVERT_COORD() function, 40in CURSOR procedure, 41in HDF_SD_ATTRINFO procedure, 50in PLOT procedure, 67in PLOTS procedure, 67in POLYFILL procedure, 67in SAVE procedure, 75in SURFACE procedure, 87in TV procedure, 89in XYOUTS procedure, 93

DAYS_OF_WEEK keywordin PRINT procedure, 68in PRINTF procedure, 68in READ procedure, 70in READF procedure, 70in READS procedure, 70in STOP procedure, 85in STRING() function, 85

DBLARR() function, 13, 15, 41DCINDGEN() function, 13, 15, 41DCOMPLEX() function, 12, 13, 41DCOMPLEX keyword

in INDGEN() function, 56in MAKE_ARRAY() function, 61

DCOMPLEXARR() function, 13, 15, 41DEBUG keyword

in DIALOG_PICKFILE() function, 42in FILE_WHICH() function, 45in READ_GIF procedure, 71in READ_JPEG procedure, 71in SPL_INIT_OLD() function, 84in WRITE_BMP procedure, 92in WRITE_GIF procedure, 92in WRITE_JPEG procedure, 92

Page 108: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT108 Subject Index

in WRITE_PICT procedure, 92in WRITE_PNG procedure, 92

DECOMPOSED keywordin DEVICE procedure, 41

DEFAULT_CANCEL keywordin DIALOG_MESSAGE() function, 42

DEFAULT_EXTENSION keywordin DIALOG_PICKFILE() function, 42

DEFAULT_NO keywordin DIALOG_MESSAGE() function, 42

DEFAULTRETURNVALUE keywordin PYTHON() function, 69

DEFSYSV procedure, 41DEFSYSVprocedure, 15DEGREES keyword

in LL_ARC_DISTANCE() function, 57DELAY_TIME keyword

in WRITE_GIF procedure, 92DELETE keyword

in OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66

DELIMITER keywordin READ_ASCII() function, 71

DEMO keywordin LMGR() function, 57

DERIV() function, 18, 19, 41DESCRIPTION keyword

in RESTORE procedure, 72DESTROY_SEMAPHORE keyword

in SEM_CREATE() function, 75DESTROY keyword

in WIDGET_CONTROL procedure, 91in WIDGET_EVENT() function, 91

DETERM() function, 41DEVICE procedure, 41DEVICE keyword

in AXIS procedure, 35in CONTOUR procedure, 39in CONVERT_COORD() function, 40in CURSOR procedure, 41

in PLOT procedure, 67in PLOTS procedure, 67in POLYFILL procedure, 67in SURFACE procedure, 87in TV procedure, 89in XYOUTS procedure, 93

DEVICEprocedure, 23DFNT_CHAR keyword

in HDF_SD_CREATE() function, 50DFNT_FLOAT32 keyword

in HDF_SD_CREATE() function, 50DFNT_FLOAT64 keyword

in HDF_SD_CREATE() function, 50DFNT_INT16 keyword

in HDF_SD_CREATE() function, 50DFNT_INT32 keyword

in HDF_SD_CREATE() function, 50DFNT_INT8 keyword

in HDF_SD_CREATE() function, 50DFNT_UINT16 keyword

in HDF_SD_CREATE() function, 50DFNT_UINT32 keyword

in HDF_SD_CREATE() function, 50DFNT_UINT8 keyword

in HDF_SD_CREATE() function, 50DIALOG_MESSAGE() function, 30, 42DIALOG_PARENT keyword

in DIALOG_MESSAGE() function, 42in DIALOG_PICKFILE() function, 42

DIALOG_PICKFILE() function, 30, 42DIMENSION keyword

in FFT() function, 44in MAKE_ARRAY() function, 61in MAX() function, 62in MEDIAN() function, 62in MIN() function, 62

DIMENSIONS keywordin MAGICK_PING() function, 60in SIZE() function, 84

DIMS keywordin HDF_SD_GETINFO procedure, 51

DINDGEN() function, 13, 15, 42DIRECTORY keyword

in DIALOG_PICKFILE() function, 42in FILE_TEST() function, 45

DISABLED keywordin ROUTINE_INFO() function, 72

DISPLAY_NAME keywordin DIALOG_MESSAGE() function, 42in DIALOG_PICKFILE() function, 42in WIDGET_BASE() function, 91

DISPOSAL_METHOD keywordin WRITE_GIF procedure, 92

DIST() function, 20, 42DITHER keyword

in MAGICK_QUANTIZE procedure, 61in READ_JPEG procedure, 71

DOin FOR statement, 13in FOREACH statement, 13in WHILE statement, 14

DOUBLE keyword, 18DOUBLE() function, 12, 13, 42DOUBLE keyword

in BESELI() function, 35in BESELJ() function, 35in BESELK() function, 35in BESELY() function, 35in BETA() function, 35in BROYDEN() function, 35in CONVERT_COORD() function, 40in CORRELATE() function, 40in DETERM() function, 41in ERF() function, 42in ERFC() function, 43in ERRORF() function, 43in EXPINT() function, 43in FFT() function, 44in GAMMA() function, 46in GAUSSINT() function, 46in GDL_ERFINV() function, 47in HDF_SD_CREATE() function, 50

Page 109: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT 109

in IDENTITY() function, 53in IGAMMA() function, 53in IMSL_BINOMIALCOEF() function, 53in IMSL_CONSTANT() function, 54in IMSL_ERF() function, 55in IMSL_ZEROPOLY() function, 55in IMSL_ZEROSYS() function, 56in INDGEN() function, 56in INVERT() function, 56in KURTOSIS() function, 56in LA_TRIRED procedure, 56in LAGUERRE() function, 56in LEGENDRE() function, 57in LNGAMMA() function, 57in LUDC procedure, 59in LUSOL() function, 59in MACHAR() function, 59in MAKE_ARRAY() function, 61in MEAN() function, 62in MEANABSDEV() function, 62in MEDIAN() function, 62in MOMENT() function, 62in NCDF_ATTPUT procedure, 62in NCDF_VARDEF() function, 63in NEWTON() function, 64in NORM() function, 64in POLY_AREA() function, 68in RADON() function, 70in RANDOMN() function, 70in RANDOMU() function, 70in RK4() function, 72in RK4JMG() function, 72in SKEWNESS() function, 84in SPHER_HARM() function, 84in SPL_INIT() function, 84in SPL_INIT_OLD() function, 84in SPL_INTERP() function, 84in SPL_INTERP_OLD() function, 84in STDDEV() function, 85in SVDC procedure, 88in TOTAL() function, 89

in TRACE() function, 89in VARIANCE() function, 90in VOIGT() function, 90in WTN() function, 93

DOWN keywordin CURSOR procedure, 41

DRHO keywordin RADON() function, 70

DTOXDR keywordin BYTEORDER procedure, 36

DX keywordin RADON() function, 70

DY keywordin RADON() function, 70

DYNAMIC_RESIZE keywordin WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91

EDGE_TRUNCATE keywordin CONVOL() function, 40in SMOOTH() function, 84

EDGE_WRAP keywordin CONVOL() function, 40

EDITABLE keywordin WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

ELSEin CASE statement, 13in IF/THEN/ELSE statement, 12in SWITCH statement, 13

EMBEDDED keywordin LMGR() function, 57

ENABLED keywordin ROUTINE_INFO() function, 72

ENCAPSULATED keywordin DEVICE procedure, 41in SHOWFONT procedure, 75

ENDCASE, 13ENDEF keyword

in NCDF_CONTROL procedure, 63ENDELSE, 12

ENDFOR, 13ENDFOREACH, 13ENDIAN keyword

in READ_BINARY() function, 71ENDIF, 12ENDREP, 14ENDSWITCH, 13ENDWHILE, 14ENVIRONMENT keyword

in GETENV() function, 47EOF() function, 42EOF keyword

in SKIP_LUN procedure, 84EOFprocedure, 21ERASE procedure, 42ERASEprocedure, 23ERF() function, 18, 42ERFC() function, 18, 43ERR_REL keyword

in IMSL_ZEROSYS() function, 56ERRMSG keyword

in SAVE procedure, 75ERROR keyword

in DIALOG_MESSAGE() function, 42in OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66in SOCKET procedure, 84

ERRORF() function, 18, 43ESC keyword

in STR_SEP() function, 87ESCAPE_SPECIAL_CHAR() function, 43ESCAPE keyword

in STRSPLIT() function, 86in STRTOK() function, 86

EVEN keywordin MEDIAN() function, 62

EVENT_FUNC keywordin WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91

Page 110: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT110 Subject Index

in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

EVENT_PRO keywordin WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_CONTROL procedure, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

EXCLUSIVE keywordin WIDGET_BASE() function, 91

EXECUTABLE keywordin FILE_TEST() function, 45

EXECUTE() function, 14, 25, 43EXECUTEprocedure, 15EXISTS keyword

in DEFSYSV procedure, 41EXIT procedure, 43EXIT_STATUS keyword

in CLOSE procedure, 39in FREE_LUN procedure, 46in SPAWN procedure, 84

EXITprocedure, 25EXP() function, 18, 43EXPAND_ENVIRONMENT keyword

in FILE_SEARCH() function, 45EXPAND_PATH() function, 14, 25, 43EXPAND_TILDE keyword

in FILE_SEARCH() function, 45EXPINT() function, 18, 43EXPIRE_DATE keyword

in LMGR() function, 57EXTRACT keyword

in STREGEX() function, 85in STRSPLIT() function, 86in STRTOK() function, 86

F77_UNFORMATTED keywordin OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66

F_VALUE keywordin CALL_EXTERNAL() function, 36

FACTORIAL() function, 19, 43FETCH keyword

in ROUTINE_NAMES() function, 73FFT() function, 20, 44FIELDS keyword

in HDF_VD_READ() function, 51FILE_BASENAME() function, 25, 44FILE_COPY procedure, 44FILE_COPYprocedure, 25FILE_DELETE procedure, 44FILE_DELETEprocedure, 25FILE_DIRNAME() function, 25, 44, 45FILE_EXPAND_PATH() function, 25, 45FILE_INFO() function, 25, 45FILE_LINES() function, 25, 45FILE_LUN keyword

in SIZE() function, 84FILE_MKDIR procedure, 45FILE_MKDIRprocedure, 25FILE_SAME() function, 25, 45FILE_SEARCH() function, 25, 45FILE_TEST() function, 25, 45FILE_WHICH() function, 25, 45FILE keyword

in CLOSE procedure, 39in DIALOG_PICKFILE() function, 42in LOADCT procedure, 57

FILENAME keywordin DEVICE procedure, 41in RESTORE procedure, 72in SAVE procedure, 75

FILEPATH() function, 14, 44FILL_CONTINENTS keyword

in MAP_CONTINENTS procedure, 61FILL keyword

in CONTOUR procedure, 39in NCDF_CONTROL procedure, 63in USERSYM procedure, 90

FILTER keyword

in DIALOG_PICKFILE() function, 42FIN keyword

in SHOWFONT procedure, 75FINDEX() function, 19, 45FINDFILE() function, 25, 45FINDGEN() function, 13, 15, 46FINITE() function, 15, 46FIX() function, 12, 13, 46FIX_FILTER keyword

in DIALOG_PICKFILE() function, 42FLOAT() function, 12, 13, 46FLOAT keyword

in HDF_SD_CREATE() function, 50in INDGEN() function, 56in MAKE_ARRAY() function, 61in NCDF_ATTPUT procedure, 62in NCDF_VARDEF() function, 63

FLOATING keywordin WIDGET_BASE() function, 91

FLOOR() function, 18, 46FLTARR() function, 13, 15, 46FLUSH procedure, 46FLUSHprocedure, 23FNORM keyword

in IMSL_ZEROSYS() function, 56FOLD_CASE keyword

in FILE_BASENAME() function, 44in FILE_SEARCH() function, 45in STRCMP() function, 85in STREGEX() function, 85in STRMATCH() function, 86in STRSPLIT() function, 86

FOLLOW keywordin CONTOUR procedure, 39

FONT keywordin AXIS procedure, 35in CONTOUR procedure, 39in SURFACE procedure, 87in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92

Page 111: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT 111

in WIDGET_TEXT() function, 92FOR, 13FORCE_DEMO keyword

in LMGR() function, 57FORCE keyword

in CLOSE procedure, 39in FREE_LUN procedure, 46

FOREACH, 13FORMAT keyword

in HDF_SD_GETINFO procedure, 51in PM procedure, 67in PRINT procedure, 68in PRINTF procedure, 68in READ procedure, 70in READF procedure, 70in READS procedure, 70in STOP procedure, 85in STRING() function, 85

FOUR_BIT keywordin WRITE_BMP procedure, 92

FRAME keywordin WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

FREE_LUN procedure, 46FREE_LUNprocedure, 21FREE keyword

in WINDOW procedure, 92FSTAT() function, 25, 46FTOXDR keyword

in BYTEORDER procedure, 36FULL_INTERLACE keyword

in HDF_VD_READ() function, 51FULL_STRUCT keyword

in HELPFORM() function, 52FULLY_QUALIFY_PATH keyword

in FILE_SEARCH() function, 45FUNC_GET_VALUE keyword

in WIDGET_BASE() function, 91

in WIDGET_BUTTON() function, 91in WIDGET_CONTROL procedure, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

FUNCTIONS keywordin HELP procedure, 52in ROUTINE_INFO() function, 72

GAMMA() function, 19, 46GAMMA keyword

in RANDOMN() function, 70in RANDOMU() function, 70

Gauss symbol, 18GAUSS_CVF() function, 19, 46GAUSS_PDF() function, 19, 46Gaussian probability function, 19GAUSSIANNOISE keyword

in MAGICK_ADDNOISE procedure, 59in MAGICK_PING() function, 60

GAUSSINT() function, 19, 46GDL_ERFINV() function, 47GEOTIFF keyword

in READ_TIFF() function, 71GET_DECOMPOSED keyword

in DEVICE procedure, 41GET_DRIVE_LIST() function, 47GET_KBRD() function, 47GET_KBRDprocedure, 21GET_LOGIN_INFO() function, 47GET_LUN procedure, 47GET_LUN keyword

in OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66in SOCKET procedure, 84

GET_LUNprocedure, 21GET_MODE keyword

in FILE_TEST() function, 45GET_NAMES keyword

in LOADCT procedure, 57

in LOADCT_INTERNALGDL procedure, 58GET_PATH keyword

in DIALOG_PICKFILE() function, 42GET_SCREEN_SIZE() function, 24, 47GET_SCREEN_SIZE keyword

in DEVICE procedure, 41GET_UVALUE keyword

in WIDGET_CONTROL procedure, 91GET_VALUE keyword

in WIDGET_CONTROL procedure, 91GET_VISUAL_DEPTH keyword

in DEVICE procedure, 41GET keyword

in TVLCT procedure, 89GETENV() function, 25, 47GLOBAL keyword

in NCDF_ATTDEL procedure, 62in NCDF_ATTGET procedure, 62in NCDF_ATTINQ() function, 62in NCDF_ATTNAME() function, 62in NCDF_ATTPUT procedure, 62in NCDF_ATTRENAME procedure, 63

GOTO statement, 14GRAY keyword

in RADON() function, 70GRAYSCALE keyword

in MAGICK_QUANTIZE procedure, 61in READ_JPEG procedure, 71

GRIBAPI_CLONE() function, 22, 47GRIBAPI_CLOSE_FILE procedure, 47GRIBAPI_CLOSE_FILEprocedure, 22GRIBAPI_COUNT_IN_FILE() function, 22, 47GRIBAPI_GET procedure, 47GRIBAPI_GET_DATA procedure, 47GRIBAPI_GET_DATAprocedure, 22GRIBAPI_GET_SIZE() function, 22, 48GRIBAPI_GETprocedure, 22GRIBAPI_NEW_FROM_FILE() function, 22, 48GRIBAPI_OPEN_FILE() function, 22, 48GRIBAPI_RELEASE procedure, 48GRIBAPI_RELEASEprocedure, 22

Page 112: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT112 Subject Index

GRID_LAYOUT keywordin WIDGET_BASE() function, 91

GRID keywordin INTERPOLATE() function, 56in PY_PLOT procedure, 69

GROUP_LEADER keywordin WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

GROUP keywordin DIALOG_PICKFILE() function, 42

GSL_EXP() function, 18, 48

H5_GET_LIBVERSION() function, 21, 50H5A_CLOSE procedure, 48H5A_CLOSEprocedure, 21H5A_GET_NAME() function, 21, 48H5A_GET_NUM_ATTRS() function, 21, 48H5A_GET_SPACE() function, 21, 48H5A_GET_TYPE() function, 21, 48H5A_OPEN_IDX() function, 21, 48H5A_OPEN_NAME() function, 21, 48H5A_READ() function, 21, 48H5D_CLOSE procedure, 48H5D_CLOSEprocedure, 21H5D_GET_SPACE() function, 21, 49H5D_GET_TYPE() function, 21, 49H5D_OPEN() function, 21, 49H5D_READ() function, 21, 49H5F_CLOSE procedure, 49H5F_CLOSEprocedure, 21H5F_IS_HDF5() function, 21, 49H5F_OPEN() function, 21, 49H5G_CLOSE procedure, 49H5G_CLOSEprocedure, 21H5G_OPEN() function, 21, 49H5S_CLOSE procedure, 49H5S_CLOSEprocedure, 21H5S_GET_SIMPLE_EXTENT_DIMS() function, 21, 49

H5T_CLOSE procedure, 49H5T_CLOSEprocedure, 21H5T_GET_SIZE() function, 21, 49HAS_PALETTE keyword

in MAGICK_PING() function, 60HAT keyword

in PLOTERR procedure, 67HDF_CLOSE procedure, 50HDF_CLOSEprocedure, 21HDF_OPEN() function, 21, 50HDF_SD_ADDDATA procedure, 50HDF_SD_ADDDATAprocedure, 21HDF_SD_ATTRFIND() function, 21, 50HDF_SD_ATTRINFO procedure, 50HDF_SD_ATTRINFOprocedure, 21HDF_SD_CREATE() function, 21, 50HDF_SD_DIMGET procedure, 50HDF_SD_DIMGETID() function, 21, 50HDF_SD_DIMGETprocedure, 21HDF_SD_END procedure, 50HDF_SD_ENDACCESS procedure, 50HDF_SD_ENDACCESSprocedure, 21HDF_SD_ENDprocedure, 21HDF_SD_FILEINFO procedure, 50HDF_SD_FILEINFOprocedure, 21HDF_SD_GETDATA procedure, 51HDF_SD_GETDATAprocedure, 21HDF_SD_GETINFO procedure, 51HDF_SD_GETINFOprocedure, 21HDF_SD_NAMETOINDEX() function, 21, 51HDF_SD_SELECT() function, 21, 51HDF_SD_START() function, 21, 51HDF_TYPE keyword

in HDF_SD_ATTRINFO procedure, 50in HDF_SD_CREATE() function, 50in HDF_SD_GETINFO procedure, 51

HDF_VD_ATTACH() function, 21, 51HDF_VD_DETACH procedure, 51HDF_VD_DETACHprocedure, 21HDF_VD_FIND() function, 21, 51HDF_VD_GET procedure, 51

HDF_VD_GETprocedure, 21HDF_VD_READ() function, 21, 51HDF_VG_ATTACH() function, 21, 51HDF_VG_DETACH procedure, 51HDF_VG_DETACHprocedure, 21HDF_VG_GETID() function, 21, 51HDF_VG_GETINFO procedure, 51HDF_VG_GETINFOprocedure, 21HDF_VG_GETTRS procedure, 52HDF_VG_GETTRSprocedure, 21HEADER_DEFINE keyword

in WRITE_BMP procedure, 92HEADER keyword

in READ_ASCII() function, 71HEAP_GC procedure, 52HEAP_GCprocedure, 15HELP procedure, 52HELP keyword

in APPLEMAN procedure, 33in BESELI() function, 35in BESELJ() function, 35in BESELK() function, 35in BESELY() function, 35in CONGRID() function, 39in DERIV() function, 41in DIALOG_MESSAGE() function, 42in DIALOG_PICKFILE() function, 42in ESCAPE_SPECIAL_CHAR() function, 43in FILE_BASENAME() function, 44in FILE_COPY procedure, 44in FILE_DELETE procedure, 44in FILE_DIRNAME() function, 45in FILE_WHICH() function, 45in FINDFILE() function, 45in IDL_VALIDNAME() function, 53in IMAGE_STATISTICS procedure, 53in PLOTERR procedure, 67in PREWITT() function, 68in READ_ASCII() function, 71in READ_GIF procedure, 71in READ_JPEG procedure, 71

Page 113: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT 113

in READ_PNG() function, 71in ROBERTS() function, 72in SKIP_LUN procedure, 84in SMOOTH() function, 84in SOBEL() function, 84in SPL_INIT() function, 84in SPL_INTERP() function, 84in STR_SEP() function, 87in STRSPLIT() function, 86in WIDGET_BUTTON() function, 91in WRITE_BMP procedure, 92in WRITE_GIF procedure, 92in WRITE_JPEG procedure, 92in WRITE_PICT procedure, 92in WRITE_PNG procedure, 92

HELPFORM() function, 52HELPprocedure, 15, 73HIGHWATER keyword

in MEMORY() function, 62HIRES keyword

in MAP_CONTINENTS procedure, 61HIST_2D() function, 19, 52, 53HIST_ND() function, 19, 52HISTOGRAM() function, 19, 52, 53HLS keyword

in TVLCT procedure, 89HSV keyword

in TVLCT procedure, 89HTONL keyword

in BYTEORDER procedure, 36HTONS keyword

in BYTEORDER procedure, 36HYBRID keyword

in NEWTON() function, 64hyperbolic functions, 19

I_VALUE keywordin CALL_EXTERNAL() function, 36

IDENTITY() function, 15, 19, 53IDL_BASE64() function, 26, 53IDL_CONSTANT() function, 20

IDL_VALIDANEM() function, 26IDL_VALIDNAME() function, 12, 53IF, 12IGAMMA() function, 19, 53IGNORE_ACCELERATORS keyword

in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

IHDR keywordin WRITE_BMP procedure, 92

IMAGE_INDEX keywordin MAGICK_PING() function, 60in QUERY_TIFF() function, 70in READ_DICOM() function, 71in READ_TIFF() function, 71

IMAGE_STATISTICS procedure, 53IMAGINARY() function, 12, 53IMPULSENOISE keyword

in MAGICK_ADDNOISE procedure, 59in MAGICK_PING() function, 60

IMSL_BINOMIALCOEF() function, 19, 53IMSL_CONSTANT() function, 54IMSL_ERF() function, 18, 55IMSL_ZEROPOLY() function, 19, 20, 55IMSL_ZEROSYS() function, 56IN_GLOBAL keyword

in NCDF_ATTCOPY() function, 62INCHES keyword

in DEVICE procedure, 41INCLUDE_CURRENT_DIR keyword

in FILE_WHICH() function, 45INDEX keyword

in MAKE_ARRAY() function, 61INDGEN() function, 13, 15, 56INFINITY keyword

in FINITE() function, 46INFO keyword

in HELP procedure, 52in MAGICK_PING() function, 60

INFORMATION keywordin DIALOG_MESSAGE() function, 42

INFORMATIONAL keyword

in MESSAGE procedure, 62INPUT keyword

in HISTOGRAM() function, 52INSTALL_NUM keyword

in LMGR() function, 57INT keyword

in HDF_SD_CREATE() function, 50INTARR() function, 13, 15, 56INTEGER keyword

in MAKE_ARRAY() function, 61in PRODUCT() function, 68in TOTAL() function, 89

INTERCHANGES keywordin LUDC procedure, 59

INTERLEAVE keywordin READ_TIFF() function, 71

INTERP keywordin CONGRID() function, 39

INTERPOL() function, 19, 56INTERPOLATE() function, 19, 56INTERPOLATE keyword

in SET_PLOT procedure, 75INVERSE keyword

in FFT() function, 44in IMSL_ERF() function, 55in WTN() function, 93

INVERT() function, 18, 56IOERROR keyword

in MESSAGE procedure, 62ISHFT() function, 19, 56ISOTROPIC keyword

in CONTOUR procedure, 39ISSUE_ACCESS_ERROR keyword

in FILE_SEARCH() function, 45ITER keyword

in BESELI() function, 35in BESELJ() function, 35in BESELK() function, 35in BESELY() function, 35in RK4() function, 72in VOIGT() function, 90

Page 114: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT114 Subject Index

ITMAX keywordin BROYDEN() function, 35in IMSL_ZEROSYS() function, 56in NEWTON() function, 64in SVDC procedure, 88

JACOBIAN keywordin IMSL_ZEROSYS() function, 56

JENKINS_TRAUB keywordin IMSL_ZEROPOLY() function, 55

joint density function, 52JOURNAL procedure, 56JOURNALprocedure, 17JULIAN keyword

in SYSTIME() function, 88

KBRD_FOCUS_EVENTS keywordin WIDGET_BASE() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

KEYWORD_SET() function, 14, 56KILL_NOTIFY keyword

in WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

KURTOSIS() function, 19, 56

L64 keyword, 18L64_VALUE keyword

in CALL_EXTERNAL() function, 36L64 keyword

in CEIL() function, 39in FLOOR() function, 46in INDGEN() function, 56in MAKE_ARRAY() function, 61in MEMORY() function, 62in ROUND() function, 72in SIZE() function, 84in SORT() function, 84in VALUE_LOCATE() function, 90

L64INDEGEN() function, 15L64INDGEN() function, 13, 56L64SWAP keyword

in BYTEORDER procedure, 36L_VALUE keyword

in CALL_EXTERNAL() function, 36LA_TRIRED procedure, 56LA_TRIREDprocedure, 19LABEL keyword

in HDF_SD_GETINFO procedure, 51LAGUERRE() function, 19, 56LANDSCAPE keyword

in DEVICE procedure, 41LAPLACIANNOISE keyword

in MAGICK_ADDNOISE procedure, 59in MAGICK_PING() function, 60

LAST_ITEM() function, 56LEGENDRE() function, 19, 57LENGTH_OF_HAT keyword

in PLOTERR procedure, 67LENGTH keyword

in N_TAGS() function, 64in NCDF_ATTPUT procedure, 62in STREGEX() function, 85in STRSPLIT() function, 86in STRTOK() function, 86

LEVEL keywordin ROUTINE_NAMES() function, 73in SCOPE_VARFETCH() function, 75

LEVELS keywordin CONTOUR procedure, 39

LIB keywordin HELP procedure, 52

LINDEGEN() function, 15LINDGEN() function, 13, 57LINE_FILL keyword

in POLYFILL procedure, 67LINEAR keyword

in RADON() function, 70LINEINTERLACE keyword

in MAGICK_INTERLACE procedure, 60

LINES keywordin SKIP_LUN procedure, 84

LINESTYLE keywordin OPLOT procedure, 66in PLOT procedure, 67in PLOTS procedure, 67in POLYFILL procedure, 67in SURFACE procedure, 87

LINKIMAGE procedure, 57LINKIMAGE() function, 31LINKIMAGEprocedure, 38LIST_OF_SPECIAL_CHAR keyword

in ESCAPE_SPECIAL_CHAR() function, 43LL_ARC_DISTANCE() function, 19, 23, 57LMGR() function, 57LMHOSTID keyword

in LMGR() function, 57LNGAMMA() function, 19, 57LOADCT procedure, 57LOADCT_INTERNALGDL procedure, 58LOADCTprocedure, 23LOCALE_GET() function, 25, 59LOCATIONS keyword

in HISTOGRAM() function, 52LOGICAL_AND() function, 12, 59LOGICAL_OR() function, 12, 59LOGICAL_TRUE() function, 12, 59LON64ARR() function, 15, 59LONARR() function, 13, 15, 59LONG() function, 12, 13, 59LONG64() function, 12, 13, 59LONG64ARR() function, 13LONG keyword

in HDF_SD_CREATE() function, 50in INDGEN() function, 56in MAKE_ARRAY() function, 61in NCDF_ATTPUT procedure, 62in NCDF_VARDEF() function, 63in RANDOMN() function, 70in RANDOMU() function, 70

LSQUADRATIC keyword

Page 115: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT 115

in INTERPOL() function, 56LSWAP keyword

in BYTEORDER procedure, 36LUDC procedure, 59LUDCprocedure, 19LUSOL() function, 59LUT keyword

in IMAGE_STATISTICS procedure, 53

MACHAR() function, 15, 59MAGICK_ADDNOISE procedure, 59MAGICK_CLOSE procedure, 59MAGICK_COLORMAPSIZE() function, 60MAGICK_COLUMNS() function, 60MAGICK_CREATE() function, 60MAGICK_DISPLAY procedure, 60MAGICK_EXISTS() function, 60MAGICK_FLIP procedure, 60MAGICK_INDEXEDCOLOR() function, 60MAGICK_INTERLACE procedure, 60MAGICK_MAGICK() function, 60MAGICK_MATTE procedure, 60MAGICK_OPEN() function, 60MAGICK_PING() function, 60MAGICK_QUALITY procedure, 60MAGICK_QUANTIZE procedure, 61MAGICK_READ() function, 61MAGICK_READCOLORMAPRGB procedure, 61MAGICK_READINDEXES() function, 61MAGICK_ROWS() function, 61MAGICK_WRITE procedure, 61MAGICK_WRITECOLORTABLE procedure, 61MAGICK_WRITEFILE procedure, 61MAGICK_WRITEINDEXES procedure, 61magnitude of a complex number, 18MAKE_ARRAY() function, 15, 61MANAGED keyword

in WIDGET_CONTROL procedure, 91in WIDGET_INFO() function, 91

Mandelbrot set, 33MAP_CLIP_SET procedure, 61

MAP_CLIP_SETprocedure, 23MAP_CONTINENTS procedure, 61MAP_CONTINENTSprocedure, 23MAP_PROJ_FORWARDprocedure, 23MAP_PROJ_INVERSEprocedure, 23MAP keyword

in MAGICK_READ() function, 61in TRIGRID() function, 89in WIDGET_BASE() function, 91in WIDGET_CONTROL procedure, 91

MARK_DIRECTORY keywordin FILE_DIRNAME() function, 45in FILE_SEARCH() function, 45

MASK keywordin CHECK_MATH() function, 39in IMAGE_STATISTICS procedure, 53

MATCH_ALL_INITIAL_DOT keywordin FILE_SEARCH() function, 45

MATCH_INITIAL_DOT keywordin FILE_SEARCH() function, 45

MATRIX_MULTIPLY() function, 18, 61MAX() function, 18, 19, 62MAX1 keyword

in HIST_2D() function, 52MAX2 keyword

in HIST_2D() function, 52MAX_VALUE keyword

in CONTOUR procedure, 39in OPLOT procedure, 66in PLOT procedure, 67in SURFACE procedure, 87in TRIGRID() function, 89

MAX keywordin BYTSCL() function, 36in HIST_ND() function, 52in HISTOGRAM() function, 52in MIN() function, 62

MAXIMUM keywordin IMAGE_STATISTICS procedure, 53

MAXMOMENT keywordin MOMENT() function, 62

MBAR keywordin WIDGET_BASE() function, 91

MDEV keywordin MOMENT() function, 62

MEAN() function, 18, 19, 62MEAN keyword

in IMAGE_STATISTICS procedure, 53MEANABSDEV() function, 19, 62MEDIAN() function, 19, 28, 62MEMORY() function, 62MEMORY keyword

in HELP procedure, 52MEMORYprocedure, 17MENU keyword

in WIDGET_BUTTON() function, 91MESSAGE procedure, 62MESSAGEprocedure, 15, 17MIN() function, 18, 19, 62MIN1 keyword

in HIST_2D() function, 52MIN2 keyword

in HIST_2D() function, 52MIN_VALUE keyword

in CONTOUR procedure, 39in OPLOT procedure, 66in PLOT procedure, 67in SURFACE procedure, 87

MIN keywordin BYTSCL() function, 36in HIST_ND() function, 52in HISTOGRAM() function, 52in MAX() function, 62

MINIMUM keywordin IMAGE_STATISTICS procedure, 53

MINUS_ONE keywordin CONGRID() function, 39

MISSING_VALUE keywordin READ_ASCII() function, 71

MISSING keywordin BILINEAR() function, 35in CONGRID() function, 39

Page 116: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT116 Subject Index

in INTERPOLATE() function, 56in POLY_2D() function, 68in TRIGRID() function, 89

MODAL keywordin WIDGET_BASE() function, 91in WIDGET_INFO() function, 91

MOMENT() function, 19, 62MONTH keyword

in PRINT procedure, 68in PRINTF procedure, 68in READ procedure, 70in READF procedure, 70in READS procedure, 70in STOP procedure, 85in STRING() function, 85

MORE keywordin OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66

MTIMES keywordin SAVE procedure, 75

MULTIPLE_FILES keywordin DIALOG_PICKFILE() function, 42

MULTIPLE keywordin WRITE_GIF procedure, 92

MULTIPLICATIVEGAUSSIANNOISE keywordin MAGICK_ADDNOISE procedure, 59in MAGICK_PING() function, 60

multithreadingin ABS() function, 33in ACOS() function, 33in ASIN() function, 34in ATAN() function, 34in CEIL() function, 39in COMPLEX() function, 39in CONJ() function, 39in COS() function, 40in COSH() function, 41in EXP() function, 43in FFT() function, 44in FLOOR() function, 46

in IMAGINARY() function, 53in LOGICAL_AND() function, 59in LOGICAL_OR() function, 59in LOGICAL_TRUE() function, 59in MAGICK_WRITEINDEXES procedure, 61in PRODUCT() function, 68in PTRARR() function, 68in ROUND() function, 72in SIN() function, 83in SINH() function, 83in SQRT() function, 85in STRCOMPRESS() function, 85in STRLEN() function, 86in STRLOWCASE() function, 86in STRMID() function, 86in STRPOS() function, 86in STRPUT procedure, 86in STRTRIM() function, 87in STRUPCASE() function, 87in TAN() function, 88in TANH() function, 88in TOTAL() function, 89in WHERE() function, 91

MUST_EXIST keywordin DIALOG_PICKFILE() function, 42

N_DIMENSIONS keywordin SIZE() function, 84

N_ELEMENTS() function, 14, 15, 64N_ELEMENTS keyword

in SIZE() function, 84N_PARAMS() function, 14, 64N_TAGS() function, 15, 64NAME keyword

in CREATE_STRUCT() function, 41in HDF_SD_ATTRINFO procedure, 50in HDF_SD_DIMGET procedure, 50in HDF_SD_GETINFO procedure, 51in HDF_VD_GET procedure, 51in HDF_VG_GETINFO procedure, 51

NAMED_PIPE keyword

in FILE_TEST() function, 45NAMES keyword

in SAVE procedure, 75NAN keyword

in BYTSCL() function, 36in FINITE() function, 46in HISTOGRAM() function, 52in KURTOSIS() function, 56in MAX() function, 62in MEAN() function, 62in MEANABSDEV() function, 62in MIN() function, 62in MOMENT() function, 62in PRODUCT() function, 68in SKEWNESS() function, 84in SMOOTH() function, 84in STDDEV() function, 85in TOTAL() function, 89in TVSCL procedure, 89in VARIANCE() function, 90

NATTR keywordin HDF_SD_DIMGET procedure, 50

NATTS keywordin HDF_SD_GETINFO procedure, 51

NBINS keywordin HIST_ND() function, 52in HISTOGRAM() function, 52

NCDF_ATTCOPY() function, 21, 62NCDF_ATTDEL procedure, 62NCDF_ATTDELprocedure, 21NCDF_ATTGET procedure, 62NCDF_ATTGETprocedure, 21NCDF_ATTINQ() function, 21, 62NCDF_ATTNAME() function, 21, 62NCDF_ATTPUT procedure, 62NCDF_ATTPUTprocedure, 21NCDF_ATTRENAME procedure, 63NCDF_ATTRENAMEprocedure, 21NCDF_CLOSE procedure, 63NCDF_CLOSEprocedure, 21NCDF_CONTROL procedure, 63

Page 117: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT 117

NCDF_CONTROLprocedure, 21, 64NCDF_CREATE() function, 21, 63NCDF_DIMDEF() function, 21, 63NCDF_DIMID() function, 21, 63NCDF_DIMINQ procedure, 63NCDF_DIMINQprocedure, 21NCDF_DIMRENAME procedure, 63NCDF_DIMRENAMEprocedure, 21NCDF_EXISTS() function, 21, 63NCDF_INQUIRE() function, 21, 63NCDF_OPEN() function, 21, 63NCDF_VARDEF() function, 21, 63NCDF_VARGET procedure, 63NCDF_VARGET1 procedure, 64NCDF_VARGET1procedure, 21NCDF_VARGETprocedure, 21NCDF_VARID() function, 21, 64NCDF_VARINQ() function, 21, 64NCDF_VARPUT procedure, 64NCDF_VARPUTprocedure, 21NCDF_VARRENAME procedure, 64NCDF_VARRENAMEprocedure, 21NCOLORS keyword

in LOADCT procedure, 57NCOMPLEMENT keyword

in WHERE() function, 91NDIMS keyword

in HDF_SD_GETINFO procedure, 51NENTRIES keyword

in HDF_VG_GETINFO procedure, 51NEWTON() function, 20, 64NLEVELS keyword

in CONTOUR procedure, 39NO_CHECK keyword

in DERIV() function, 41NO_CONFIRM keyword

in EXIT procedure, 43NO_COPY keyword

in PTR_NEW() function, 69in WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91

in WIDGET_CONTROL procedure, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

NO_INTERLACE keywordin HDF_VD_READ() function, 51

NO_NEWLINE keywordin WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

NO_RELEASE keywordin WIDGET_BUTTON() function, 91

NO_TYPECONV keywordin ARRAY_EQUAL() function, 34

NOAUTOMODE keywordin OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66

NOCATCH keywordin SAVE procedure, 75

NOCLEAR keywordin CHECK_MATH() function, 39

NOCLIP keywordin CONTOUR procedure, 39in OPLOT procedure, 66in PLOT procedure, 67in PLOTS procedure, 67in POLYFILL procedure, 67in SURFACE procedure, 87in XYOUTS procedure, 93

NOCLOBBER keywordin NCDF_CREATE() function, 63

NODATA keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

NODISPLAY keywordin APPLEMAN procedure, 33

NOERASE keywordin AXIS procedure, 35in CONTOUR procedure, 39

in PLOT procedure, 67in SURFACE procedure, 87

NOEXPAND_PATH keywordin FILE_COPY procedure, 44in FILE_DELETE procedure, 44in FILE_INFO() function, 45in FILE_LINES() function, 45in FILE_MKDIR procedure, 45in FILE_SAME() function, 45in FILE_TEST() function, 45

NOFILL keywordin NCDF_CONTROL procedure, 63

NOINTERLACE keywordin MAGICK_INTERLACE procedure, 60

NOISE keywordin MAGICK_ADDNOISE procedure, 59in MAGICK_PING() function, 60

NONAME keywordin MESSAGE procedure, 62

NONEXCLUSIVE keywordin WIDGET_BASE() function, 91

NOPREFIX keywordin MESSAGE procedure, 62

NOPRINT keywordin MESSAGE procedure, 62

NORM() function, 18, 64NORMAL keyword

in AXIS procedure, 35in CONTOUR procedure, 39in CONVERT_COORD() function, 40in CURSOR procedure, 41in PLOT procedure, 67in PLOTS procedure, 67in POLYFILL procedure, 67in RANDOMN() function, 70in RANDOMU() function, 70in SURFACE procedure, 87in TV procedure, 89in XYOUTS procedure, 93

NOSHELL keywordin SPAWN procedure, 84

Page 118: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT118 Subject Index

NOSORT keywordin FILE_SEARCH() function, 45

NOTIFY_REALIZE keywordin WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

NOVERBOSE keywordin NCDF_CONTROL procedure, 63

NOWAIT keywordin CURSOR procedure, 41

NOWRITE keywordin NCDF_OPEN() function, 63

NOZERO keywordin BYTARR() function, 35in COMPLEXARR() function, 39in DBLARR() function, 41in DCOMPLEXARR() function, 41in FLTARR() function, 46in INTARR() function, 56in LON64ARR() function, 59in LONARR() function, 59in MAKE_ARRAY() function, 61in OBJARR() function, 64in PTRARR() function, 68in STRARR() function, 85in STRUCT_ASSIGN procedure, 87in UINTARR() function, 90in ULON64ARR() function, 90in ULONARR() function, 90

NRECORDS keywordin HDF_VD_READ() function, 51

NRHO keywordin RADON() function, 70

NSUM keywordin OPLOT procedure, 66

NTHETA keywordin RADON() function, 70

NTOHL keywordin BYTEORDER procedure, 36

NTOHS keywordin BYTEORDER procedure, 36

NUM_ALLOC keywordin MEMORY() function, 62

NUM_DD keywordin HDF_OPEN() function, 50

NUM_FREE keywordin MEMORY() function, 62

NUM_IMAGES keywordin MAGICK_PING() function, 60

NUM_RECORDS keywordin READ_ASCII() function, 71

NX keywordin RADON() function, 70in TRIGRID() function, 89

NY keywordin RADON() function, 70in TRIGRID() function, 89

OBJ_CLASS() function, 15, 64OBJ_DESTROY procedure, 65OBJ_DESTROY() function, 13OBJ_DESTROYprocedure, 15OBJ_ISA() function, 15, 65OBJ_NEW() function, 15, 65OBJ_VALID() function, 15, 66OBJ keyword

in HEAP_GC procedure, 52in MAKE_ARRAY() function, 61

OBJARR() function, 13, 15, 64OF

in CASE statement, 13in SWITCH statement, 13

OFFSET keywordin NCDF_VARGET procedure, 63in NCDF_VARGET1 procedure, 64in NCDF_VARPUT procedure, 64

OLDFILL keywordin NCDF_CONTROL procedure, 63

OMAX keywordin HISTOGRAM() function, 52

OMIN keywordin HISTOGRAM() function, 52

ON_ERROR procedure, 66ON_ERRORprocedure, 15ON_IOERRORprocedure, 15OPENR procedure, 66OPENRprocedure, 21OPENU procedure, 66OPENUprocedure, 21OPENW procedure, 66OPENWprocedure, 21OPLOT procedure, 66OPLOTprocedure, 23ORDER keyword

in READ_JPEG procedure, 71in READ_PNG() function, 71in TV procedure, 89in TVRD() function, 89in WRITE_JPEG procedure, 92in WRITE_PNG procedure, 92

ORIENTATION keywordin POLYFILL procedure, 67in READ_TIFF() function, 71in XYOUTS procedure, 93

OUT_GLOBAL keywordin NCDF_ATTCOPY() function, 62

OUTPUT keywordin HELP procedure, 52

OVERPLOT keywordin CONTOUR procedure, 39

OVERWRITE_PROMPT keywordin DIALOG_PICKFILE() function, 42

OVERWRITE keywordin FFT() function, 44in FILE_COPY procedure, 44in REFORM() function, 72in REVERSE() function, 72in WTN() function, 93

PACKED keywordin ASSOC() function, 34

Page 119: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT 119

PARAMETERS keywordin ROUTINE_INFO() function, 72

PARENT_DIRECTORY keywordin PATH_SEP() function, 67

PARSE_URL() function, 25, 26, 66Pascal’s triangle, 53PASS_METHOD keyword

in SAVE procedure, 75PATH_SEP() function, 25, 44, 67PATH keyword

in DIALOG_PICKFILE() function, 42PHASE keyword

in ATAN() function, 34PID keyword

in SPAWN procedure, 84PIXEL_TYPE keyword

in MAGICK_PING() function, 60PIXMAP keyword

in WINDOW procedure, 92PLANARCONFIG keyword

in READ_TIFF() function, 71PLANEINTERLACE keyword

in MAGICK_INTERLACE procedure, 60PLOT procedure, 67PLOTERR procedure, 67PLOTERRprocedure, 23PLOTprocedure, 23PLOTS procedure, 67PLOTSprocedure, 23PM procedure, 67PMprocedure, 15, 21POINT_LUN procedure, 67POINT_LUNprocedure, 21POISSON keyword

in RANDOMN() function, 70in RANDOMU() function, 70

POISSONNOISE keywordin MAGICK_ADDNOISE procedure, 59in MAGICK_PING() function, 60

POLAR keywordin OPLOT procedure, 66

POLY() function, 19, 67POLY_2D() function, 28, 68POLY_AREA() function, 19, 68POLYFILL procedure, 67POLYFILLprocedure, 23POPD procedure, 68POPDprocedure, 25PORTRAIT keyword

in DEVICE procedure, 41POSITION keyword

in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

PRESERVE_NULL keywordin STRSPLIT() function, 86in STRTOK() function, 86

PRESERVE_TYPE keywordin PRODUCT() function, 68in TOTAL() function, 89

PREWITT() function, 28, 68PRIMES() function, 19, 68PRINT procedure, 68PRINT keyword

in CHECK_MATH() function, 39in FIX() function, 46in STRING() function, 85

PRINTD procedure, 68PRINTDprocedure, 25PRINTF procedure, 68PRINTFprocedure, 21PRINTprocedure, 15, 21PRO_SET_VALUE keyword

in WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_CONTROL procedure, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

PROCEDURES keywordin HELP procedure, 52

PRODUCT() function, 18, 68

PROGRESSIVE keywordin WRITE_JPEG procedure, 92

PROMPT keywordin READ procedure, 70in READF procedure, 70

PSYM keywordin OPLOT procedure, 66in PLOT procedure, 67in PLOTERR procedure, 67in PLOTS procedure, 67

PTR_FREE procedure, 68PTR_FREE() function, 13PTR_FREEprocedure, 15PTR_NEW() function, 15, 68, 69PTR_VALID() function, 15, 68, 69PTR keyword

in HEAP_GC procedure, 52in MAKE_ARRAY() function, 61

PTRARR() function, 13, 15, 68PTRARRprocedure, 15PUSHBUTTON_EVENTS keyword

in WIDGET_BUTTON() function, 91PUSHD procedure, 69PUSHDprocedure, 25PY_PLOT procedure, 69PY_PRINT procedure, 69PYTHON procedure, 69PYTHON() function, 14, 32, 69PYTHONprocedure, 14, 32

QUADRATIC keywordin INTERPOL() function, 56

QUALITY keywordin WRITE_JPEG procedure, 92

QUERY_BMP() function, 28, 69QUERY_DICOM() function, 28, 69QUERY_GIF() function, 28, 70QUERY_IMAGE() function, 28, 70QUERY_JPEG() function, 28, 70QUERY_PICT() function, 28, 70QUERY_PNG() function, 28, 70

Page 120: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT120 Subject Index

QUERY_PPM() function, 28, 70QUERY_TIFF() function, 28, 70QUESTION keyword

in DIALOG_MESSAGE() function, 42QUIET keyword

in FILE_COPY procedure, 44in FILE_DELETE procedure, 44in FINDFILE() function, 45in SAVE procedure, 75

QUOTE keywordin FILE_SEARCH() function, 45

RADON() function, 28, 70RANDOMN() function, 20, 70RANDOMU() function, 20, 70RDWR keyword

in HDF_OPEN() function, 50in HDF_SD_START() function, 51

READ procedure, 70READ_ASCII() function, 71READ_ASCIIprocedure, 21READ_BINARY() function, 21, 71READ_BMP() function, 28, 71READ_DICOM() function, 28, 71READ_GIF procedure, 71READ_JPEG procedure, 71READ_JPEGprocedure, 28READ_PICT procedure, 71READ_PICTprocedure, 28READ_PNG() function, 28, 71, 73READ_TIFF() function, 28, 71READ_TIMEOUT keyword

in SOCKET procedure, 84READ_XWD() function, 28, 71READ keyword

in DIALOG_PICKFILE() function, 42in FILE_TEST() function, 45in HDF_OPEN() function, 50in HDF_SD_START() function, 51in HDF_VD_ATTACH() function, 51in HDF_VG_ATTACH() function, 51

READF procedure, 70READFprocedure, 21READprocedure, 21READS procedure, 70READS() function, 26READSprocedure, 21READU procedure, 70READUprocedure, 21REAL_PART() function, 12, 71REALIZE keyword

in WIDGET_CONTROL procedure, 91REBIN() function, 15, 19, 28, 71RECALL_COMMANDS() function, 71RECALL_COMMANDS keyword

in HELP procedure, 52RECALL_COMMANDSprocedure, 17RECORD_START keyword

in READ_ASCII() function, 71RECURSIVE keyword

in FILE_COPY procedure, 44in FILE_DELETE procedure, 44

REDEF keywordin NCDF_CONTROL procedure, 63

REF keywordin HDF_VD_GET procedure, 51in HDF_VG_GETINFO procedure, 51

REFORM() function, 15, 72REGEX keyword

in STRSPLIT() function, 86in STRTOK() function, 86

REGULAR keywordin FILE_TEST() function, 45

RELAXED_STRUCTURE_ASSIGNMENT keywordin RESTORE procedure, 72

REMOVE_ALL keywordin STR_SEP() function, 87in STRCOMPRESS() function, 85

REPEAT, 14REPEAT_COUNT keyword

in WRITE_GIF procedure, 92REPLICATE() function, 13, 15, 19, 72

REPLICATE_INPLACE procedure, 72REPLICATE_INPLACEprocedure, 15, 19REQUIRE_DIRECTORY keyword

in FILE_COPY procedure, 44RESET keyword

in CPU procedure, 41in MAP_CLIP_SET procedure, 61in MESSAGE procedure, 62

RESOLUTION keywordin GET_SCREEN_SIZE() function, 47

RESOLVE_ROUTINE procedure, 72RESOLVE_ROUTINEprocedure, 17RESOURCE_NAME keyword

in DIALOG_MESSAGE() function, 42in DIALOG_PICKFILE() function, 42in WIDGET_BASE() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

RESTORE procedure, 72RESTORE keyword

in CPU procedure, 41RESTORED_OBJECTS keyword

in RESTORE procedure, 72RESTOREprocedure, 22RESULT keyword

in APPLEMAN procedure, 33RETAIN keyword

in WINDOW procedure, 92RETALL procedure, 72RETALL keyword

in RETALL procedure, 72RETALLprocedure, 17RETURN_TYPE keyword

in CALL_EXTERNAL() function, 36REVERSE() function, 15, 18, 72REVERSE_INDICES keyword

in HIST_ND() function, 52in HISTOGRAM() function, 52

REVERSE_OFFSET keywordin STRMID() function, 86

Page 121: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT 121

in STRPOS() function, 86REVERSE_SEARCH keyword

in STRPOS() function, 86RGB keyword

in MAGICK_READ() function, 61in MAGICK_WRITE procedure, 61in READ_BMP() function, 71in WRITE_BMP procedure, 92

RHO keywordin RADON() function, 70

RIVERS keywordin MAP_CONTINENTS procedure, 61

RK4() function, 20, 72RK4JMG() function, 72RMIN keyword

in RADON() function, 70RNAME_MBAR keyword

in WIDGET_BASE() function, 91ROBERTS() function, 28, 72ROOT_DIR keyword

in FILEPATH() function, 44ROTATE() function, 15, 18, 28, 72ROUND() function, 18, 72ROUTINE_INFO() function, 17, 72, 74ROUTINE_NAMES() function, 17, 73ROUTINES keyword

in HELP procedure, 52ROW keyword

in WIDGET_BASE() function, 91RSTRPOS() function, 26, 74RUNTIME keyword

in LMGR() function, 57

S_FUNCTIONS keywordin ROUTINE_NAMES() function, 73

S_PROCEDURES keywordin ROUTINE_NAMES() function, 73

S_VALUE keywordin CALL_EXTERNAL() function, 36

SAMPLE keywordin REBIN() function, 71

SAVE procedure, 75SAVE keyword

in AXIS procedure, 35SAVEprocedure, 22SCALE_FACTOR keyword

in DEVICE procedure, 41SCALE keyword

in HDF_SD_DIMGET procedure, 50SCOPE_VARFETCH() function, 17, 74, 75SCR_XSIZE keyword

in WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

SCR_YSIZE keywordin WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

SCROLL keywordin WIDGET_BASE() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

SDEV keywordin MOMENT() function, 62

SEARCH_PATH keywordin PATH_SEP() function, 67

SECONDS keywordin SYSTIME() function, 88

SEM_CREATE() function, 29, 75SEM_DELETE procedure, 75SEM_DELETEprocedure, 29SEM_LOCK() function, 29, 75SEM_RELEASE procedure, 75SEM_RELEASEprocedure, 29SENSITIVE keyword

in WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_CONTROL procedure, 91

in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

SEPARATOR keywordin WIDGET_BUTTON() function, 91

SET_BUTTON keywordin WIDGET_CONTROL procedure, 91

SET_CHARACTER_SIZE keywordin DEVICE procedure, 41

SET_DROPLIST_SELECT keywordin WIDGET_CONTROL procedure, 91

SET_PLOT procedure, 75SET_PLOTprocedure, 23SET_RESOLUTION keyword

in DEVICE procedure, 41SET_UNAME keyword

in WIDGET_CONTROL procedure, 91SET_UVALUE keyword

in WIDGET_CONTROL procedure, 91SET_VALUE keyword

in WIDGET_CONTROL procedure, 91SETENV procedure, 75SETENVprocedure, 25SH_LOCATION keyword

in FINDFILE() function, 45SH keyword

in SPAWN procedure, 84SHIFT() function, 18, 75SHORT keyword

in HDF_SD_CREATE() function, 50in NCDF_ATTPUT procedure, 62in NCDF_VARDEF() function, 63

SHORTFORM keywordin HELPFORM() function, 52

SHOW_LIST keywordin ESCAPE_SPECIAL_CHAR() function, 43

SHOWFONT procedure, 75SHOWFONTprocedure, 24SIGNED keyword

in POLY_AREA() function, 68SILENT keyword

Page 122: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT122 Subject Index

in LOADCT procedure, 57SIN() function, 19, 83SINDGEN() function, 15, 26, 83SINGLE keyword

in HELPFORM() function, 52in STRJOIN() function, 85

SINH() function, 19, 83SITE_NOTICE keyword

in LMGR() function, 57SIZE() function, 12, 14, 15, 37, 84SIZE keyword

in HELPFORM() function, 52in MAKE_ARRAY() function, 61

SKEWNESS() function, 19, 84SKIP_LUN procedure, 84SKIP_LUNprocedure, 21SMOOTH() function, 28, 84SOBEL() function, 28, 84SOCKET procedure, 84SOCKET keyword

in FILE_TEST() function, 45SOCKETprocedure, 25SORT() function, 15, 26, 84SPACE keyword

in WIDGET_BASE() function, 91SPACING keyword

in POLYFILL procedure, 67SPAWN procedure, 84SPAWN_OPTIONS keyword

in FINDFILE() function, 45SPAWNprocedure, 25SPHER_HARM() function, 19, 84SPL_INIT() function, 19, 84SPL_INIT_OLD() function, 84SPL_INTERP() function, 19, 84SPL_INTERP_OLD() function, 84SPLINE keyword

in INTERPOL() function, 56SPLIT keyword

in MAP_CLIP_SET procedure, 61SQRT() function, 12, 18, 85

SSWAP keywordin BYTEORDER procedure, 36

START keywordin HDF_SD_ADDDATA procedure, 50in HDF_SD_GETDATA procedure, 51

STATUS keywordin EXIT procedure, 43in SAVE procedure, 75

STDDEV() function, 19, 85STDDEV keyword

in IMAGE_STATISTICS procedure, 53STDIO_NON_FINITE keyword

in PRINT procedure, 68in PRINTF procedure, 68in STOP procedure, 85

STDIO keywordin OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66in SOCKET procedure, 84

STIRLING keywordin FACTORIAL() function, 43

STOP procedure, 85STOPprocedure, 17STORE keyword

in ROUTINE_NAMES() function, 73STR_SEP() function, 26, 87STRARR() function, 13, 15, 26, 85STRCMP() function, 26, 85STRCOMPRESS() function, 26, 85STREAM keyword

in OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66

STREGEX() function, 26, 85STRIDE keyword

in HDF_SD_ADDDATA procedure, 50in HDF_SD_GETDATA procedure, 51in NCDF_VARGET procedure, 63in NCDF_VARPUT procedure, 64

STRING() function, 13, 26, 85

STRING keywordin HDF_SD_CREATE() function, 50in INDGEN() function, 56in MAKE_ARRAY() function, 61

STRJOIN() function, 26, 85STRLEN() function, 26, 86STRLOWCASE() function, 86STRLOWERCASE() function, 26STRMATCH() function, 86STRMID() function, 26, 86STRPOS() function, 26, 86STRPUT procedure, 86STRPUT() function, 26STRSPLIT() function, 26, 86STRTOK() function, 26, 86STRTRIM() function, 26, 87STRUCT_ALIGN_BYTES keyword

in CALL_EXTERNAL() function, 36STRUCT_ASSIGN procedure, 87STRUCT_ASSIGNprocedure, 15STRUCTURE_NAME keyword

in HELPFORM() function, 52in TAG_NAMES() function, 88

STRUCTURE keywordin MEMORY() function, 62in SIZE() function, 84

STRUCTURES keywordin HELP procedure, 52

STRUPCASE() function, 26, 87STUDENT keyword

in LMGR() function, 57SUB_RECT keyword

in MAGICK_READ() function, 61in READ_TIFF() function, 71

SUBDIRECTORY keywordin FILEPATH() function, 44

SUBEXPR keywordin STREGEX() function, 85

SUBSCRIPT_MAX keywordin MIN() function, 62

SUBSCRIPT_MIN keyword

Page 123: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT 123

in MAX() function, 62SUBTITLE keyword

in AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

SUM_OF_SQUARES keywordin IMAGE_STATISTICS procedure, 53

SUPERCLASS keywordin OBJ_CLASS() function, 64

SURFACE procedure, 87SURFACEprocedure, 23SVDC procedure, 88SVDCprocedure, 19SWAP_ENDIAN() function, 19, 21, 88SWAP_ENDIAN_INPLACE procedure, 88SWAP_ENDIAN_INPLACEprocedure, 19, 21SWAP_ENDIAN keyword

in OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66in SOCKET procedure, 84

SWAP_IF_BIG_ENDIAN keywordin BYTEORDER procedure, 36in OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66in SOCKET procedure, 84in SWAP_ENDIAN() function, 88in SWAP_ENDIAN_INPLACE procedure, 88

SWAP_IF_LITTLE_ENDIAN keywordin BYTEORDER procedure, 36in OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66in SOCKET procedure, 84in SWAP_ENDIAN() function, 88in SWAP_ENDIAN_INPLACE procedure, 88

SWITCH, 13SYMLINK keyword

in FILE_TEST() function, 45

SYMSIZE keywordin OPLOT procedure, 66in PLOT procedure, 67in PLOTS procedure, 67

SYNC keywordin NCDF_CONTROL procedure, 63

SYSTEM keywordin ROUTINE_INFO() function, 72

SYSTIME() function, 27, 88

T3D keywordin AXIS procedure, 35in CONTOUR procedure, 39in CONVERT_COORD() function, 40in OPLOT procedure, 66in PLOTS procedure, 67in SURFACE procedure, 87

T_PDF() function, 19, 89TAB_MODE keyword

in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

TAG_NAMES() function, 15, 88TAG keyword

in HDF_VD_GET procedure, 51in HDF_VG_GETINFO procedure, 51

TAGFORM keywordin HELPFORM() function, 52

TAN() function, 19, 88TANH() function, 19, 88TEMPLATE procedure, 88TEMPLATE_BLANK procedure, 89TEMPLATE keyword

in READ_ASCII() function, 71in READ_BINARY() function, 71

TEMPORARY() function, 12, 13, 17, 89TERMINAL keyword

in FILEPATH() function, 44TEST procedure, 89TEST keyword

in APPLEMAN procedure, 33in CONGRID() function, 39in DERIV() function, 41in DIALOG_PICKFILE() function, 42in ESCAPE_SPECIAL_CHAR() function, 43in FILE_COPY procedure, 44in FILE_DELETE procedure, 44in FILE_WHICH() function, 45in FINDFILE() function, 45in IDL_VALIDNAME() function, 53in IMAGE_STATISTICS procedure, 53in PATH_SEP() function, 67in PLOTERR procedure, 67in READ_ASCII() function, 71in READ_GIF procedure, 71in READ_JPEG procedure, 71in READ_PNG() function, 71in SAVE procedure, 75in SKIP_LUN procedure, 84in SMOOTH() function, 84in STR_SEP() function, 87in STRSPLIT() function, 86in WRITE_BMP procedure, 92in WRITE_GIF procedure, 92in WRITE_JPEG procedure, 92in WRITE_PICT procedure, 92in WRITE_PNG procedure, 92

THEN, 12THETA keyword

in RADON() function, 70THICK keyword

in AXIS procedure, 35in CONTOUR procedure, 39in OPLOT procedure, 66in PLOT procedure, 67in PLOTS procedure, 67in POLYFILL procedure, 67in SURFACE procedure, 87in USERSYM procedure, 90

TICKLEN keywordin AXIS procedure, 35

Page 124: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT124 Subject Index

in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

TITLE keywordin CONTOUR procedure, 39in DIALOG_MESSAGE() function, 42in DIALOG_PICKFILE() function, 42in PLOT procedure, 67in PM procedure, 67in PY_PLOT procedure, 69in SURFACE procedure, 87in WIDGET_BASE() function, 91in WIDGET_DROPLIST() function, 91in WINDOW procedure, 92

TLB_FRAME_ATTR keywordin WIDGET_BASE() function, 91

TLB_ICONIFY_EVENTS keywordin WIDGET_BASE() function, 91

TLB_KILL_REQUEST_EVENTS keywordin WIDGET_BASE() function, 91

TLB_MOVE_EVENTS keywordin WIDGET_BASE() function, 91

TLB_SIZE_EVENTS keywordin WIDGET_BASE() function, 91

TMP keywordin FILEPATH() function, 44

TNAME keywordin SIZE() function, 84

TO_DATA keywordin CONVERT_COORD() function, 40

TO_DEVICE keywordin CONVERT_COORD() function, 40

TO_NORMAL keywordin CONVERT_COORD() function, 40

TOLF keywordin BROYDEN() function, 35in NEWTON() function, 64

TOLX keywordin BROYDEN() function, 35in NEWTON() function, 64

TOOLBAR keyword

in WIDGET_BASE() function, 91TOOLTIP keyword

in WIDGET_BUTTON() function, 91TOP keyword

in BYTSCL() function, 36TOTAL() function, 18, 89TPOOL_MAX_ELTS keyword

in CPU procedure, 41TPOOL_MIN_ELTS keyword

in CPU procedure, 41TPOOL_NTHREADS keyword

in CPU procedure, 41TRACE() function, 18, 89TRACEBACK keyword

in MESSAGE procedure, 62TRACKING_EVENTS keyword

in WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

TRANSFER_COUNT keywordin READU procedure, 70in SKIP_LUN procedure, 84in WRITEU procedure, 92

TRANSFORM keywordin MAP_CLIP_SET procedure, 61

TRANSPARENT keywordin READ_PNG() function, 71in WRITE_GIF procedure, 92in WRITE_PNG procedure, 92

TRANSPOSE() function, 15, 18, 89TRIAL keyword

in LMGR() function, 57trigonometric functions, 18TRIGRID() function, 19, 89TRIM keyword

in STR_SEP() function, 87TRUE keyword

in READ_JPEG procedure, 71in TV procedure, 89

in TVRD() function, 89in WRITE_JPEG procedure, 92

TRUECOLOR keywordin MAGICK_QUANTIZE procedure, 61

TT_FONT keywordin SHOWFONT procedure, 75

TV procedure, 89TV() function, 23TVLCT procedure, 89TVLCT() function, 23TVprocedure, 15, 67TVRD() function, 23, 67, 89TVSCL procedure, 89TVSCL() function, 23TWO_PASS_QUANTIZE keyword

in READ_JPEG procedure, 71TYPE keyword

in FIX() function, 46in HDF_SD_ATTRINFO procedure, 50in HDF_SD_GETINFO procedure, 51in INDGEN() function, 56in MAGICK_PING() function, 60in MAKE_ARRAY() function, 61in PLOTERR procedure, 67in SIZE() function, 84

UI_VALUE keywordin CALL_EXTERNAL() function, 36

UINDGEN() function, 13, 15, 89UINT() function, 12, 13, 90UINT keyword

in INDGEN() function, 56in MAKE_ARRAY() function, 61

UINTARR() function, 13, 15, 90UL64_VALUE keyword

in CALL_EXTERNAL() function, 36UL64 keyword

in FACTORIAL() function, 43in INDGEN() function, 56in MAKE_ARRAY() function, 61

UL64INDGEN() function, 13, 15, 90

Page 125: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT 125

UL_VALUE keywordin CALL_EXTERNAL() function, 36

ULINDGEN() function, 13, 15, 90ULON64ARR() function, 13, 15, 90ULONARR() function, 13, 15, 90ULONG() function, 12, 13, 90ULONG64() function, 12, 13, 90ULONG keyword

in INDGEN() function, 56in MAKE_ARRAY() function, 61

UNAME keywordin WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

UNIFORM keywordin RANDOMN() function, 70in RANDOMU() function, 70

UNIFORMNOISE keywordin MAGICK_ADDNOISE procedure, 59in MAGICK_PING() function, 60

UNIQ() function, 15, 18, 26, 90UNIT keyword

in HDF_SD_GETINFO procedure, 51in READ_JPEG procedure, 71in SPAWN procedure, 84in WRITE_JPEG procedure, 92

UNITS keywordin WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

UNLIMITED keywordin NCDF_DIMDEF() function, 63

UNLOAD keywordin CALL_EXTERNAL() function, 36

UNTIL, 14UP keyword

in CURSOR procedure, 41

UPPER keywordin LA_TRIRED procedure, 56

USER_INPUT keywordin WRITE_GIF procedure, 92

USERSYM procedure, 90USEUNIT keyword

in SAVE procedure, 75UTC keyword

in SYSTIME() function, 88UVALUE keyword

in WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

VALID keywordin WIDGET_INFO() function, 91

VALUE_LOCATE() function, 19, 90VALUE keyword

in CALL_EXTERNAL() function, 36in MAKE_ARRAY() function, 61in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

VARIABLES keywordin ROUTINE_NAMES() function, 73

VARIANCE() function, 19, 90VARIANCE keyword

in IMAGE_STATISTICS procedure, 53VARSTATUS keyword

in SAVE procedure, 75VAX_FLOAT keyword

in OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66

VECTOR_ENABLE keywordin CPU procedure, 41

VECTOR keywordin IMAGE_STATISTICS procedure, 53

VERBOSE keywordin DIALOG_PICKFILE() function, 42in ESCAPE_SPECIAL_CHAR() function, 43in FILE_COPY procedure, 44in FILE_DELETE procedure, 44in FINDFILE() function, 45in HEAP_GC procedure, 52in IMAGE_STATISTICS procedure, 53in NCDF_CONTROL procedure, 63in READ_ASCII() function, 71in READ_PNG() function, 71in READ_TIFF() function, 71in RESTORE procedure, 72in SAVE procedure, 75in SMOOTH() function, 84in STRUCT_ASSIGN procedure, 87in WRITE_PNG procedure, 92

VERSION keywordin WIDGET_INFO() function, 91

VM keywordin LMGR() function, 57

VOIGT() function, 19, 90

WAIT procedure, 90WAIT keyword

in CURSOR procedure, 41WAITprocedure, 25WDELETE procedure, 91WDELETEprocedure, 23WEIGHT_SUM keyword

in IMAGE_STATISTICS procedure, 53WEIGHTED keyword

in IMAGE_STATISTICS procedure, 53WHERE() function, 15, 34, 91WHILE, 14WIDGET_BASE() function, 30, 91WIDGET_BUTTON() function, 30, 91WIDGET_CONTROL procedure, 91WIDGET_CONTROLprocedure, 30WIDGET_DROPLIST() function, 30, 91WIDGET_EVENT() function, 30, 91

Page 126: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT126 Subject Index

WIDGET_INFO() function, 30, 91WIDGET_LABEL() function, 30, 92WIDGET_TEXT() function, 30, 92WIDTH keyword

in HELPFORM() function, 52in OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66in SOCKET procedure, 84in XYOUTS procedure, 93

WINDOW procedure, 92WINDOW_STATE keyword

in DEVICE procedure, 41WINDOWprocedure, 23WORDS keyword

in TVRD() function, 89WRAP keyword

in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

WRITE_BMP procedure, 92WRITE_BMPprocedure, 28WRITE_GIF procedure, 92WRITE_JPEG procedure, 92WRITE_JPEGprocedure, 28WRITE_PICT procedure, 92WRITE_PICTprocedure, 28WRITE_PNG procedure, 92WRITE_PNGprocedure, 28, 73WRITE_TIMEOUT keyword

in SOCKET procedure, 84WRITE keyword

in DIALOG_PICKFILE() function, 42in FILE_TEST() function, 45in HDF_OPEN() function, 50in HDF_VD_ATTACH() function, 51in HDF_VG_ATTACH() function, 51in NCDF_OPEN() function, 63

WRITEprocedure, 21WRITEU procedure, 92WSET procedure, 92WSETprocedure, 23

WSHOW procedure, 92WSHOWprocedure, 23WTN() function, 20, 93

X_BITMAP_EXTRA keywordin WIDGET_BUTTON() function, 91

X_SCROLL_SIZE keywordin WIDGET_BASE() function, 91

XAXIS keywordin AXIS procedure, 35

XCHARSIZE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

XDR keywordin OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66in SAVE procedure, 75

XDRTOD keywordin BYTEORDER procedure, 36

XDRTOF keywordin BYTEORDER procedure, 36

XGRIDSTYLE keywordin AXIS procedure, 35in CONTOUR procedure, 39in SURFACE procedure, 87

XGUESS keywordin IMSL_ZEROSYS() function, 56

XLABEL keywordin PY_PLOT procedure, 69

XLOG keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in PLOTERR procedure, 67in SURFACE procedure, 87

XMANAGER_ACTIVE_COMMAND keywordin WIDGET_CONTROL procedure, 91

XMANAGER_BLOCK keyword

in WIDGET_EVENT() function, 91in WIDGET_INFO() function, 91

XMARGIN keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

XMIN keywordin RADON() function, 70

XMINOR keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

XOFFSET keywordin DEVICE procedure, 41in WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

XPAD keywordin WIDGET_BASE() function, 91

XPOS keywordin WINDOW procedure, 92

XRANGE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in PLOTERR procedure, 67in SURFACE procedure, 87

XSIZE keywordin APPLEMAN procedure, 33in DEVICE procedure, 41in TV procedure, 89in WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92in WINDOW procedure, 92

Page 127: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT 127

XSTYLE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

XTHICK keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

XTICK_GET keywordin CONTOUR procedure, 39in SURFACE procedure, 87

XTICKFORMAT keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

XTICKINTERVAL keywordin AXIS procedure, 35in SURFACE procedure, 87

XTICKLAYOUT keywordin SURFACE procedure, 87

XTICKLEN keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

XTICKNAME keywordin AXIS procedure, 35in CONTOUR procedure, 39in SURFACE procedure, 87

XTICKS keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

XTICKUNITS keywordin SURFACE procedure, 87

XTICKV keywordin CONTOUR procedure, 39

in SURFACE procedure, 87XTITLE keyword

in AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

XTYPE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

XYOUTS procedure, 93XYOUTSprocedure, 23

Y_SCROLL_SIZE keywordin WIDGET_BASE() function, 91

YAXIS keywordin AXIS procedure, 35

YCHARSIZE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

YGRIDSTYLE keywordin AXIS procedure, 35in CONTOUR procedure, 39in SURFACE procedure, 87

YLABEL keywordin PY_PLOT procedure, 69

YLOG keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in PLOTERR procedure, 67in SURFACE procedure, 87

YMARGIN keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

YMIN keyword

in RADON() function, 70YMINOR keyword

in AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

YNOZERO keywordin AXIS procedure, 35in PLOT procedure, 67

YOFFSET keywordin DEVICE procedure, 41in WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

YP0 keywordin SPL_INIT() function, 84in SPL_INIT_OLD() function, 84

YPAD keywordin WIDGET_BASE() function, 91

YPN_1 keywordin SPL_INIT() function, 84in SPL_INIT_OLD() function, 84

YPOS keywordin WINDOW procedure, 92

YRANGE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in PLOTERR procedure, 67in SURFACE procedure, 87

YSIZE keywordin APPLEMAN procedure, 33in DEVICE procedure, 41in TV procedure, 89in WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92

Page 128: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT128 Subject Index

in WINDOW procedure, 92YSTYLE keyword

in AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

YTHICK keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

YTICK_GET keywordin CONTOUR procedure, 39in SURFACE procedure, 87

YTICKFORMAT keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

YTICKINTERVAL keywordin AXIS procedure, 35in SURFACE procedure, 87

YTICKLAYOUT keywordin SURFACE procedure, 87

YTICKLEN keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

YTICKNAME keywordin AXIS procedure, 35in CONTOUR procedure, 39in SURFACE procedure, 87

YTICKS keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

YTICKUNITS keywordin SURFACE procedure, 87

YTICKV keyword

in CONTOUR procedure, 39in SURFACE procedure, 87

YTITLE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

YTYPE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

YUV keywordin MAGICK_QUANTIZE procedure, 61

Z_BUFFERING keywordin DEVICE procedure, 41

Z keywordin XYOUTS procedure, 93

ZCHARSIZE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

ZENITY_NAME keywordin DIALOG_MESSAGE() function, 42in DIALOG_PICKFILE() function, 42

ZENITY_PATH keywordin DIALOG_MESSAGE() function, 42in DIALOG_PICKFILE() function, 42

ZENITY_SEP keywordin DIALOG_PICKFILE() function, 42

ZERO_LENGTH keywordin FILE_TEST() function, 45

ZGRIDSTYLE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

ZLOG keywordin CONTOUR procedure, 39

in SURFACE procedure, 87ZMARGIN keyword

in AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

ZMINOR keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

ZRANGE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

ZSTYLE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

ZTHICK keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

ZTICK_GET keywordin CONTOUR procedure, 39in SURFACE procedure, 87

ZTICKFORMAT keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

ZTICKINTERVAL keywordin SURFACE procedure, 87

ZTICKLAYOUT keywordin SURFACE procedure, 87

ZTICKLEN keywordin AXIS procedure, 35in CONTOUR procedure, 39

Page 129: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFT 129

in PLOT procedure, 67in SURFACE procedure, 87

ZTICKNAME keywordin AXIS procedure, 35in CONTOUR procedure, 39in SURFACE procedure, 87

ZTICKS keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67

in SURFACE procedure, 87ZTICKUNITS keyword

in SURFACE procedure, 87ZTICKV keyword

in CONTOUR procedure, 39in SURFACE procedure, 87

ZTITLE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67

in SURFACE procedure, 87ZTYPE keyword

in CONTOUR procedure, 39in SURFACE procedure, 87

ZVALUE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87

Page 130: GDL documentation - GDL - GNU Data Languagegnudatalanguage.sourceforge.net/gdl.pdf · DRAFT GDL–GNUDataLanguage a free/libre/open-source implementation of IDL/PV-WAVE* developed

DRAFT

DRAFTBibliography

[1] Fundation, F. S.: GNU General Public License, version 2, URL http://www.gnu.org/licenses/old-licenses/gpl-2.0.html, 1991.

[2] Galassi, M., Davies, J., Theiler, J., Gough, B., Jungman, G., Alken, P., Booth, M., andRossi, F.: GNU Scientific Library Reference Manual - Third Edition (v1.12), NetworkTheory Ltd., URL http://www.gnu.org/software/gsl/manual/, 2009. {7}

[3] Markwardt, C.: Non-linear Least-squares Fitting in IDL with MPFIT, in: AstronomicalSociety of the Pacific Conference Series, edited by Bohlender, D., Durand, D., andDowler, P., vol. 411 of Astronomical Society of the Pacific Conference Series, URLhttp://cdsads.u-strasbg.fr/abs/2009ASPC..411..251M, 2009. {19}

[4] Paoli, S.: C++ Coding Standard Specification, Tech. rep., CERN European Labo-ratory for Particle Physics, URL http://pst.web.cern.ch/PST/HandBookWorkBook/Handbook/Programming/CodingStandard/c++standard.pdf, 2000. {95}

[5] Snyder, J.: Map projections–A working manual, Tech. Rep. 1395, U.S. Geological Survey,URL http://pubs.er.usgs.gov/djvu/PP/pp_1395.djvu, 1987. {57}

[6] van Rossum, G. and Fred L. Drake, J.: The Python Language Reference Manual, NetworkTheory Ltd., URL http://docs.python.org/reference/, 2006. {32}

[7] Wessel, P. and Smith, W. H. F.: A global, self-consistent, hierarchical, high-resolutionshoreline database, J. Geophys. Res., 101, 8741–8743, doi:10.1029/96JB00104, 1996.{61}

[8] Wolcott, N. and Hilsenrath, J.: Tables of coordinates for Hershey’s repertory of occidentaltype fonts and graphic symbols. A contribution to computer typesetting techniques., NBSspecial publication 424, National Bureau of Standards, 1975. {24}