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
August 24, 2011* IDL (Interactive Data Language) and PV-WAVE (Precision Visuals - Workstation Analysis and Visualization Environment)
are/were registered trademarks of Research Systems, Inc./ITT Visual Information Solutions and Precision Visuals/Visual Numerics/Rogue Wave Software, respectively
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 . . . . . . . . . . . . . . . . . . . . 18Statistics . . . . . . . . . . . . . . . . . . . . . . 18Interpolation . . . . . . . . . . . . . . . . . . . . 18Polynomials . . . . . . . . . . . . . . . . . . . . . 18Geometric calculations . . . . . . . . . . . . . . . 19Bitwise operations . . . . . . . . . . . . . . . . . 19Function fitting . . . . . . . . . . . . . . . . . . . 19Fourier analysis . . . . . . . . . . . . . . . . . . . 19Multidimensional root-finding . . . . . . . . . . . 19Random numbers . . . . . . . . . . . . . . . . . . 19Ordinary differential equations . . . . . . . . . . . 19Wavelet analysis . . . . . . . . . . . . . . . . . . 19Mathematical and physical constants . . . . . . . 19
Chapter 5. Input/output, supported data formats 20Basics – accessing files and io streams . . . . . . . 20ASCII . . . . . . . . . . . . . . . . . . . . . . . . 20CSV . . . . . . . . . . . . . . . . . . . . . . . . . 20Binary data (raw access) . . . . . . . . . . . . . . 20FITS . . . . . . . . . . . . . . . . . . . . . . . . . 20netCDF . . . . . . . . . . . . . . . . . . . . . . . 20HDF4 . . . . . . . . . . . . . . . . . . . . . . . . 20HDF5 . . . . . . . . . . . . . . . . . . . . . . . . 20raster images (TIFF, PNG, JPEG, . . . ) . . . . . . 21DICOM . . . . . . . . . . . . . . . . . . . . . . . 21GRIB . . . . . . . . . . . . . . . . . . . . . . . . 21IDL save files . . . . . . . . . . . . . . . . . . . . 21
Chapter 6. Plotting and mapping . . . . . . . . . 222D plots . . . . . . . . . . . . . . . . . . . . . . . 223D plots . . . . . . . . . . . . . . . . . . . . . . . 22Plotting raster data . . . . . . . . . . . . . . . . . 22Managing multiple windows . . . . . . . . . . . . 22Map projections . . . . . . . . . . . . . . . . . . . 22Output terminals . . . . . . . . . . . . . . . . . . 22Working with colours . . . . . . . . . . . . . . . . 22Fonts, symbols and text formatting . . . . . . . . 23
Misc . . . . . . . . . . . . . . . . . . . . . . . . . 23Chapter 7. Interaction with host OS . . . . . . . . 24
Executing external commands (via shell or not) . . 24Filesystem operations . . . . . . . . . . . . . . . . 24Network operations . . . . . . . . . . . . . . . . . 24Command-line options and environmental variables 24
Chapter 8. Manipulating strings . . . . . . . . . . 25Chapter 9. Representing date & time . . . . . . . 26Chapter 10. Image processing . . . . . . . . . . . 27Chapter 11. Parallel processing . . . . . . . . . . . 28
Built-in features (OpenMP) . . . . . . . . . . . . 28Semaphores and shared memory (library routines) . 28ImageMagick’s features . . . . . . . . . . . . . . . 28MPI and GDL . . . . . . . . . . . . . . . . . . . . 28
Chapter 12. GUI programming (widgets) . . . . . 29Chapter 13. Dynamic loading . . . . . . . . . . . . 30Chapter 14. The Python bridge . . . . . . . . . . 31
calling Python code from GDL . . . . . . . . . . . 31calling GDL code from Python . . . . . . . . . . . 31
Chapter 15. Alphabetical list of library routines . 32ABS() function . . . . . . . . . . . . . . . . . . . 32ACOS() function . . . . . . . . . . . . . . . . . . 32ALOG() function . . . . . . . . . . . . . . . . . . 32ALOG10() function . . . . . . . . . . . . . . . . . 32APPLEMAN procedure . . . . . . . . . . . . . . . 32ARG_PRESENT() function . . . . . . . . . . . . 32ARRAY_EQUAL() function . . . . . . . . . . . . 32ARRAY_INDICES() function . . . . . . . . . . . . 32ASIN() function . . . . . . . . . . . . . . . . . . . 33ASSOC() function . . . . . . . . . . . . . . . . . 33ATAN() function . . . . . . . . . . . . . . . . . . 33AXIS procedure . . . . . . . . . . . . . . . . . . . 33BESELI() function . . . . . . . . . . . . . . . . . 33BESELJ() function . . . . . . . . . . . . . . . . . 33BESELK() function . . . . . . . . . . . . . . . . . 33BESELY() function . . . . . . . . . . . . . . . . . 33BETA() function . . . . . . . . . . . . . . . . . . 33BINDGEN() function . . . . . . . . . . . . . . . . 33
DRAFT
DRAFTContents 3
BROYDEN() function . . . . . . . . . . . . . . . 33BYTARR() function . . . . . . . . . . . . . . . . 33BYTE() function . . . . . . . . . . . . . . . . . . 34BYTEORDER procedure . . . . . . . . . . . . . . 34BYTSCL() function . . . . . . . . . . . . . . . . . 34CALDAT procedure . . . . . . . . . . . . . . . . . 34CALENDAR procedure . . . . . . . . . . . . . . . 34CALL_EXTERNAL() function . . . . . . . . . . . 34CALL_FUNCTION() function . . . . . . . . . . . 36CALL_METHOD procedure . . . . . . . . . . . . 36CALL_METHOD() function . . . . . . . . . . . . 36CALL_PROCEDURE procedure . . . . . . . . . . 36CATCH procedure . . . . . . . . . . . . . . . . . 36CD procedure . . . . . . . . . . . . . . . . . . . . 36CDF_EPOCH procedure . . . . . . . . . . . . . . 36CEIL() function . . . . . . . . . . . . . . . . . . . 37CHECK_MATH() function . . . . . . . . . . . . . 37CINDGEN() function . . . . . . . . . . . . . . . . 37CLOSE procedure . . . . . . . . . . . . . . . . . . 37COMMAND_LINE_ARGS() function . . . . . . . 37COMPLEX() function . . . . . . . . . . . . . . . 37COMPLEXARR() function . . . . . . . . . . . . . 37CONJ() function . . . . . . . . . . . . . . . . . . 37CONTOUR procedure . . . . . . . . . . . . . . . 37CONVERT_COORD() function . . . . . . . . . . 37CONVOL() function . . . . . . . . . . . . . . . . 38CORRELATE() function . . . . . . . . . . . . . . 38COS() function . . . . . . . . . . . . . . . . . . . 38COSH() function . . . . . . . . . . . . . . . . . . 38CPU procedure . . . . . . . . . . . . . . . . . . . 39CREATE_STRUCT() function . . . . . . . . . . . 39CROSSP() function . . . . . . . . . . . . . . . . . 39CURSOR procedure . . . . . . . . . . . . . . . . . 39DBLARR() function . . . . . . . . . . . . . . . . 39DCINDGEN() function . . . . . . . . . . . . . . . 39DCOMPLEX() function . . . . . . . . . . . . . . 39DCOMPLEXARR() function . . . . . . . . . . . . 39DEFSYSV procedure . . . . . . . . . . . . . . . . 39DERIV() function . . . . . . . . . . . . . . . . . . 39DEVICE procedure . . . . . . . . . . . . . . . . . 39DIALOG_MESSAGE() function . . . . . . . . . . 39
DIALOG_PICKFILE() function . . . . . . . . . . 40DINDGEN() function . . . . . . . . . . . . . . . . 40DIST() function . . . . . . . . . . . . . . . . . . . 40DOUBLE() function . . . . . . . . . . . . . . . . 40EOF() function . . . . . . . . . . . . . . . . . . . 40ERASE procedure . . . . . . . . . . . . . . . . . . 40ERF() function . . . . . . . . . . . . . . . . . . . 40ERFC() function . . . . . . . . . . . . . . . . . . 41ERRORF() function . . . . . . . . . . . . . . . . 41ESCAPE_SPECIAL_CHAR() function . . . . . . 41EXECUTE() function . . . . . . . . . . . . . . . . 41EXIT procedure . . . . . . . . . . . . . . . . . . . 41EXP() function . . . . . . . . . . . . . . . . . . . 41EXPAND_PATH() function . . . . . . . . . . . . 41EXPINT() function . . . . . . . . . . . . . . . . . 41FACTORIAL() function . . . . . . . . . . . . . . . 41FFT() function . . . . . . . . . . . . . . . . . . . 42FILEPATH() function . . . . . . . . . . . . . . . . 42FILE_BASENAME() function . . . . . . . . . . . 42FILE_COPY procedure . . . . . . . . . . . . . . . 42FILE_DELETE procedure . . . . . . . . . . . . . 42FILE_DIRNAME() function . . . . . . . . . . . . 43FILE_EXPAND_PATH() function . . . . . . . . . 43FILE_INFO() function . . . . . . . . . . . . . . . 43FILE_LINES() function . . . . . . . . . . . . . . . 43FILE_MKDIR procedure . . . . . . . . . . . . . . 43FILE_SAME() function . . . . . . . . . . . . . . . 43FILE_SEARCH() function . . . . . . . . . . . . . 43FILE_TEST() function . . . . . . . . . . . . . . . 43FILE_WHICH() function . . . . . . . . . . . . . . 43FINDEX() function . . . . . . . . . . . . . . . . . 43FINDFILE() function . . . . . . . . . . . . . . . . 43FINDGEN() function . . . . . . . . . . . . . . . . 44FINITE() function . . . . . . . . . . . . . . . . . 44FIX() function . . . . . . . . . . . . . . . . . . . 44FLOAT() function . . . . . . . . . . . . . . . . . 44FLOOR() function . . . . . . . . . . . . . . . . . 44FLTARR() function . . . . . . . . . . . . . . . . . 44FLUSH procedure . . . . . . . . . . . . . . . . . . 44FREE_LUN procedure . . . . . . . . . . . . . . . 44FSTAT() function . . . . . . . . . . . . . . . . . . 44
GAMMA() function . . . . . . . . . . . . . . . . . 44GAUSSINT() function . . . . . . . . . . . . . . . 44GAUSS_CVF() function . . . . . . . . . . . . . . 44GAUSS_PDF() function . . . . . . . . . . . . . . 44GDL_ERFINV() function . . . . . . . . . . . . . . 45GETENV() function . . . . . . . . . . . . . . . . 45GET_DRIVE_LIST() function . . . . . . . . . . . 45GET_KBRD() function . . . . . . . . . . . . . . . 45GET_LOGIN_INFO() function . . . . . . . . . . 45GET_LUN procedure . . . . . . . . . . . . . . . . 45GET_SCREEN_SIZE() function . . . . . . . . . . 45GRIBAPI_CLONE() function . . . . . . . . . . . 45GRIBAPI_CLOSE_FILE procedure . . . . . . . . 45GRIBAPI_COUNT_IN_FILE() function . . . . . . 45GRIBAPI_GET procedure . . . . . . . . . . . . . 45GRIBAPI_GET_DATA procedure . . . . . . . . . 45GRIBAPI_GET_SIZE() function . . . . . . . . . . 46GRIBAPI_NEW_FROM_FILE() function . . . . . 46GRIBAPI_OPEN_FILE() function . . . . . . . . . 46GRIBAPI_RELEASE procedure . . . . . . . . . . 46GSL_EXP() function . . . . . . . . . . . . . . . . 46H5A_CLOSE procedure . . . . . . . . . . . . . . 46H5A_GET_NAME() function . . . . . . . . . . . 46H5A_GET_NUM_ATTRS() function . . . . . . . 46H5A_GET_SPACE() function . . . . . . . . . . . 46H5A_GET_TYPE() function . . . . . . . . . . . 46H5A_OPEN_IDX() function . . . . . . . . . . . . 46H5A_OPEN_NAME() function . . . . . . . . . . 46H5A_READ() function . . . . . . . . . . . . . . . 46H5D_CLOSE procedure . . . . . . . . . . . . . . 46H5D_GET_SPACE() function . . . . . . . . . . . 47H5D_GET_TYPE() function . . . . . . . . . . . 47H5D_OPEN() function . . . . . . . . . . . . . . . 47H5D_READ() function . . . . . . . . . . . . . . . 47H5F_CLOSE procedure . . . . . . . . . . . . . . 47H5F_IS_HDF5() function . . . . . . . . . . . . . 47H5F_OPEN() function . . . . . . . . . . . . . . . 47H5G_CLOSE procedure . . . . . . . . . . . . . . 47H5G_OPEN() function . . . . . . . . . . . . . . . 47H5S_CLOSE procedure . . . . . . . . . . . . . . 47H5S_GET_SIMPLE_EXTENT_DIMS() function . 47
DRAFT
DRAFT4 Contents
H5T_CLOSE procedure . . . . . . . . . . . . . . 47H5T_GET_SIZE() function . . . . . . . . . . . . 47H5_GET_LIBVERSION() function . . . . . . . . 48HDF_CLOSE procedure . . . . . . . . . . . . . . 48HDF_OPEN() function . . . . . . . . . . . . . . . 48HDF_SD_ADDDATA procedure . . . . . . . . . . 48HDF_SD_ATTRFIND() function . . . . . . . . . 48HDF_SD_ATTRINFO procedure . . . . . . . . . 48HDF_SD_CREATE() function . . . . . . . . . . . 48HDF_SD_DIMGET procedure . . . . . . . . . . . 48HDF_SD_DIMGETID() function . . . . . . . . . 48HDF_SD_END procedure . . . . . . . . . . . . . 48HDF_SD_ENDACCESS procedure . . . . . . . . 48HDF_SD_FILEINFO procedure . . . . . . . . . . 48HDF_SD_GETDATA procedure . . . . . . . . . . 49HDF_SD_GETINFO procedure . . . . . . . . . . 49HDF_SD_NAMETOINDEX() function . . . . . . 49HDF_SD_SELECT() function . . . . . . . . . . . 49HDF_SD_START() function . . . . . . . . . . . 49HDF_VD_ATTACH() function . . . . . . . . . . 49HDF_VD_DETACH procedure . . . . . . . . . . 49HDF_VD_FIND() function . . . . . . . . . . . . 49HDF_VD_GET procedure . . . . . . . . . . . . . 49HDF_VD_READ() function . . . . . . . . . . . . 49HDF_VG_ATTACH() function . . . . . . . . . . 49HDF_VG_DETACH procedure . . . . . . . . . . . 49HDF_VG_GETID() function . . . . . . . . . . . . 49HDF_VG_GETINFO procedure . . . . . . . . . . 49HDF_VG_GETTRS procedure . . . . . . . . . . . 50HEAP_GC procedure . . . . . . . . . . . . . . . . 50HELP procedure . . . . . . . . . . . . . . . . . . 50HELPFORM() function . . . . . . . . . . . . . . . 50HISTOGRAM() function . . . . . . . . . . . . . . 50HIST_2D() function . . . . . . . . . . . . . . . . 50HIST_ND() function . . . . . . . . . . . . . . . . 50IDENTITY() function . . . . . . . . . . . . . . . 51IDL_BASE64() function . . . . . . . . . . . . . . 51IDL_VALIDNAME() function . . . . . . . . . . . 51IGAMMA() function . . . . . . . . . . . . . . . . 51IMAGINARY() function . . . . . . . . . . . . . . 51IMSL_BINOMIALCOEF() function . . . . . . . . 51
IMSL_CONSTANT() function . . . . . . . . . . . 52IMSL_ERF() function . . . . . . . . . . . . . . . 53IMSL_ZEROPOLY() function . . . . . . . . . . . 53IMSL_ZEROSYS() function . . . . . . . . . . . . 54INDGEN() function . . . . . . . . . . . . . . . . . 54INTARR() function . . . . . . . . . . . . . . . . . 54INTERPOL() function . . . . . . . . . . . . . . . 54INTERPOLATE() function . . . . . . . . . . . . . 54INVERT() function . . . . . . . . . . . . . . . . . 54ISHFT() function . . . . . . . . . . . . . . . . . . 54JOURNAL procedure . . . . . . . . . . . . . . . . 54KEYWORD_SET() function . . . . . . . . . . . . 54KURTOSIS() function . . . . . . . . . . . . . . . 54L64INDGEN() function . . . . . . . . . . . . . . . 54LAGUERRE() function . . . . . . . . . . . . . . . 54LAST_ITEM() function . . . . . . . . . . . . . . 54LA_TRIRED procedure . . . . . . . . . . . . . . . 54LEGENDRE() function . . . . . . . . . . . . . . . 55LINDGEN() function . . . . . . . . . . . . . . . . 55LINKIMAGE procedure . . . . . . . . . . . . . . . 55LL_ARC_DISTANCE() function . . . . . . . . . . 55LMGR() function . . . . . . . . . . . . . . . . . . 55LNGAMMA() function . . . . . . . . . . . . . . . 55LOADCT procedure . . . . . . . . . . . . . . . . 55LOADCT_INTERNALGDL procedure . . . . . . . 56LOCALE_GET() function . . . . . . . . . . . . . 56LOGICAL_AND() function . . . . . . . . . . . . . 57LOGICAL_OR() function . . . . . . . . . . . . . . 57LOGICAL_TRUE() function . . . . . . . . . . . . 57LON64ARR() function . . . . . . . . . . . . . . . 57LONARR() function . . . . . . . . . . . . . . . . 57LONG() function . . . . . . . . . . . . . . . . . . 57LONG64() function . . . . . . . . . . . . . . . . . 57LUDC procedure . . . . . . . . . . . . . . . . . . 57MACHAR() function . . . . . . . . . . . . . . . . 57MAGICK_ADDNOISE procedure . . . . . . . . . 57MAGICK_CLOSE procedure . . . . . . . . . . . . 57MAGICK_COLORMAPSIZE() function . . . . . . 57MAGICK_COLUMNS() function . . . . . . . . . . 58MAGICK_CREATE() function . . . . . . . . . . . 58MAGICK_DISPLAY procedure . . . . . . . . . . . 58
MAGICK_EXISTS() function . . . . . . . . . . . 58MAGICK_FLIP procedure . . . . . . . . . . . . . 58MAGICK_INDEXEDCOLOR() function . . . . . . 58MAGICK_INTERLACE procedure . . . . . . . . . 58MAGICK_MAGICK() function . . . . . . . . . . . 58MAGICK_MATTE procedure . . . . . . . . . . . 58MAGICK_OPEN() function . . . . . . . . . . . . 58MAGICK_PING() function . . . . . . . . . . . . . 58MAGICK_QUALITY procedure . . . . . . . . . . 58MAGICK_QUANTIZE procedure . . . . . . . . . 58MAGICK_READ() function . . . . . . . . . . . . 59MAGICK_READCOLORMAPRGB procedure . . . 59MAGICK_READINDEXES() function . . . . . . . 59MAGICK_ROWS() function . . . . . . . . . . . . 59MAGICK_WRITE procedure . . . . . . . . . . . . 59MAGICK_WRITECOLORTABLE procedure . . . . 59MAGICK_WRITEFILE procedure . . . . . . . . . 59MAGICK_WRITEINDEXES procedure . . . . . . 59MAKE_ARRAY() function . . . . . . . . . . . . . 59MAP_CLIP_SET procedure . . . . . . . . . . . . 59MAP_CONTINENTS procedure . . . . . . . . . . 59MAP_PROJ_FORWARD() function . . . . . . . 59MAP_PROJ_INVERSE() function . . . . . . . . 59MATRIX_MULTIPLY() function . . . . . . . . . . 60MAX() function . . . . . . . . . . . . . . . . . . . 60MEAN() function . . . . . . . . . . . . . . . . . . 60MEANABSDEV() function . . . . . . . . . . . . . 60MEDIAN() function . . . . . . . . . . . . . . . . 60MEMORY() function . . . . . . . . . . . . . . . . 60MESSAGE procedure . . . . . . . . . . . . . . . . 60MIN() function . . . . . . . . . . . . . . . . . . . 60MOMENT() function . . . . . . . . . . . . . . . . 60NCDF_ATTCOPY() function . . . . . . . . . . . 60NCDF_ATTDEL procedure . . . . . . . . . . . . 60NCDF_ATTGET procedure . . . . . . . . . . . . 60NCDF_ATTINQ() function . . . . . . . . . . . . 60NCDF_ATTNAME() function . . . . . . . . . . . 60NCDF_ATTPUT procedure . . . . . . . . . . . . 61NCDF_ATTRENAME procedure . . . . . . . . . . 61NCDF_CLOSE procedure . . . . . . . . . . . . . 61NCDF_CONTROL procedure . . . . . . . . . . . 61
DRAFT
DRAFTContents 5
NCDF_CREATE() function . . . . . . . . . . . . 61NCDF_DIMDEF() function . . . . . . . . . . . . 61NCDF_DIMID() function . . . . . . . . . . . . . 61NCDF_DIMINQ procedure . . . . . . . . . . . . . 61NCDF_DIMRENAME procedure . . . . . . . . . . 61NCDF_EXISTS() function . . . . . . . . . . . . . 61NCDF_INQUIRE() function . . . . . . . . . . . . 61NCDF_OPEN() function . . . . . . . . . . . . . . 61NCDF_VARDEF() function . . . . . . . . . . . . 61NCDF_VARGET procedure . . . . . . . . . . . . 62NCDF_VARGET1 procedure . . . . . . . . . . . . 62NCDF_VARID() function . . . . . . . . . . . . . 62NCDF_VARINQ() function . . . . . . . . . . . . 62NCDF_VARPUT procedure . . . . . . . . . . . . 62NCDF_VARRENAME procedure . . . . . . . . . . 62NEWTON() function . . . . . . . . . . . . . . . . 62NORM() function . . . . . . . . . . . . . . . . . . 62N_ELEMENTS() function . . . . . . . . . . . . . 62N_PARAMS() function . . . . . . . . . . . . . . . 62N_TAGS() function . . . . . . . . . . . . . . . . 62OBJARR() function . . . . . . . . . . . . . . . . 62OBJ_CLASS() function . . . . . . . . . . . . . . 63OBJ_DESTROY procedure . . . . . . . . . . . . 63OBJ_ISA() function . . . . . . . . . . . . . . . . 63OBJ_NEW() function . . . . . . . . . . . . . . . 63OBJ_VALID() function . . . . . . . . . . . . . . . 64ON_ERROR procedure . . . . . . . . . . . . . . . 64OPENR procedure . . . . . . . . . . . . . . . . . 64OPENU procedure . . . . . . . . . . . . . . . . . 64OPENW procedure . . . . . . . . . . . . . . . . . 64OPLOT procedure . . . . . . . . . . . . . . . . . 64PARSE_URL() function . . . . . . . . . . . . . . 65PATH_SEP() function . . . . . . . . . . . . . . . 65PLOT procedure . . . . . . . . . . . . . . . . . . 65PLOTERR procedure . . . . . . . . . . . . . . . . 65PLOTS procedure . . . . . . . . . . . . . . . . . 65PM procedure . . . . . . . . . . . . . . . . . . . . 65POINT_LUN procedure . . . . . . . . . . . . . . 66POLY() function . . . . . . . . . . . . . . . . . . 66POLYFILL procedure . . . . . . . . . . . . . . . . 66POLY_2D() function . . . . . . . . . . . . . . . . 66
POLY_AREA() function . . . . . . . . . . . . . . 66POPD procedure . . . . . . . . . . . . . . . . . . 66PREWITT() function . . . . . . . . . . . . . . . . 66PRIMES() function . . . . . . . . . . . . . . . . . 66PRINT procedure . . . . . . . . . . . . . . . . . . 66PRINTD procedure . . . . . . . . . . . . . . . . . 66PRINTF procedure . . . . . . . . . . . . . . . . . 66PRODUCT() function . . . . . . . . . . . . . . . 66PTRARR() function . . . . . . . . . . . . . . . . 66PTR_FREE procedure . . . . . . . . . . . . . . . 67PTR_NEW() function . . . . . . . . . . . . . . . 67PTR_VALID() function . . . . . . . . . . . . . . 67PUSHD procedure . . . . . . . . . . . . . . . . . 67PYTHON procedure . . . . . . . . . . . . . . . . 67PYTHON() function . . . . . . . . . . . . . . . . 67PY_PLOT procedure . . . . . . . . . . . . . . . . 67PY_PRINT procedure . . . . . . . . . . . . . . . 67QUERY_BMP() function . . . . . . . . . . . . . 67QUERY_DICOM() function . . . . . . . . . . . . 68QUERY_GIF() function . . . . . . . . . . . . . . 68QUERY_IMAGE() function . . . . . . . . . . . . 68QUERY_JPEG() function . . . . . . . . . . . . . 68QUERY_PICT() function . . . . . . . . . . . . . 68QUERY_PNG() function . . . . . . . . . . . . . . 68QUERY_PPM() function . . . . . . . . . . . . . 68QUERY_TIFF() function . . . . . . . . . . . . . . 68RADON() function . . . . . . . . . . . . . . . . . 68RANDOMN() function . . . . . . . . . . . . . . . 68RANDOMU() function . . . . . . . . . . . . . . . 68READ procedure . . . . . . . . . . . . . . . . . . 68READF procedure . . . . . . . . . . . . . . . . . 69READS procedure . . . . . . . . . . . . . . . . . 69READU procedure . . . . . . . . . . . . . . . . . 69READ_ASCII() function . . . . . . . . . . . . . . 69READ_BINARY() function . . . . . . . . . . . . 69READ_BMP() function . . . . . . . . . . . . . . 69READ_DICOM() function . . . . . . . . . . . . . 69READ_JPEG procedure . . . . . . . . . . . . . . 69READ_PICT procedure . . . . . . . . . . . . . . 69READ_PNG() function . . . . . . . . . . . . . . . 69READ_TIFF() function . . . . . . . . . . . . . . 69
READ_XWD() function . . . . . . . . . . . . . . 69REAL_PART() function . . . . . . . . . . . . . . 69REBIN() function . . . . . . . . . . . . . . . . . . 70RECALL_COMMANDS() function . . . . . . . . 70REFORM() function . . . . . . . . . . . . . . . . 70REPLICATE() function . . . . . . . . . . . . . . . 70REPLICATE_INPLACE procedure . . . . . . . . . 70RESOLVE_ROUTINE procedure . . . . . . . . . . 70RESTORE procedure . . . . . . . . . . . . . . . . 70RETALL procedure . . . . . . . . . . . . . . . . . 70REVERSE() function . . . . . . . . . . . . . . . . 70RK4() function . . . . . . . . . . . . . . . . . . . 70RK4JMG() function . . . . . . . . . . . . . . . . 70ROBERTS() function . . . . . . . . . . . . . . . . 70ROTATE() function . . . . . . . . . . . . . . . . 70ROUND() function . . . . . . . . . . . . . . . . . 71ROUTINE_INFO() function . . . . . . . . . . . . 71ROUTINE_NAMES() function . . . . . . . . . . . 71RSTRPOS() function . . . . . . . . . . . . . . . . 73SAVE procedure . . . . . . . . . . . . . . . . . . 73SCOPE_VARFETCH() function . . . . . . . . . . 73SEM_CREATE() function . . . . . . . . . . . . . 73SEM_DELETE procedure . . . . . . . . . . . . . 73SEM_LOCK() function . . . . . . . . . . . . . . . 73SEM_RELEASE procedure . . . . . . . . . . . . . 73SETENV procedure . . . . . . . . . . . . . . . . . 73SET_PLOT procedure . . . . . . . . . . . . . . . 73SHIFT() function . . . . . . . . . . . . . . . . . . 73SHOWFONT procedure . . . . . . . . . . . . . . 73SIN() function . . . . . . . . . . . . . . . . . . . 81SINDGEN() function . . . . . . . . . . . . . . . . 81SINH() function . . . . . . . . . . . . . . . . . . . 81SIZE() function . . . . . . . . . . . . . . . . . . . 82SKEWNESS() function . . . . . . . . . . . . . . . 82SKIP_LUN procedure . . . . . . . . . . . . . . . 82SMOOTH() function . . . . . . . . . . . . . . . . 82SOBEL() function . . . . . . . . . . . . . . . . . 82SOCKET procedure . . . . . . . . . . . . . . . . . 82SORT() function . . . . . . . . . . . . . . . . . . 82SPAWN procedure . . . . . . . . . . . . . . . . . 82SPHER_HARM() function . . . . . . . . . . . . . 82
DRAFT
DRAFT6 Contents
SPL_INIT() function . . . . . . . . . . . . . . . . 82SPL_INIT_OLD() function . . . . . . . . . . . . 82SPL_INTERP() function . . . . . . . . . . . . . . 82SPL_INTERP_OLD() function . . . . . . . . . . 82SQRT() function . . . . . . . . . . . . . . . . . . 83STDDEV() function . . . . . . . . . . . . . . . . 83STOP procedure . . . . . . . . . . . . . . . . . . 83STRARR() function . . . . . . . . . . . . . . . . 83STRCMP() function . . . . . . . . . . . . . . . . 83STRCOMPRESS() function . . . . . . . . . . . . 83STREGEX() function . . . . . . . . . . . . . . . . 83STRING() function . . . . . . . . . . . . . . . . . 83STRJOIN() function . . . . . . . . . . . . . . . . 83STRLEN() function . . . . . . . . . . . . . . . . . 84STRLOWCASE() function . . . . . . . . . . . . . 84STRMID() function . . . . . . . . . . . . . . . . . 84STRPOS() function . . . . . . . . . . . . . . . . . 84STRPUT procedure . . . . . . . . . . . . . . . . . 84STRSPLIT() function . . . . . . . . . . . . . . . . 84STRTOK() function . . . . . . . . . . . . . . . . 84STRTRIM() function . . . . . . . . . . . . . . . . 85STRUCT_ASSIGN procedure . . . . . . . . . . . 85STRUPCASE() function . . . . . . . . . . . . . . 85STR_SEP() function . . . . . . . . . . . . . . . . 85SURFACE procedure . . . . . . . . . . . . . . . . 85SVDC procedure . . . . . . . . . . . . . . . . . . 86SWAP_ENDIAN() function . . . . . . . . . . . . 86SWAP_ENDIAN_INPLACE procedure . . . . . . 86SYSTIME() function . . . . . . . . . . . . . . . . 86TAG_NAMES() function . . . . . . . . . . . . . . 86TAN() function . . . . . . . . . . . . . . . . . . . 86TANH() function . . . . . . . . . . . . . . . . . . 86TEMPLATE procedure . . . . . . . . . . . . . . . 86
TEMPLATE_BLANK procedure . . . . . . . . . . 87TEMPORARY() function . . . . . . . . . . . . . 87TETRIS procedure . . . . . . . . . . . . . . . . . 87TOTAL() function . . . . . . . . . . . . . . . . . 87TRACE() function . . . . . . . . . . . . . . . . . 87TRANSPOSE() function . . . . . . . . . . . . . . 87TRIGRID() function . . . . . . . . . . . . . . . . 87TV procedure . . . . . . . . . . . . . . . . . . . . 87TVLCT procedure . . . . . . . . . . . . . . . . . 87TVRD() function . . . . . . . . . . . . . . . . . . 87TVSCL procedure . . . . . . . . . . . . . . . . . . 87T_PDF() function . . . . . . . . . . . . . . . . . 87UINDGEN() function . . . . . . . . . . . . . . . . 87UINT() function . . . . . . . . . . . . . . . . . . 88UINTARR() function . . . . . . . . . . . . . . . . 88UL64INDGEN() function . . . . . . . . . . . . . . 88ULINDGEN() function . . . . . . . . . . . . . . . 88ULON64ARR() function . . . . . . . . . . . . . . 88ULONARR() function . . . . . . . . . . . . . . . 88ULONG() function . . . . . . . . . . . . . . . . . 88ULONG64() function . . . . . . . . . . . . . . . . 88UNIQ() function . . . . . . . . . . . . . . . . . . 88VALUE_LOCATE() function . . . . . . . . . . . . 88VARIANCE() function . . . . . . . . . . . . . . . 88VOIGT() function . . . . . . . . . . . . . . . . . . 88WAIT procedure . . . . . . . . . . . . . . . . . . 88WDELETE procedure . . . . . . . . . . . . . . . . 88WHERE() function . . . . . . . . . . . . . . . . . 89WIDGET_BASE() function . . . . . . . . . . . . 89WIDGET_BUTTON() function . . . . . . . . . . 89WIDGET_CONTROL procedure . . . . . . . . . . 89WIDGET_DROPLIST() function . . . . . . . . . 89WIDGET_EVENT() function . . . . . . . . . . . 89
WIDGET_INFO() function . . . . . . . . . . . . . 89WIDGET_LABEL() function . . . . . . . . . . . . 89WIDGET_TEXT() function . . . . . . . . . . . . 90WINDOW procedure . . . . . . . . . . . . . . . . 90WRITEU procedure . . . . . . . . . . . . . . . . . 90WRITE_BMP procedure . . . . . . . . . . . . . . 90WRITE_JPEG procedure . . . . . . . . . . . . . . 90WRITE_PICT procedure . . . . . . . . . . . . . . 90WRITE_PNG procedure . . . . . . . . . . . . . . 90WSET procedure . . . . . . . . . . . . . . . . . . 90WSHOW procedure . . . . . . . . . . . . . . . . . 90WTN() function . . . . . . . . . . . . . . . . . . 90XYOUTS procedure . . . . . . . . . . . . . . . . 90
II. Developer’s guideChapter 16. General remarks and coding guidelines 92Chapter 17. The library-routine API . . . . . . . . 93Chapter 18. Extending the documentation . . . . 94Chapter 19. Extending the testsuite(testsuite/README) . . . . . . . . . . . . . . . 95
Chapter 20. A short overview of how GDL worksinternally . . . . . . . . . . . . . . . . . . . . . . 96
Chapter 21. How to make use of OpenMP in GDL 97Chapter 22. Notes for packagers . . . . . . . . . . 98
Optional features of PLplot and ImageMagick . . . 98The HDF4-netCDF conflict . . . . . . . . . . . . 98
III. IndicesSubject Index . . . . . . . . . . . . . . . . . . . . . 101Bibliography . . . . . . . . . . . . . . . . . . . . . 126
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 ofSylwester 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, Christoph Fuchs,Nicolas Galmiche, Greg Huey, Gaurav Khanna, Christopher Lee, Maxime Lenoir, Pe-ter 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/.
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!
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
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
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 .
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
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
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
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()
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
ABS() CEIL() FLOOR() (aka the Gauss’ symbol) ROUND()ALOG() ALOG10() EXP() ( GSL_EXP())ACOS() ASIN() ATAN() COS() COSH() SIN() SINH() TAN() TANH()LL_ARC_DISTANCE()BESELI() BESELJ() BESELK() BESELY()ERF() IMSL_ERF() ERFC() ERRORF() EXPINT()LAGUERRE() LEGENDRE()SPHER_HARM()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()
DRAFT
DRAFTMathematical and physical constants 19
Geometric calculations
POLY_AREA() TRIGRID()
Bitwise operations
ISHFT() BYTEORDER SWAP_ENDIAN() SWAP_ENDIAN_INPLACE
Function fitting
Markwardt [3]
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()
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()
DRAFT
DRAFTIDL save files 21
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
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
DRAFT
DRAFTFonts, symbols and text formatting 23
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()
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()
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()
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()
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
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()
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
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() functionpositional arguments: 1keywords: none
APPLEMAN procedurepositional arguments: 2keywords: RESULT
Mandelbrot set
ARG_PRESENT() functionpositional arguments: 1keywords: none
ARRAY_EQUAL() functionpositional arguments: 2keywords: NO_TYPECONV
ARRAY_INDICES() functionpositional arguments: 2keywords: none
see also: WHERE()
DRAFT
DRAFTASIN() function 33
ASIN() functionpositional arguments: 1keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
ASSOC() functionpositional arguments: 3keywords: PACKED
ATAN() functionpositional arguments: 2keywords: PHASE
multi-threading: this routine uses GDL thread pool if working on large array, see the...
AXIS procedurepositional 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() functionpositional arguments: 2keywords: DOUBLE, HELP, ITER
BESELJ() functionpositional arguments: 2keywords: DOUBLE, HELP, ITER
BESELK() functionpositional arguments: 2keywords: DOUBLE, HELP, ITER
BESELY() functionpositional arguments: 2keywords: DOUBLE, HELP, ITER
BETA() functionpositional arguments: 2keywords: DOUBLE
BINDGEN() functionpositional arguments: 8keywords: none
BROYDEN() functionpositional arguments: 2keywords: DOUBLE, ITMAX, TOLF, TOLX
BYTARR() functionpositional arguments: 8keywords: NOZERO
DRAFT
DRAFT34 Chapter 15. Alphabetical list of library routines
BYTE() functionpositional arguments: 10keywords: none
BYTEORDER procedurepositional arguments: any numberkeywords: DTOXDR, FTOXDR, HTONL, HTONS, L64SWAP, LSWAP, NTOHL,
NTOHS, SSWAP, SWAP_IF_BIG_ENDIAN, SWAP_IF_LITTLE_ENDIAN, XDR-TOD, XDRTOF
BYTSCL() functionpositional arguments: 3keywords: MAX, MIN, NAN, TOP
CALDAT procedurepositional arguments: 7keywords: none
CALENDAR procedurepositional 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 )} ’
DRAFT
DRAFTCALL_EXTERNAL() function 35
7 $ echo8 $ 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 . oL 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)
DRAFT
DRAFT36 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
DRAFT
DRAFTCEIL() function 37
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() function
positional arguments: 8keywords: NOZERO
CONJ() function
positional arguments: 1keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
CONTOUR procedure
positional 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() function
positional arguments: 3keywords: DATA, DEVICE, DOUBLE, NORMAL, T3D, TO_DATA, TO_DEVICE,
TO_NORMAL
DRAFT
DRAFT38 Chapter 15. Alphabetical list of library routines
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: 1keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
DRAFT
DRAFTCPU procedure 39
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() functionpositional arguments: 10keywords: none
DCOMPLEXARR() function
positional arguments: 8keywords: NOZERO
DEFSYSV procedure
positional arguments: 3keywords: EXISTS
DERIV() function
positional arguments: 2keywords: HELP, NO_CHECK, TEST
DEVICE procedure
positional arguments: nonekeywords: CLOSE_FILE, COLOR, DECOMPOSED, FILENAME, GET_DECOMPOSED,
GET_SCREEN_SIZE, GET_VISUAL_DEPTH, INCHES, LANDSCAPE, PORTRAIT,SET_CHARACTER_SIZE, SET_RESOLUTION, WINDOW_STATE, XSIZE, YSIZE,Z_BUFFERING
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
DRAFT
DRAFT40 Chapter 15. Alphabetical list of library routines
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
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
DRAFT
DRAFTERFC() function 41
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
DRAFT
DRAFT42 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
DRAFT
DRAFTFILE_DIRNAME() function 43
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 .5290
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: INCLUDE_CURRENT_DIR
FINDEX() functionpositional arguments: 2keywords: none
FINDFILE() functionpositional arguments: 1keywords: COUNT, HELP, QUIET, SH_LOCATION, SPAWN_OPTIONS, TEST, VER-
BOSE
DRAFT
DRAFT44 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
DRAFT
DRAFTGDL_ERFINV() function 45
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
DRAFT
DRAFT46 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
DRAFT
DRAFTH5D_GET_SPACE() function 47
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
DRAFT
DRAFT48 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 . 6 ’
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
DRAFT
DRAFTHDF_SD_GETDATA procedure 49
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
DRAFT
DRAFT50 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, 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.
DRAFT
DRAFTIDENTITY() function 51
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: none
IGAMMA() functionpositional arguments: 2keywords: DOUBLE
IMAGINARY() functionpositional 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
DRAFT
DRAFT52 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
DRAFT
DRAFTIMSL_ERF() function 53
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 ...
DRAFT
DRAFT54 Chapter 15. Alphabetical list of library routines
IMSL_ZEROSYS() functionpositional arguments: 2keywords: 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
DRAFT
DRAFTLEGENDRE() function 55
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.
DRAFT
DRAFT56 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−PINK
11 : BLUE−RED12 : 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 procedurepositional arguments: 1keywords: GET_NAMES
LOCALE_GET() functionpositional arguments: none
DRAFT
DRAFTLOGICAL_AND() function 57
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: 3keywords: none
MACHAR() functionpositional arguments: nonekeywords: DOUBLE
MAGICK_ADDNOISE procedurepositional arguments: 1keywords: GAUSSIANNOISE, IMPULSENOISE, LAPLACIANNOISE, MULTIPLICATIVE-
GAUSSIANNOISE, NOISE, POISSONNOISE, UNIFORMNOISE
MAGICK_CLOSE procedurepositional arguments: 1keywords: none
MAGICK_COLORMAPSIZE() functionpositional arguments: 2keywords: none
DRAFT
DRAFT58 Chapter 15. Alphabetical list of library routines
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 procedurepositional 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
MAGICK_QUANTIZE procedure
positional arguments: 2keywords: DITHER, GRAYSCALE, TRUECOLOR, YUV
DRAFT
DRAFTMAGICK_READ() function 59
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]
MAP_PROJ_FORWARD() functionpositional arguments: 3keywords: CONNECTIVITY, FILL, MAP_STRUCTURE, POLYGONS, POLYLINES,
RADIANS
MAP_PROJ_INVERSE() functionpositional arguments: 3keywords: RADIANS
DRAFT
DRAFT60 Chapter 15. Alphabetical list of library routines
MATRIX_MULTIPLY() functionpositional arguments: 2keywords: ATRANSPOSE, BTRANSPOSE
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
DRAFT
DRAFTNCDF_ATTPUT procedure 61
NCDF_ATTPUT procedurepositional arguments: 4keywords: BYTE, CHAR, DOUBLE, FLOAT, GLOBAL, LENGTH, LONG, SHORT
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
DRAFT
DRAFT62 Chapter 15. Alphabetical list of library routines
NCDF_VARGET procedure
positional arguments: 3keywords: COUNT, OFFSET, STRIDE
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() function
positional arguments: 1keywords: DOUBLE
N_ELEMENTS() function
positional arguments: 1keywords: none
N_PARAMS() function
positional arguments: 1keywords: none
N_TAGS() function
positional arguments: 1keywords: DATA_LENGTH, LENGTH
OBJARR() function
positional arguments: 8keywords: NOZERO
DRAFT
DRAFTOBJ_CLASS() function 63
OBJ_CLASS() function
positional 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.
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 ] BEER
bee 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 3 ]!PLT !GNUDATALANGUAGE ! AXIS !VERSION !MOUSE !ERROR_STATE !VALUES !MAP !CPU !WARN IDL_SIZE FSTAT64 FSTAT FILE_INFO IDL_MEMORY IDL_MEMORY64 MACHARDMACHAR 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
DRAFT
DRAFT64 Chapter 15. Alphabetical list of library routines
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
OBJ_VALID() functionpositional arguments: 1keywords: CAST, COUNT
ON_ERROR procedurepositional arguments: 1keywords: none
OPENR 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
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 , / compress
4 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: 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
OPENW 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
OPLOT procedure
positional arguments: 2keywords: CLIP, COLOR, LINESTYLE, MAX_VALUE, MIN_VALUE, NOCLIP, NSUM,
POLAR, PSYM, SYMSIZE, T3D, THICK
DRAFT
DRAFTPARSE_URL() function 65
PARSE_URL() function
positional 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 ’
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.)
DRAFT
DRAFT66 Chapter 15. Alphabetical list of library routines
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
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() function
positional arguments: 1keywords: none
PRINT procedure
positional arguments: any numberkeywords: AM_PM, DAYS_OF_WEEK, FORMAT, MONTH, STDIO_NON_FINITE
PRINTD procedure
positional 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...
DRAFT
DRAFTPTR_FREE procedure 67
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()
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 .∗
DRAFT
DRAFT68 Chapter 15. Alphabetical list of library routines
% Compi led module : QUERY_BMP.∗∗ S t r u c t u r e <Anonymous>, 7 tags , data l e n g t h =32:
CHANNELS LONG 4DIMENSIONS LONG Array [ 2 ]HAS_PALETTE INT 0IMAGE_INDEX LONG 0NUM_IMAGES LONG 1PIXEL_TYPE INT 1TYPE STRING ’BMP’
QUERY_DICOM() functionpositional arguments: 2keywords: none
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
DRAFT
DRAFTREADF procedure 69
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
READ_ASCII() functionpositional arguments: 1keywords: COMMENT_SYMBOL, COUNT, DATA_START, DELIMITER, HEADER,
MISSING_VALUE, NUM_RECORDS, RECORD_START, TEMPLATE, VERBOSE
READ_BINARY() functionpositional arguments: 1keywords: DATA_DIMS, DATA_START, DATA_TYPE, ENDIAN, TEMPLATE
READ_BMP() functionpositional arguments: 4keywords: RGB
READ_DICOM() functionpositional arguments: 4keywords: IMAGE_INDEX
READ_JPEG procedure
positional arguments: 3keywords: BUFFER, COLORS, DITHER, GRAYSCALE, ORDER, TRUE,
TWO_PASS_QUANTIZE, UNIT
READ_PICT procedure
positional arguments: 5keywords: none
READ_PNG() function
positional arguments: 4keywords: ORDER, TRANSPARENT, VERBOSE
READ_TIFF() function
positional arguments: 4keywords: CHANNELS, GEOTIFF, IMAGE_INDEX, INTERLEAVE, ORIENTATION,
PLANARCONFIG, SUB_RECT, VERBOSE
READ_XWD() function
positional arguments: 4keywords: none
REAL_PART() function
positional arguments: 1keywords: none
DRAFT
DRAFT70 Chapter 15. Alphabetical list of library routines
REBIN() functionpositional arguments: 9keywords: SAMPLE
RECALL_COMMANDS() functionpositional arguments: nonekeywords: none
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 procedure
positional arguments: nonekeywords: RETALL
REVERSE() function
positional 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
DRAFT
DRAFTROUND() function 71
ROUND() functionpositional arguments: 1keywords: L64
multi-threading: this routine uses GDL thread pool if working on large array, see the...
ROUTINE_INFO() functionpositional arguments: 1keywords: DISABLED, ENABLED, FUNCTIONS, PARAMETERS, SYSTEM
ROUTINE_NAMES() functionpositional 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 ]
DRAFT
DRAFT72 Chapter 15. Alphabetical list of library routines
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
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 roc edu 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
DRAFT
DRAFTRSTRPOS() function 73
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() function
positional arguments: 3keywords: none
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() functionpositional arguments: 1keywords: none
SEM_RELEASE procedurepositional arguments: 1keywords: none
SETENV procedurepositional arguments: 1keywords: none
SET_PLOT procedurepositional arguments: 1keywords: COPY, INTERPOLATE
SHIFT() functionpositional arguments: 9keywords: none
SHOWFONT procedurepositional 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.
DRAFT
DRAFT74 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.
DRAFT
DRAFTSHOWFONT procedure 75
1 showfont , 6 , ’ Complex Roman ’
% Compi led module : SHOWFONT.
1 showfont , 7 , ’ Complex Greek ’
% Compi led module : SHOWFONT.
DRAFT
DRAFT76 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.
DRAFT
DRAFTSHOWFONT procedure 77
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.
DRAFT
DRAFT78 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.
DRAFT
DRAFTSHOWFONT procedure 79
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.
DRAFT
DRAFT80 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.
DRAFT
DRAFTSIN() function 81
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
DRAFT
DRAFT82 Chapter 15. Alphabetical list of library routines
multi-threading: this routine uses GDL thread pool if working on large array, see the...
SIZE() functionpositional arguments: 1keywords: DIMENSIONS, FILE_LUN, L64, N_DIMENSIONS, N_ELEMENTS, STRUC-
TURE, TNAME, TYPE
SKEWNESS() functionpositional arguments: 1keywords: DOUBLE, NAN
SKIP_LUN procedurepositional arguments: 2keywords: EOF, HELP, LINES, TEST, TRANSFER_COUNT
SMOOTH() functionpositional arguments: 2keywords: EDGE_TRUNCATE, HELP, NAN, TEST, VERBOSE
SOBEL() functionpositional arguments: 1keywords: HELP
SOCKET procedurepositional 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
DRAFT
DRAFTSQRT() function 83
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 ’
DRAFT
DRAFT84 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...
STRMID() function
positional arguments: 3keywords: REVERSE_OFFSET
multi-threading: this routine uses GDL thread pool if working on large array, see the...
STRPOS() function
positional arguments: 3keywords: REVERSE_OFFSET, REVERSE_SEARCH
multi-threading: this routine uses GDL thread pool if working on large array, see the...
STRPUT procedure
positional arguments: 3keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
STRSPLIT() function
positional arguments: 2keywords: COUNT, ESCAPE, EXTRACT, FOLD_CASE, HELP, LENGTH, PRE-
SERVE_NULL, REGEX, TEST
STRTOK() function
positional arguments: 2keywords: ESCAPE, EXTRACT, LENGTH, PRESERVE_NULL, REGEX
DRAFT
DRAFTSTRTRIM() function 85
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 .
DRAFT
DRAFT86 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: 1
keywords: SWAP_IF_BIG_ENDIAN, SWAP_IF_LITTLE_ENDIAN
SWAP_ENDIAN_INPLACE procedurepositional arguments: 1keywords: SWAP_IF_BIG_ENDIAN, SWAP_IF_LITTLE_ENDIAN
SYSTIME() functionpositional arguments: 2keywords: JULIAN, SECONDS, UTC
TAG_NAMES() functionpositional arguments: 1keywords: STRUCTURE_NAME
TAN() functionpositional arguments: 1keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
TANH() functionpositional arguments: 1keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
TEMPLATE procedurepositional arguments: nonekeywords: none
DRAFT
DRAFTTEMPLATE_BLANK procedure 87
TEMPLATE_BLANK procedure
positional arguments: nonekeywords: none
TEMPORARY() function
positional arguments: 1keywords: none
TETRIS procedure
positional arguments: nonekeywords: 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, 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
DRAFT
DRAFT88 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
VALUE_LOCATE() functionpositional arguments: 2keywords: L64
VARIANCE() functionpositional arguments: 1keywords: DOUBLE, NAN
VOIGT() functionpositional arguments: 2keywords: DOUBLE, ITER
WAIT procedurepositional arguments: 1keywords: none
WDELETE procedurepositional arguments: any numberkeywords: none
DRAFT
DRAFTWHERE() function 89
WHERE() function
positional 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() function
positional 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() function
positional 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 procedurepositional 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() functionpositional 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() functionpositional arguments: 1keywords: DESTROY, XMANAGER_BLOCK
WIDGET_INFO() functionpositional arguments: 1keywords: CHILD, MANAGED, MODAL, VALID, VERSION, XMANAGER_BLOCK
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
DRAFT
DRAFT90 Chapter 15. Alphabetical list of library routines
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: FOUR_BIT, HEADER_DEFINE, IHDR, RGB
WRITE_JPEG procedurepositional arguments: 2keywords: ORDER, PROGRESSIVE, QUALITY, TRUE, UNIT
WRITE_PICT procedurepositional arguments: 5keywords: none
WRITE_PNG procedurepositional arguments: 5keywords: ORDER, TRANSPARENT, VERBOSE
WSET procedurepositional arguments: 1keywords: none
WSHOW procedurepositional arguments: 2keywords: none
WTN() functionpositional arguments: 2keywords: COLUMN, DOUBLE, INVERSE, OVERWRITE
XYOUTS procedurepositional arguments: 3keywords: ALIGNMENT, CHARSIZE, CHARTHICK, CLIP, COLOR, DATA, DEVICE,
NOCLIP, NORMAL, ORIENTATION, WIDTH, Z
DRAFT
DRAFTChapter 16
General remarks and coding guidelines
... such as the CERN C++ Coding Standard Specification [4] or other similar docu-ments.
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").
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).
DRAFT
DRAFTChapter 22
Notes for packagers
Optional features of PLplot and ImageMagick
The HDF4-netCDF conflict
DRAFT
DRAFTSubject Index.COMPILE, 17.CONTINUE, 17.STEP, 17$MAIN$, 71_EXTRA, 14_REF_EXTRA, 14_STRICT_EXTRA, 14_EXTRA keyword
in ISHFT() function, 54in PLOTERR procedure, 65in TVSCL procedure, 87
_REF_EXTRA keywordin CALL_FUNCTION() function, 36in CALL_METHOD procedure, 36in CALL_METHOD() function, 36in CALL_PROCEDURE procedure, 36in OBJ_DESTROY procedure, 63in OBJ_NEW() function, 63in QUERY_IMAGE() function, 68
abbreviated keyword names, 14ABORT keyword
in NCDF_CONTROL procedure, 61ABS() function, 18, 32ACCELERATOR keyword
in WIDGET_BUTTON() function, 89ACOS() function, 18, 32ALIGN_BOTTOM keyword
in WIDGET_BASE() function, 89ALIGN_CENTER keyword
in WIDGET_BASE() function, 89in WIDGET_BUTTON() function, 89
ALIGN_LEFT keywordin WIDGET_BASE() function, 89in WIDGET_BUTTON() function, 89
ALIGN_RIGHT keywordin WIDGET_BASE() function, 89in WIDGET_BUTTON() function, 89
ALIGN_TOP keywordin WIDGET_BASE() function, 89
ALIGNMENT keywordin XYOUTS procedure, 90
ALL_DIRS keywordin EXPAND_PATH() function, 41
ALL_EVENTS keywordin WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
ALL_GDL keywordin CALL_EXTERNAL() function, 34
ALL_VALUE keywordin CALL_EXTERNAL() function, 34
ALL keywordin CLOSE procedure, 37in HDF_OPEN() function, 48in SAVE procedure, 73
ALLOCATE_HEAP keywordin PTR_NEW() function, 67in PTRARR() function, 66
ALLOW_NONEXISTENT keywordin FILE_DELETE procedure, 42
ALLOW_SAME keywordin FILE_COPY procedure, 42
ALOG() function, 18, 32ALOG10() function, 18, 32
AM_PM keywordin PRINT procedure, 66in PRINTF procedure, 66in READ procedure, 68in READF procedure, 69in READS procedure, 69in STOP procedure, 83in STRING() function, 83
APPEND keywordin OPENR procedure, 64in OPENU procedure, 64in OPENW procedure, 64in SAVE procedure, 73
APPLEMAN procedure, 32ARG_NAME keyword
in ROUTINE_NAMES() function, 71ARG_PRESENT() function, 14, 32, 73ARGV keyword
in PYTHON procedure, 67in PYTHON() function, 67
ARRAY_EQUAL() function, 15, 32ARRAY_INDICES() function, 15, 32, 50, 89ARRAY keyword
in EXPAND_PATH() function, 41ASIN() function, 18, 33ASSOC() function, 12, 33ATAN() function, 12, 18, 32, 33ATRANSPOSE keyword
in MATRIX_MULTIPLY() function, 60AX keyword
in SURFACE procedure, 85AXIS procedure, 33
DRAFT
DRAFT102 Subject Index
AXISprocedure, 22AZ keyword
in SURFACE procedure, 85
B_VALUE keywordin CALL_EXTERNAL() function, 34
BACKGROUND keywordin CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
BACKPROJECT keywordin RADON() function, 68
BAR_COLOR keywordin PLOTERR procedure, 65
BASE_ALIGN_BOTTOM keywordin WIDGET_BASE() function, 89
BASE_ALIGN_CENTER keywordin WIDGET_BASE() function, 89
BASE_ALIGN_LEFT keywordin WIDGET_BASE() function, 89
BASE_ALIGN_RIGHT keywordin WIDGET_BASE() function, 89
BASE_ALIGN_TOP keywordin WIDGET_BASE() function, 89
BASE keywordin SHOWFONT procedure, 73
BEG keywordin SHOWFONT procedure, 73
BEGIN, 14in CASE statement, 13in FOR statement, 13in IF/THEN/ELSE statement, 12in SWITCH statement, 13in WHILE statement, 14
BESELI() function, 18, 33BESELJ() function, 18, 33BESELK() function, 18, 33BESELY() function, 18, 33BETA() function, 18, 33BIN1 keyword
in HIST_2D() function, 50
BIN2 keywordin HIST_2D() function, 50
BINARY keywordin OPENR procedure, 64in OPENU procedure, 64in OPENW procedure, 64
BINDGEN() function, 13, 15, 33BINOMIAL keyword
in RANDOMN() function, 68in RANDOMU() function, 68
BINSIZE keywordin HISTOGRAM() function, 50
BITMAP keywordin WIDGET_BUTTON() function, 89
BLOCK_SPECIAL keywordin FILE_TEST() function, 43
BLOCK keywordin OPENR procedure, 64in OPENU procedure, 64in OPENW procedure, 64
BOOLEAN keywordin STREGEX() function, 83
BOTTOM keywordin LOADCT procedure, 55
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, 36
BRIEF keywordin HELP procedure, 50
BROYDEN() function, 19, 33BTRANSPOSE keyword
in MATRIX_MULTIPLY() function, 60BUFFER keyword
in READ_JPEG procedure, 69BUFSIZE keyword
in OPENR procedure, 64in OPENU procedure, 64in OPENW procedure, 64
BYTARR() function, 13, 15, 33BYTE() function, 12, 13, 34BYTE keyword
in HDF_SD_CREATE() function, 48in INDGEN() function, 54in MAKE_ARRAY() function, 59in NCDF_ATTPUT procedure, 61in NCDF_VARDEF() function, 61
BYTEORDER procedure, 34BYTEORDERprocedure, 19, 20BYTSCL() function, 22, 27, 34
C_CHARSIZE keywordin CONTOUR procedure, 37
C_COLORS keywordin CONTOUR procedure, 37
C_LINESTYLE keywordin CONTOUR procedure, 37
cal (UNIX), 34CALDAT procedure, 34CALDATprocedure, 26CALENDAR procedure, 34CALENDARprocedure, 26CALL_EXTERNAL() function, 30, 34, 55CALL_FUNCTION() function, 14, 36CALL_METHOD procedure, 36CALL_METHOD() function, 14, 36CALL_METHODprocedure, 14CALL_METHON() function, 15CALL_METHONprocedure, 15CALL_PROCEDURE procedure, 36CALL_PROCEDURE() function, 14CALLS keyword
in HELP procedure, 50CANCEL keyword
in CATCH procedure, 36in DIALOG_MESSAGE() function, 39
CASE, 13
DRAFT
DRAFT 103
CAST keywordin OBJ_VALID() function, 64in PTR_VALID() function, 67
CATCH procedure, 36CATCHprocedure, 15CD procedure, 36CDF_EPOCH procedure, 36CDprocedure, 24CEIL() function, 18, 37CENTER keyword
in CONVOL() function, 38in DIALOG_MESSAGE() function, 39
CHANGE keywordin CURSOR procedure, 39
CHANNEL keywordin TV procedure, 87in TVRD() function, 87
CHANNELS keywordin MAGICK_PING() function, 58in READ_TIFF() function, 69
CHAR keywordin NCDF_ATTPUT procedure, 61in NCDF_VARDEF() function, 61
CHARACTER_SPECIAL keywordin FILE_TEST() function, 43
CHARSIZE keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85in XYOUTS procedure, 90
CHARTHICK keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85in XYOUTS procedure, 90
CHECK_MATH() function, 15, 37CHECK_MATHprocedure, 17CHECKED_MENU keyword
in WIDGET_BUTTON() function, 89
CHILD keywordin WIDGET_INFO() function, 89
CINDGEN() function, 13, 15, 37CLASS keyword
in HDF_VD_GET procedure, 49in HDF_VG_GETINFO procedure, 49
CLIENTSERVER keywordin LMGR() function, 55
CLIP_PLANE keywordin MAP_CLIP_SET procedure, 59
CLIP_UV keywordin MAP_CLIP_SET procedure, 59
CLIP keywordin CONTOUR procedure, 37in OPLOT procedure, 64in PLOT procedure, 65in PLOTS procedure, 65in POLYFILL procedure, 66in SURFACE procedure, 85in XYOUTS procedure, 90
CLOBBER keywordin NCDF_CREATE() function, 61
CLOSE procedure, 37CLOSE_FILE keyword
in DEVICE procedure, 39CLOSEprocedure, 20COEFFICIENTS keyword
in LAGUERRE() function, 54COLOR keyword
in AXIS procedure, 33in CONTOUR procedure, 37in DEVICE procedure, 39in MAP_CONTINENTS procedure, 59in OPLOT procedure, 64in PLOT procedure, 65in PLOTS procedure, 65in POLYFILL procedure, 66in SURFACE procedure, 85in XYOUTS procedure, 90
COLORS keywordin READ_JPEG procedure, 69
in WINDOW procedure, 90COLUMN keyword
in SVDC procedure, 86in WIDGET_BASE() function, 89in WTN() function, 90
COMMAND_LINE_ARGS() function, 24, 37COMMENT_SYMBOL keyword
in READ_ASCII() function, 69COMPANION keyword
in IMSL_ZEROPOLY() function, 53COMPATIBLE keyword
in SAVE procedure, 73COMPLEMENT keyword
in WHERE() function, 89COMPLEX() function, 12, 13, 37COMPLEX keyword
in INDGEN() function, 54in MAKE_ARRAY() function, 59
COMPLEXARR() function, 13, 15, 37COMPRESS keyword
in FILE_LINES() function, 43in OPENR procedure, 64in OPENU procedure, 64in OPENW procedure, 64
COMPUTE_EPOCH keywordin CDF_EPOCH procedure, 36
CONJ() function, 12, 37CONNECT_TIMEOUT keyword
in SOCKET procedure, 82CONNECTIVITY keyword
in MAP_PROJ_FORWARD() function, 59CONTEXT_EVENTS keyword
in WIDGET_BASE() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
CONTEXT_MENU keywordin WIDGET_BASE() function, 89
CONTINUEin CONTINUE statement, 14in FOR statement, 13in FOREACH statement, 13
DRAFT
DRAFT104 Subject Index
in WHILE statement, 14CONTINUE keyword
in MESSAGE procedure, 60in PLOTS procedure, 65
CONTOUR procedure, 37CONTOURprocedure, 22CONVERT_COORD() function, 23, 37CONVOL() function, 18, 27, 38COORDSYS keyword
in HDF_SD_GETINFO procedure, 49COPY keyword
in SET_PLOT procedure, 73CORRELATE() function, 18, 38COS() function, 18, 38COSH() function, 18, 38COUNT keyword
in COMMAND_LINE_ARGS() function, 37in EXPAND_PATH() function, 41in FILE_SEARCH() function, 43in FINDFILE() function, 43in GET_DRIVE_LIST() function, 45in HDF_SD_ADDDATA procedure, 48in HDF_SD_ATTRINFO procedure, 48in HDF_SD_DIMGET procedure, 48in HDF_SD_GETDATA procedure, 49in HDF_VD_GET procedure, 49in NCDF_VARGET procedure, 62in NCDF_VARPUT procedure, 62in OBJ_CLASS() function, 63in OBJ_VALID() function, 64in PTR_VALID() function, 67in READ_ASCII() function, 69in SPAWN procedure, 82in STRSPLIT() function, 84
COUNTRIES keywordin MAP_CONTINENTS procedure, 59
COVARIANCE keywordin CORRELATE() function, 38
CPU procedure, 39CPUprocedure, 28CREATE_STRUCT() function, 15, 39
CREATE keywordin HDF_OPEN() function, 48in HDF_SD_START() function, 49
CROSSP() function, 18, 39CUBIC keyword
in INTERPOLATE() function, 54in POLY_2D() function, 66
CUMULATIVE keywordin PRODUCT() function, 66in TOTAL() function, 87
CURRENT keywordin CD procedure, 36in MEMORY() function, 60
CURSOR procedure, 39CURSORprocedure, 22
D_VALUE keywordin CALL_EXTERNAL() function, 34
DATA_DIMS keywordin READ_BINARY() function, 69
DATA_LENGTH keywordin N_TAGS() function, 62
DATA_START keywordin READ_ASCII() function, 69in READ_BINARY() function, 69
DATA_TYPE keywordin READ_BINARY() function, 69
DATA keywordin AXIS procedure, 33in CONTOUR procedure, 37in CONVERT_COORD() function, 37in CURSOR procedure, 39in HDF_SD_ATTRINFO procedure, 48in PLOT procedure, 65in PLOTS procedure, 65in POLYFILL procedure, 66in SAVE procedure, 73in SURFACE procedure, 85in XYOUTS procedure, 90
DAYS_OF_WEEK keywordin PRINT procedure, 66
in PRINTF procedure, 66in READ procedure, 68in READF procedure, 69in READS procedure, 69in STOP procedure, 83in STRING() function, 83
DBLARR() function, 13, 15, 39DCINDGEN() function, 13, 15, 39DCOMPLEX() function, 12, 13, 39DCOMPLEX keyword
in INDGEN() function, 54in MAKE_ARRAY() function, 59
DCOMPLEXARR() function, 13, 15, 39DEBUG keyword
in DIALOG_PICKFILE() function, 40in SPL_INIT_OLD() function, 82
DECOMPOSED keywordin DEVICE procedure, 39
DEFAULT_CANCEL keywordin DIALOG_MESSAGE() function, 39
DEFAULT_EXTENSION keywordin DIALOG_PICKFILE() function, 40
DEFAULT_NO keywordin DIALOG_MESSAGE() function, 39
DEFAULTRETURNVALUE keywordin PYTHON() function, 67
DEFSYSV procedure, 39DEFSYSVprocedure, 15DEGREES keyword
in LL_ARC_DISTANCE() function, 55DELETE keyword
in OPENR procedure, 64in OPENU procedure, 64in OPENW procedure, 64
DELIMITER keywordin READ_ASCII() function, 69
DEMO keywordin LMGR() function, 55
DERIV() function, 18, 39DESCRIPTION keyword
in RESTORE procedure, 70
DRAFT
DRAFT 105
DESTROY_SEMAPHORE keywordin SEM_CREATE() function, 73
DESTROY keywordin WIDGET_CONTROL procedure, 89in WIDGET_EVENT() function, 89
DEVICE procedure, 39DEVICE keyword
in AXIS procedure, 33in CONTOUR procedure, 37in CONVERT_COORD() function, 37in CURSOR procedure, 39in PLOT procedure, 65in PLOTS procedure, 65in POLYFILL procedure, 66in SURFACE procedure, 85in TV procedure, 87in XYOUTS procedure, 90
DEVICEprocedure, 22DFNT_CHAR keyword
in HDF_SD_CREATE() function, 48DFNT_FLOAT32 keyword
in HDF_SD_CREATE() function, 48DFNT_FLOAT64 keyword
in HDF_SD_CREATE() function, 48DFNT_INT16 keyword
in HDF_SD_CREATE() function, 48DFNT_INT32 keyword
in HDF_SD_CREATE() function, 48DFNT_INT8 keyword
in HDF_SD_CREATE() function, 48DFNT_UINT16 keyword
in HDF_SD_CREATE() function, 48DFNT_UINT32 keyword
in HDF_SD_CREATE() function, 48DFNT_UINT8 keyword
in HDF_SD_CREATE() function, 48DIALOG_MESSAGE() function, 29, 39DIALOG_PARENT keyword
in DIALOG_MESSAGE() function, 39in DIALOG_PICKFILE() function, 40
DIALOG_PICKFILE() function, 29, 40
DIMENSION keywordin FFT() function, 42in MAKE_ARRAY() function, 59in MAX() function, 60in MEDIAN() function, 60in MIN() function, 60
DIMENSIONS keywordin MAGICK_PING() function, 58in SIZE() function, 82
DIMS keywordin HDF_SD_GETINFO procedure, 49
DINDGEN() function, 13, 15, 40DIRECTORY keyword
in DIALOG_PICKFILE() function, 40in FILE_TEST() function, 43
DISABLED keywordin ROUTINE_INFO() function, 71
DISPLAY_NAME keywordin DIALOG_MESSAGE() function, 39in DIALOG_PICKFILE() function, 40in WIDGET_BASE() function, 89
DIST() function, 19, 40DITHER keyword
in MAGICK_QUANTIZE procedure, 58in READ_JPEG procedure, 69
DOin FOR statement, 13in FOREACH statement, 13in WHILE statement, 14
DOUBLE() function, 12, 13, 40DOUBLE keyword
in BESELI() function, 33in BESELJ() function, 33in BESELK() function, 33in BESELY() function, 33in BETA() function, 33in BROYDEN() function, 33in CONVERT_COORD() function, 37in CORRELATE() function, 38in ERF() function, 40in ERFC() function, 41
in ERRORF() function, 41in EXPINT() function, 41in FFT() function, 42in GAMMA() function, 44in GAUSSINT() function, 44in GDL_ERFINV() function, 45in HDF_SD_CREATE() function, 48in IDENTITY() function, 51in IGAMMA() function, 51in IMSL_BINOMIALCOEF() function, 51in IMSL_CONSTANT() function, 52in IMSL_ERF() function, 53in IMSL_ZEROPOLY() function, 53in IMSL_ZEROSYS() function, 54in INDGEN() function, 54in INVERT() function, 54in KURTOSIS() function, 54in LA_TRIRED procedure, 54in LAGUERRE() function, 54in LEGENDRE() function, 55in LNGAMMA() function, 55in MACHAR() function, 57in MAKE_ARRAY() function, 59in MEAN() function, 60in MEANABSDEV() function, 60in MEDIAN() function, 60in MOMENT() function, 60in NCDF_ATTPUT procedure, 61in NCDF_VARDEF() function, 61in NEWTON() function, 62in NORM() function, 62in POLY_AREA() function, 66in RADON() function, 68in RANDOMN() function, 68in RANDOMU() function, 68in RK4() function, 70in RK4JMG() function, 70in SKEWNESS() function, 82in SPHER_HARM() function, 82in SPL_INIT() function, 82in SPL_INIT_OLD() function, 82
DRAFT
DRAFT106 Subject Index
in SPL_INTERP() function, 82in SPL_INTERP_OLD() function, 82in STDDEV() function, 83in SVDC procedure, 86in TOTAL() function, 87in TRACE() function, 87in VARIANCE() function, 88in VOIGT() function, 88in WTN() function, 90
DOWN keywordin CURSOR procedure, 39
DRHO keywordin RADON() function, 68
DTOXDR keywordin BYTEORDER procedure, 34
DX keywordin RADON() function, 68
DY keywordin RADON() function, 68
DYNAMIC_RESIZE keywordin WIDGET_BUTTON() function, 89in WIDGET_DROPLIST() function, 89
EDGE_TRUNCATE keywordin CONVOL() function, 38in SMOOTH() function, 82
EDGE_WRAP keywordin CONVOL() function, 38
EDITABLE keywordin WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
ELSEin CASE statement, 13in IF/THEN/ELSE statement, 12in SWITCH statement, 13
EMBEDDED keywordin LMGR() function, 55
ENABLED keywordin ROUTINE_INFO() function, 71
ENCAPSULATED keywordin SHOWFONT procedure, 73
ENDCASE, 13ENDEF keyword
in NCDF_CONTROL procedure, 61ENDELSE, 12ENDFOR, 13ENDFOREACH, 13ENDIAN keyword
in READ_BINARY() function, 69ENDIF, 12ENDREP, 14ENDSWITCH, 13ENDWHILE, 14ENVIRONMENT keyword
in GETENV() function, 45EOF() function, 40EOF keyword
in SKIP_LUN procedure, 82EOFprocedure, 20ERASE procedure, 40ERASEprocedure, 22ERF() function, 18, 40ERFC() function, 18, 41ERR_REL keyword
in IMSL_ZEROSYS() function, 54ERRMSG keyword
in SAVE procedure, 73ERROR keyword
in DIALOG_MESSAGE() function, 39in OPENR procedure, 64in OPENU procedure, 64in OPENW procedure, 64in SOCKET procedure, 82
ERRORF() function, 18, 41ESC keyword
in STR_SEP() function, 85ESCAPE_SPECIAL_CHAR() function, 41ESCAPE keyword
in STRSPLIT() function, 84in STRTOK() function, 84
EVEN keywordin MEDIAN() function, 60
EVENT_FUNC keywordin WIDGET_BASE() function, 89in WIDGET_BUTTON() function, 89in WIDGET_DROPLIST() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
EVENT_PRO keywordin WIDGET_BASE() function, 89in WIDGET_BUTTON() function, 89in WIDGET_CONTROL procedure, 89in WIDGET_DROPLIST() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
EXCLUSIVE keywordin WIDGET_BASE() function, 89
EXECUTABLE keywordin FILE_TEST() function, 43
EXECUTE() function, 14, 24, 41EXECUTEprocedure, 15EXISTS keyword
in DEFSYSV procedure, 39EXIT procedure, 41EXIT_STATUS keyword
in CLOSE procedure, 37in FREE_LUN procedure, 44in SPAWN procedure, 82
EXITprocedure, 24EXP() function, 18, 41EXPAND_ENVIRONMENT keyword
in FILE_SEARCH() function, 43EXPAND_PATH() function, 14, 24, 41EXPAND_TILDE keyword
in FILE_SEARCH() function, 43EXPINT() function, 18, 41EXPIRE_DATE keyword
in LMGR() function, 55EXTRACT keyword
in STREGEX() function, 83in STRSPLIT() function, 84in STRTOK() function, 84
DRAFT
DRAFT 107
F77_UNFORMATTED keywordin OPENR procedure, 64in OPENU procedure, 64in OPENW procedure, 64
F_VALUE keywordin CALL_EXTERNAL() function, 34
FACTORIAL() function, 18, 41FETCH keyword
in ROUTINE_NAMES() function, 71FFT() function, 19, 42FIELDS keyword
in HDF_VD_READ() function, 49FILE_BASENAME() function, 24, 42FILE_COPY procedure, 42FILE_COPYprocedure, 24FILE_DELETE procedure, 42FILE_DELETEprocedure, 24FILE_DIRNAME() function, 24, 42, 43FILE_EXPAND_PATH() function, 24, 43FILE_INFO() function, 24, 43FILE_LINES() function, 24, 43FILE_LUN keyword
in SIZE() function, 82FILE_MKDIR procedure, 43FILE_MKDIRprocedure, 24FILE_SAME() function, 24, 43FILE_SEARCH() function, 24, 43FILE_TEST() function, 24, 43FILE_WHICH() function, 24, 43FILE keyword
in CLOSE procedure, 37in DIALOG_PICKFILE() function, 40in LOADCT procedure, 55
FILENAME keywordin DEVICE procedure, 39in RESTORE procedure, 70in SAVE procedure, 73
FILEPATH() function, 14, 42FILL_CONTINENTS keyword
in MAP_CONTINENTS procedure, 59FILL keyword
in CONTOUR procedure, 37in MAP_PROJ_FORWARD() function, 59in NCDF_CONTROL procedure, 61
FILTER keywordin DIALOG_PICKFILE() function, 40
FIN keywordin SHOWFONT procedure, 73
FINDEX() function, 18, 43FINDFILE() function, 24, 43FINDGEN() function, 13, 15, 44FINITE() function, 15, 44FIX() function, 12, 13, 44FIX_FILTER keyword
in DIALOG_PICKFILE() function, 40FLOAT() function, 12, 13, 44FLOAT keyword
in HDF_SD_CREATE() function, 48in INDGEN() function, 54in MAKE_ARRAY() function, 59in NCDF_ATTPUT procedure, 61in NCDF_VARDEF() function, 61
FLOATING keywordin WIDGET_BASE() function, 89
FLOOR() function, 18, 44FLTARR() function, 13, 15, 44FLUSH procedure, 44FLUSHprocedure, 22FNORM keyword
in IMSL_ZEROSYS() function, 54FOLD_CASE keyword
in FILE_BASENAME() function, 42in FILE_SEARCH() function, 43in STRCMP() function, 83in STREGEX() function, 83in STRSPLIT() function, 84
FOLLOW keywordin CONTOUR procedure, 37
FONT keywordin AXIS procedure, 33in CONTOUR procedure, 37in SURFACE procedure, 85
in WIDGET_BUTTON() function, 89in WIDGET_DROPLIST() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
FOR, 13FORCE_DEMO keyword
in LMGR() function, 55FORCE keyword
in CLOSE procedure, 37in FREE_LUN procedure, 44
FOREACH, 13FORMAT keyword
in HDF_SD_GETINFO procedure, 49in PM procedure, 65in PRINT procedure, 66in PRINTF procedure, 66in READ procedure, 68in READF procedure, 69in READS procedure, 69in STOP procedure, 83in STRING() function, 83
FOUR_BIT keywordin WRITE_BMP procedure, 90
FRAME keywordin WIDGET_BASE() function, 89in WIDGET_BUTTON() function, 89in WIDGET_DROPLIST() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
FREE_LUN procedure, 44FREE_LUNprocedure, 20FREE keyword
in WINDOW procedure, 90FSTAT() function, 24, 44FTOXDR keyword
in BYTEORDER procedure, 34FULL_INTERLACE keyword
in HDF_VD_READ() function, 49FULL_STRUCT keyword
in HELPFORM() function, 50FULLY_QUALIFY_PATH keyword
DRAFT
DRAFT108 Subject Index
in FILE_SEARCH() function, 43FUNC_GET_VALUE keyword
in WIDGET_BASE() function, 89in WIDGET_BUTTON() function, 89in WIDGET_CONTROL procedure, 89in WIDGET_DROPLIST() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
FUNCTIONS keywordin HELP procedure, 50in ROUTINE_INFO() function, 71
GAMMA() function, 18, 44GAMMA keyword
in RANDOMN() function, 68in RANDOMU() function, 68
Gauss symbol, 18GAUSS_CVF() function, 18, 44GAUSS_PDF() function, 18, 44Gaussian probability function, 18GAUSSIANNOISE keyword
in MAGICK_ADDNOISE procedure, 57in MAGICK_PING() function, 58
GAUSSINT() function, 18, 44GDL_ERFINV() function, 45GEOTIFF keyword
in READ_TIFF() function, 69GET_DECOMPOSED keyword
in DEVICE procedure, 39GET_DRIVE_LIST() function, 45GET_KBRD() function, 45GET_KBRDprocedure, 20GET_LOGIN_INFO() function, 45GET_LUN procedure, 45GET_LUN keyword
in OPENR procedure, 64in OPENU procedure, 64in OPENW procedure, 64in SOCKET procedure, 82
GET_LUNprocedure, 20GET_MODE keyword
in FILE_TEST() function, 43GET_NAMES keyword
in LOADCT procedure, 55in LOADCT_INTERNALGDL procedure, 56
GET_PATH keywordin DIALOG_PICKFILE() function, 40
GET_SCREEN_SIZE() function, 23, 45GET_SCREEN_SIZE keyword
in DEVICE procedure, 39GET_UVALUE keyword
in WIDGET_CONTROL procedure, 89GET_VALUE keyword
in WIDGET_CONTROL procedure, 89GET_VISUAL_DEPTH keyword
in DEVICE procedure, 39GET keyword
in TVLCT procedure, 87GETENV() function, 24, 45GLOBAL keyword
in NCDF_ATTDEL procedure, 60in NCDF_ATTGET procedure, 60in NCDF_ATTINQ() function, 60in NCDF_ATTNAME() function, 60in NCDF_ATTPUT procedure, 61in NCDF_ATTRENAME procedure, 61
GOTO statement, 14GRAY keyword
in RADON() function, 68GRAYSCALE keyword
in MAGICK_QUANTIZE procedure, 58in READ_JPEG procedure, 69
GRIBAPI_CLONE() function, 21, 45GRIBAPI_CLOSE_FILE procedure, 45GRIBAPI_CLOSE_FILEprocedure, 21GRIBAPI_COUNT_IN_FILE() function, 21, 45GRIBAPI_GET procedure, 45GRIBAPI_GET_DATA procedure, 45GRIBAPI_GET_DATAprocedure, 21GRIBAPI_GET_SIZE() function, 21, 46GRIBAPI_GETprocedure, 21GRIBAPI_NEW_FROM_FILE() function, 21, 46
GRIBAPI_OPEN_FILE() function, 21, 46GRIBAPI_RELEASE procedure, 46GRIBAPI_RELEASEprocedure, 21GRID_LAYOUT keyword
in WIDGET_BASE() function, 89GRID keyword
in INTERPOLATE() function, 54in PY_PLOT procedure, 67
GROUP_LEADER keywordin WIDGET_BASE() function, 89in WIDGET_BUTTON() function, 89in WIDGET_DROPLIST() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
GROUP keywordin DIALOG_PICKFILE() function, 40
GSL_EXP() function, 18, 46
H5_GET_LIBVERSION() function, 20, 48H5A_CLOSE procedure, 46H5A_CLOSEprocedure, 20H5A_GET_NAME() function, 20, 46H5A_GET_NUM_ATTRS() function, 20, 46H5A_GET_SPACE() function, 20, 46H5A_GET_TYPE() function, 20, 46H5A_OPEN_IDX() function, 20, 46H5A_OPEN_NAME() function, 20, 46H5A_READ() function, 20, 46H5D_CLOSE procedure, 46H5D_CLOSEprocedure, 20H5D_GET_SPACE() function, 20, 47H5D_GET_TYPE() function, 20, 47H5D_OPEN() function, 20, 47H5D_READ() function, 20, 47H5F_CLOSE procedure, 47H5F_CLOSEprocedure, 20H5F_IS_HDF5() function, 20, 47H5F_OPEN() function, 20, 47H5G_CLOSE procedure, 47H5G_CLOSEprocedure, 20H5G_OPEN() function, 20, 47
DRAFT
DRAFT 109
H5S_CLOSE procedure, 47H5S_CLOSEprocedure, 20H5S_GET_SIMPLE_EXTENT_DIMS() function, 20, 47H5T_CLOSE procedure, 47H5T_CLOSEprocedure, 20H5T_GET_SIZE() function, 20, 47HAS_PALETTE keyword
in MAGICK_PING() function, 58HAT keyword
in PLOTERR procedure, 65HDF_CLOSE procedure, 48HDF_CLOSEprocedure, 20HDF_OPEN() function, 20, 48HDF_SD_ADDDATA procedure, 48HDF_SD_ADDDATAprocedure, 20HDF_SD_ATTRFIND() function, 20, 48HDF_SD_ATTRINFO procedure, 48HDF_SD_ATTRINFOprocedure, 20HDF_SD_CREATE() function, 20, 48HDF_SD_DIMGET procedure, 48HDF_SD_DIMGETID() function, 20, 48HDF_SD_DIMGETprocedure, 20HDF_SD_END procedure, 48HDF_SD_ENDACCESS procedure, 48HDF_SD_ENDACCESSprocedure, 20HDF_SD_ENDprocedure, 20HDF_SD_FILEINFO procedure, 48HDF_SD_FILEINFOprocedure, 20HDF_SD_GETDATA procedure, 49HDF_SD_GETDATAprocedure, 20HDF_SD_GETINFO procedure, 49HDF_SD_GETINFOprocedure, 20HDF_SD_NAMETOINDEX() function, 20, 49HDF_SD_SELECT() function, 20, 49HDF_SD_START() function, 20, 49HDF_TYPE keyword
in HDF_SD_ATTRINFO procedure, 48in HDF_SD_CREATE() function, 48in HDF_SD_GETINFO procedure, 49
HDF_VD_ATTACH() function, 20, 49HDF_VD_DETACH procedure, 49
HDF_VD_DETACHprocedure, 20HDF_VD_FIND() function, 20, 49HDF_VD_GET procedure, 49HDF_VD_GETprocedure, 20HDF_VD_READ() function, 20, 49HDF_VG_ATTACH() function, 20, 49HDF_VG_DETACH procedure, 49HDF_VG_DETACHprocedure, 20HDF_VG_GETID() function, 20, 49HDF_VG_GETINFO procedure, 49HDF_VG_GETINFOprocedure, 20HDF_VG_GETTRS procedure, 50HDF_VG_GETTRSprocedure, 20HEADER_DEFINE keyword
in WRITE_BMP procedure, 90HEADER keyword
in READ_ASCII() function, 69HEAP_GC procedure, 50HEAP_GCprocedure, 15HELP procedure, 50HELP keyword
in BESELI() function, 33in BESELJ() function, 33in BESELK() function, 33in BESELY() function, 33in DERIV() function, 39in DIALOG_MESSAGE() function, 39in DIALOG_PICKFILE() function, 40in ESCAPE_SPECIAL_CHAR() function, 41in FILE_BASENAME() function, 42in FILE_COPY procedure, 42in FILE_DELETE procedure, 42in FILE_DIRNAME() function, 43in FINDFILE() function, 43in PLOTERR procedure, 65in PREWITT() function, 66in ROBERTS() function, 70in SKIP_LUN procedure, 82in SMOOTH() function, 82in SOBEL() function, 82in SPL_INIT() function, 82
in SPL_INTERP() function, 82in STR_SEP() function, 85in STRSPLIT() function, 84in WIDGET_BUTTON() function, 89
HELPFORM() function, 50HELPprocedure, 15, 71HIGHWATER keyword
in MEMORY() function, 60HIRES keyword
in MAP_CONTINENTS procedure, 59HIST_2D() function, 18, 50, 51HIST_ND() function, 18, 50HISTOGRAM() function, 18, 50, 51HLS keyword
in TVLCT procedure, 87HSV keyword
in TVLCT procedure, 87HTONL keyword
in BYTEORDER procedure, 34HTONS keyword
in BYTEORDER procedure, 34HYBRID keyword
in NEWTON() function, 62
I_VALUE keywordin CALL_EXTERNAL() function, 34
IDENTITY() function, 15, 18, 51IDL_BASE64() function, 25, 51IDL_CONSTANT() function, 19IDL_VALIDANEM() function, 25IDL_VALIDNAME() function, 12, 51IF, 12IGAMMA() function, 18, 51IGNORE_ACCELERATORS keyword
in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
IHDR keywordin WRITE_BMP procedure, 90
IMAGE_INDEX keywordin MAGICK_PING() function, 58in QUERY_TIFF() function, 68
DRAFT
DRAFT110 Subject Index
in READ_DICOM() function, 69in READ_TIFF() function, 69
IMAGINARY() function, 12, 51IMPULSENOISE keyword
in MAGICK_ADDNOISE procedure, 57in MAGICK_PING() function, 58
IMSL_BINOMIALCOEF() function, 18, 51IMSL_CONSTANT() function, 52IMSL_ERF() function, 18, 53IMSL_ZEROPOLY() function, 18, 19, 53IMSL_ZEROSYS() function, 54IN_GLOBAL keyword
in NCDF_ATTCOPY() function, 60INCHES keyword
in DEVICE procedure, 39INCLUDE_CURRENT_DIR keyword
in FILE_WHICH() function, 43INDEX keyword
in MAKE_ARRAY() function, 59INDGEN() function, 13, 15, 54INFINITY keyword
in FINITE() function, 44INFO keyword
in HELP procedure, 50in MAGICK_PING() function, 58
INFORMATION keywordin DIALOG_MESSAGE() function, 39
INFORMATIONAL keywordin MESSAGE procedure, 60
INPUT keywordin HISTOGRAM() function, 50
INSTALL_NUM keywordin LMGR() function, 55
INT keywordin HDF_SD_CREATE() function, 48
INTARR() function, 13, 15, 54INTEGER keyword
in MAKE_ARRAY() function, 59in PRODUCT() function, 66in TOTAL() function, 87
INTERLEAVE keyword
in READ_TIFF() function, 69INTERPOL() function, 18, 54INTERPOLATE() function, 18, 54INTERPOLATE keyword
in SET_PLOT procedure, 73INVERSE keyword
in FFT() function, 42in IMSL_ERF() function, 53in WTN() function, 90
INVERT() function, 18, 54IOERROR keyword
in MESSAGE procedure, 60ISHFT() function, 19, 54ISOTROPIC keyword
in CONTOUR procedure, 37ISSUE_ACCESS_ERROR keyword
in FILE_SEARCH() function, 43ITER keyword
in BESELI() function, 33in BESELJ() function, 33in BESELK() function, 33in BESELY() function, 33in RK4() function, 70in VOIGT() function, 88
ITMAX keywordin BROYDEN() function, 33in IMSL_ZEROSYS() function, 54in NEWTON() function, 62in SVDC procedure, 86
JACOBIAN keywordin IMSL_ZEROSYS() function, 54
JENKINS_TRAUB keywordin IMSL_ZEROPOLY() function, 53
joint density function, 50JOURNAL procedure, 54JOURNALprocedure, 17JULIAN keyword
in SYSTIME() function, 86
KBRD_FOCUS_EVENTS keywordin WIDGET_BASE() function, 89
in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
KEYWORD_SET() function, 14, 54KILL_NOTIFY keyword
in WIDGET_BASE() function, 89in WIDGET_BUTTON() function, 89in WIDGET_DROPLIST() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
KURTOSIS() function, 18, 54
L64_VALUE keywordin CALL_EXTERNAL() function, 34
L64 keywordin CEIL() function, 37in FLOOR() function, 44in INDGEN() function, 54in MAKE_ARRAY() function, 59in MEMORY() function, 60in ROUND() function, 71in SIZE() function, 82in SORT() function, 82in VALUE_LOCATE() function, 88
L64INDEGEN() function, 15L64INDGEN() function, 13, 54L64SWAP keyword
in BYTEORDER procedure, 34L_VALUE keyword
in CALL_EXTERNAL() function, 34LA_TRIRED procedure, 54LA_TRIREDprocedure, 18LABEL keyword
in HDF_SD_GETINFO procedure, 49LAGUERRE() function, 18, 54LANDSCAPE keyword
in DEVICE procedure, 39LAPLACIANNOISE keyword
in MAGICK_ADDNOISE procedure, 57in MAGICK_PING() function, 58
LAST_ITEM() function, 54LEGENDRE() function, 18, 55
DRAFT
DRAFT 111
LENGTH_OF_HAT keywordin PLOTERR procedure, 65
LENGTH keywordin N_TAGS() function, 62in NCDF_ATTPUT procedure, 61in STREGEX() function, 83in STRSPLIT() function, 84in STRTOK() function, 84
LEVEL keywordin ROUTINE_NAMES() function, 71in SCOPE_VARFETCH() function, 73
LEVELS keywordin CONTOUR procedure, 37
LIB keywordin HELP procedure, 50
LINDEGEN() function, 15LINDGEN() function, 13, 55LINE_FILL keyword
in POLYFILL procedure, 66LINEAR keyword
in RADON() function, 68LINEINTERLACE keyword
in MAGICK_INTERLACE procedure, 58LINES keyword
in SKIP_LUN procedure, 82LINESTYLE keyword
in OPLOT procedure, 64in PLOT procedure, 65in PLOTS procedure, 65in POLYFILL procedure, 66in SURFACE procedure, 85
LINKIMAGE procedure, 55LINKIMAGE() function, 30LINKIMAGEprocedure, 36LIST_OF_SPECIAL_CHAR keyword
in ESCAPE_SPECIAL_CHAR() function, 41LL_ARC_DISTANCE() function, 18, 22, 55LMGR() function, 55LMHOSTID keyword
in LMGR() function, 55LNGAMMA() function, 18, 55
LOADCT procedure, 55LOADCT_INTERNALGDL procedure, 56LOADCTprocedure, 22LOCALE_GET() function, 24, 57LOCATIONS keyword
in HISTOGRAM() function, 50LOGICAL_AND() function, 12, 57LOGICAL_OR() function, 12, 57LOGICAL_TRUE() function, 12, 57LON64ARR() function, 15, 57LONARR() function, 13, 15, 57LONG() function, 12, 13, 57LONG64() function, 12, 13, 57LONG64ARR() function, 13LONG keyword
in HDF_SD_CREATE() function, 48in INDGEN() function, 54in MAKE_ARRAY() function, 59in NCDF_ATTPUT procedure, 61in NCDF_VARDEF() function, 61in RANDOMN() function, 68in RANDOMU() function, 68
LSQUADRATIC keywordin INTERPOL() function, 54
LSWAP keywordin BYTEORDER procedure, 34
LUDC procedure, 57LUDCprocedure, 18
MACHAR() function, 15, 57MAGICK_ADDNOISE procedure, 57MAGICK_CLOSE procedure, 57MAGICK_COLORMAPSIZE() function, 57MAGICK_COLUMNS() function, 58MAGICK_CREATE() function, 58MAGICK_DISPLAY procedure, 58MAGICK_EXISTS() function, 58MAGICK_FLIP procedure, 58MAGICK_INDEXEDCOLOR() function, 58MAGICK_INTERLACE procedure, 58MAGICK_MAGICK() function, 58
MAGICK_MATTE procedure, 58MAGICK_OPEN() function, 58MAGICK_PING() function, 58MAGICK_QUALITY procedure, 58MAGICK_QUANTIZE procedure, 58MAGICK_READ() function, 59MAGICK_READCOLORMAPRGB procedure, 59MAGICK_READINDEXES() function, 59MAGICK_ROWS() function, 59MAGICK_WRITE procedure, 59MAGICK_WRITECOLORTABLE procedure, 59MAGICK_WRITEFILE procedure, 59MAGICK_WRITEINDEXES procedure, 59MAKE_ARRAY() function, 15, 59MANAGED keyword
in WIDGET_CONTROL procedure, 89in WIDGET_INFO() function, 89
Mandelbrot set, 32MAP_CLIP_SET procedure, 59MAP_CLIP_SETprocedure, 22MAP_CONTINENTS procedure, 59MAP_CONTINENTSprocedure, 22MAP_PROJ_FORWARD() function, 59MAP_PROJ_FORWARDprocedure, 22MAP_PROJ_INVERSE() function, 59MAP_PROJ_INVERSEprocedure, 22MAP_STRUCTURE keyword
in MAP_PROJ_FORWARD() function, 59MAP keyword
in MAGICK_READ() function, 59in TRIGRID() function, 87in WIDGET_BASE() function, 89in WIDGET_CONTROL procedure, 89
MARK_DIRECTORY keywordin FILE_DIRNAME() function, 43in FILE_SEARCH() function, 43
MASK keywordin CHECK_MATH() function, 37
MATCH_ALL_INITIAL_DOT keywordin FILE_SEARCH() function, 43
MATCH_INITIAL_DOT keyword
DRAFT
DRAFT112 Subject Index
in FILE_SEARCH() function, 43MATRIX_MULTIPLY() function, 18, 60MAX() function, 18, 60MAX1 keyword
in HIST_2D() function, 50MAX2 keyword
in HIST_2D() function, 50MAX_VALUE keyword
in CONTOUR procedure, 37in OPLOT procedure, 64in PLOT procedure, 65in SURFACE procedure, 85in TRIGRID() function, 87
MAX keywordin BYTSCL() function, 34in HIST_ND() function, 50in HISTOGRAM() function, 50in MIN() function, 60
MAXMOMENT keywordin MOMENT() function, 60
MBAR keywordin WIDGET_BASE() function, 89
MDEV keywordin MOMENT() function, 60
MEAN() function, 18, 60MEANABSDEV() function, 18, 60MEDIAN() function, 18, 27, 60MEMORY() function, 60MEMORY keyword
in HELP procedure, 50MEMORYprocedure, 17MENU keyword
in WIDGET_BUTTON() function, 89MESSAGE procedure, 60MESSAGEprocedure, 15, 17MIN() function, 18, 60MIN1 keyword
in HIST_2D() function, 50MIN2 keyword
in HIST_2D() function, 50MIN_VALUE keyword
in CONTOUR procedure, 37in OPLOT procedure, 64in PLOT procedure, 65in SURFACE procedure, 85
MIN keywordin BYTSCL() function, 34in HIST_ND() function, 50in HISTOGRAM() function, 50in MAX() function, 60
MISSING_VALUE keywordin READ_ASCII() function, 69
MISSING keywordin INTERPOLATE() function, 54in POLY_2D() function, 66in TRIGRID() function, 87
MODAL keywordin WIDGET_BASE() function, 89in WIDGET_INFO() function, 89
MOMENT() function, 18, 60MONTH keyword
in PRINT procedure, 66in PRINTF procedure, 66in READ procedure, 68in READF procedure, 69in READS procedure, 69in STOP procedure, 83in STRING() function, 83
MORE keywordin OPENR procedure, 64in OPENU procedure, 64in OPENW procedure, 64
MTIMES keywordin SAVE procedure, 73
MULTIPLE_FILES keywordin DIALOG_PICKFILE() function, 40
MULTIPLICATIVEGAUSSIANNOISE keywordin MAGICK_ADDNOISE procedure, 57in MAGICK_PING() function, 58
multithreadingin ABS() function, 32in ACOS() function, 32
in ASIN() function, 33in ATAN() function, 33in CEIL() function, 37in COMPLEX() function, 37in CONJ() function, 37in COS() function, 38in COSH() function, 38in EXP() function, 41in FFT() function, 42in FLOOR() function, 44in IMAGINARY() function, 51in LOGICAL_AND() function, 57in LOGICAL_OR() function, 57in LOGICAL_TRUE() function, 57in MAGICK_WRITEINDEXES procedure, 59in PRODUCT() function, 66in PTRARR() function, 66in ROUND() function, 71in SIN() function, 81in SINH() function, 81in SQRT() function, 83in STRCOMPRESS() function, 83in STRLEN() function, 84in STRLOWCASE() function, 84in STRMID() function, 84in STRPOS() function, 84in STRPUT procedure, 84in STRTRIM() function, 85in STRUPCASE() function, 85in TAN() function, 86in TANH() function, 86in TOTAL() function, 87in WHERE() function, 89
MUST_EXIST keywordin DIALOG_PICKFILE() function, 40
N_DIMENSIONS keywordin SIZE() function, 82
N_ELEMENTS() function, 14, 15, 62N_ELEMENTS keyword
in SIZE() function, 82
DRAFT
DRAFT 113
N_PARAMS() function, 14, 62N_TAGS() function, 15, 62NAME keyword
in CREATE_STRUCT() function, 39in HDF_SD_ATTRINFO procedure, 48in HDF_SD_DIMGET procedure, 48in HDF_SD_GETINFO procedure, 49in HDF_VD_GET procedure, 49in HDF_VG_GETINFO procedure, 49
NAMED_PIPE keywordin FILE_TEST() function, 43
NAMES keywordin SAVE procedure, 73
NAN keywordin BYTSCL() function, 34in FINITE() function, 44in KURTOSIS() function, 54in MAX() function, 60in MEAN() function, 60in MEANABSDEV() function, 60in MIN() function, 60in MOMENT() function, 60in PRODUCT() function, 66in SKEWNESS() function, 82in SMOOTH() function, 82in STDDEV() function, 83in TOTAL() function, 87in TVSCL procedure, 87in VARIANCE() function, 88
NATTR keywordin HDF_SD_DIMGET procedure, 48
NATTS keywordin HDF_SD_GETINFO procedure, 49
NBINS keywordin HIST_ND() function, 50in HISTOGRAM() function, 50
NCDF_ATTCOPY() function, 20, 60NCDF_ATTDEL procedure, 60NCDF_ATTDELprocedure, 20NCDF_ATTGET procedure, 60NCDF_ATTGETprocedure, 20
NCDF_ATTINQ() function, 20, 60NCDF_ATTNAME() function, 20, 60NCDF_ATTPUT procedure, 61NCDF_ATTPUTprocedure, 20NCDF_ATTRENAME procedure, 61NCDF_ATTRENAMEprocedure, 20NCDF_CLOSE procedure, 61NCDF_CLOSEprocedure, 20NCDF_CONTROL procedure, 61NCDF_CONTROLprocedure, 20, 62NCDF_CREATE() function, 20, 61NCDF_DIMDEF() function, 20, 61NCDF_DIMID() function, 20, 61NCDF_DIMINQ procedure, 61NCDF_DIMINQprocedure, 20NCDF_DIMRENAME procedure, 61NCDF_DIMRENAMEprocedure, 20NCDF_EXISTS() function, 20, 61NCDF_INQUIRE() function, 20, 61NCDF_OPEN() function, 20, 61NCDF_VARDEF() function, 20, 61NCDF_VARGET procedure, 62NCDF_VARGET1 procedure, 62NCDF_VARGET1procedure, 20NCDF_VARGETprocedure, 20NCDF_VARID() function, 20, 62NCDF_VARINQ() function, 20, 62NCDF_VARPUT procedure, 62NCDF_VARPUTprocedure, 20NCDF_VARRENAME procedure, 62NCDF_VARRENAMEprocedure, 20NCOLORS keyword
in LOADCT procedure, 55NCOMPLEMENT keyword
in WHERE() function, 89NDIMS keyword
in HDF_SD_GETINFO procedure, 49NENTRIES keyword
in HDF_VG_GETINFO procedure, 49NEWTON() function, 19, 62NLEVELS keyword
in CONTOUR procedure, 37NO_CHECK keyword
in DERIV() function, 39NO_CONFIRM keyword
in EXIT procedure, 41NO_COPY keyword
in PTR_NEW() function, 67in WIDGET_BASE() function, 89in WIDGET_BUTTON() function, 89in WIDGET_CONTROL procedure, 89in WIDGET_DROPLIST() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
NO_INTERLACE keywordin HDF_VD_READ() function, 49
NO_NEWLINE keywordin WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
NO_RELEASE keywordin WIDGET_BUTTON() function, 89
NO_TYPECONV keywordin ARRAY_EQUAL() function, 32
NOAUTOMODE keywordin OPENR procedure, 64in OPENU procedure, 64in OPENW procedure, 64
NOCATCH keywordin SAVE procedure, 73
NOCLEAR keywordin CHECK_MATH() function, 37
NOCLIP keywordin CONTOUR procedure, 37in OPLOT procedure, 64in PLOT procedure, 65in PLOTS procedure, 65in POLYFILL procedure, 66in SURFACE procedure, 85in XYOUTS procedure, 90
NOCLOBBER keywordin NCDF_CREATE() function, 61
NODATA keyword
DRAFT
DRAFT114 Subject Index
in AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
NOERASE keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
NOEXPAND_PATH keywordin FILE_COPY procedure, 42in FILE_DELETE procedure, 42in FILE_INFO() function, 43in FILE_LINES() function, 43in FILE_MKDIR procedure, 43in FILE_SAME() function, 43in FILE_TEST() function, 43
NOFILL keywordin NCDF_CONTROL procedure, 61
NOINTERLACE keywordin MAGICK_INTERLACE procedure, 58
NOISE keywordin MAGICK_ADDNOISE procedure, 57in MAGICK_PING() function, 58
NONAME keywordin MESSAGE procedure, 60
NONEXCLUSIVE keywordin WIDGET_BASE() function, 89
NOPREFIX keywordin MESSAGE procedure, 60
NOPRINT keywordin MESSAGE procedure, 60
NORM() function, 18, 62NORMAL keyword
in AXIS procedure, 33in CONTOUR procedure, 37in CONVERT_COORD() function, 37in CURSOR procedure, 39in PLOT procedure, 65in PLOTS procedure, 65in POLYFILL procedure, 66
in RANDOMN() function, 68in RANDOMU() function, 68in SURFACE procedure, 85in TV procedure, 87in XYOUTS procedure, 90
NOSHELL keywordin SPAWN procedure, 82
NOSORT keywordin FILE_SEARCH() function, 43
NOTIFY_REALIZE keywordin WIDGET_BASE() function, 89in WIDGET_BUTTON() function, 89in WIDGET_DROPLIST() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
NOVERBOSE keywordin NCDF_CONTROL procedure, 61
NOWAIT keywordin CURSOR procedure, 39
NOWRITE keywordin NCDF_OPEN() function, 61
NOZERO keywordin BYTARR() function, 33in COMPLEXARR() function, 37in DBLARR() function, 39in DCOMPLEXARR() function, 39in FLTARR() function, 44in INTARR() function, 54in LON64ARR() function, 57in LONARR() function, 57in MAKE_ARRAY() function, 59in OBJARR() function, 62in PTRARR() function, 66in STRARR() function, 83in STRUCT_ASSIGN procedure, 85in UINTARR() function, 88in ULON64ARR() function, 88in ULONARR() function, 88
NRECORDS keywordin HDF_VD_READ() function, 49
NRHO keyword
in RADON() function, 68NSUM keyword
in OPLOT procedure, 64NTHETA keyword
in RADON() function, 68NTOHL keyword
in BYTEORDER procedure, 34NTOHS keyword
in BYTEORDER procedure, 34NUM_ALLOC keyword
in MEMORY() function, 60NUM_DD keyword
in HDF_OPEN() function, 48NUM_FREE keyword
in MEMORY() function, 60NUM_IMAGES keyword
in MAGICK_PING() function, 58NUM_RECORDS keyword
in READ_ASCII() function, 69NX keyword
in RADON() function, 68in TRIGRID() function, 87
NY keywordin RADON() function, 68in TRIGRID() function, 87
OBJ_CLASS() function, 15, 63OBJ_DESTROY procedure, 63OBJ_DESTROY() function, 13OBJ_DESTROYprocedure, 15OBJ_ISA() function, 15, 63OBJ_NEW() function, 15, 63OBJ_VALID() function, 15, 64OBJ keyword
in HEAP_GC procedure, 50in MAKE_ARRAY() function, 59
OBJARR() function, 13, 15, 62OF
in CASE statement, 13in SWITCH statement, 13
OFFSET keyword
DRAFT
DRAFT 115
in NCDF_VARGET procedure, 62in NCDF_VARGET1 procedure, 62in NCDF_VARPUT procedure, 62
OLDFILL keywordin NCDF_CONTROL procedure, 61
OMAX keywordin HISTOGRAM() function, 50
OMIN keywordin HISTOGRAM() function, 50
ON_ERROR procedure, 64ON_ERRORprocedure, 15ON_IOERRORprocedure, 15OPENR procedure, 64OPENRprocedure, 20OPENU procedure, 64OPENUprocedure, 20OPENW procedure, 64OPENWprocedure, 20OPLOT procedure, 64OPLOTprocedure, 22ORDER keyword
in READ_JPEG procedure, 69in READ_PNG() function, 69in TV procedure, 87in TVRD() function, 87in WRITE_JPEG procedure, 90in WRITE_PNG procedure, 90
ORIENTATION keywordin POLYFILL procedure, 66in READ_TIFF() function, 69in XYOUTS procedure, 90
OUT_GLOBAL keywordin NCDF_ATTCOPY() function, 60
OUTPUT keywordin HELP procedure, 50
OVERPLOT keywordin CONTOUR procedure, 37
OVERWRITE_PROMPT keywordin DIALOG_PICKFILE() function, 40
OVERWRITE keywordin FFT() function, 42
in FILE_COPY procedure, 42in REFORM() function, 70in REVERSE() function, 70in WTN() function, 90
PACKED keywordin ASSOC() function, 33
PARAMETERS keywordin ROUTINE_INFO() function, 71
PARENT_DIRECTORY keywordin PATH_SEP() function, 65
PARSE_URL() function, 24, 25, 65Pascal’s triangle, 51PASS_METHOD keyword
in SAVE procedure, 73PATH_SEP() function, 24, 42, 65PATH keyword
in DIALOG_PICKFILE() function, 40PHASE keyword
in ATAN() function, 33PID keyword
in SPAWN procedure, 82PIXEL_TYPE keyword
in MAGICK_PING() function, 58PIXMAP keyword
in WINDOW procedure, 90PLANARCONFIG keyword
in READ_TIFF() function, 69PLANEINTERLACE keyword
in MAGICK_INTERLACE procedure, 58PLOT procedure, 65PLOTERR procedure, 65PLOTERRprocedure, 22PLOTprocedure, 22PLOTS procedure, 65PLOTSprocedure, 22PM procedure, 65PMprocedure, 15, 20POINT_LUN procedure, 66POINT_LUNprocedure, 20POISSON keyword
in RANDOMN() function, 68in RANDOMU() function, 68
POISSONNOISE keywordin MAGICK_ADDNOISE procedure, 57in MAGICK_PING() function, 58
POLAR keywordin OPLOT procedure, 64
POLY() function, 18, 66POLY_2D() function, 27, 66POLY_AREA() function, 19, 66POLYFILL procedure, 66POLYFILLprocedure, 22POLYGONS keyword
in MAP_PROJ_FORWARD() function, 59POLYLINES keyword
in MAP_PROJ_FORWARD() function, 59POPD procedure, 66POPDprocedure, 24PORTRAIT keyword
in DEVICE procedure, 39POSITION keyword
in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
PRESERVE_NULL keywordin STRSPLIT() function, 84in STRTOK() function, 84
PRESERVE_TYPE keywordin PRODUCT() function, 66in TOTAL() function, 87
PREWITT() function, 27, 66PRIMES() function, 18, 66PRINT procedure, 66PRINT keyword
in CHECK_MATH() function, 37in FIX() function, 44in STRING() function, 83
PRINTD procedure, 66PRINTDprocedure, 24PRINTF procedure, 66PRINTFprocedure, 20
DRAFT
DRAFT116 Subject Index
PRINTprocedure, 15, 20PRO_SET_VALUE keyword
in WIDGET_BASE() function, 89in WIDGET_BUTTON() function, 89in WIDGET_CONTROL procedure, 89in WIDGET_DROPLIST() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
PROCEDURES keywordin HELP procedure, 50
PRODUCT() function, 18, 66PROGRESSIVE keyword
in WRITE_JPEG procedure, 90PROMPT keyword
in READ procedure, 68in READF procedure, 69
PSYM keywordin OPLOT procedure, 64in PLOT procedure, 65in PLOTERR procedure, 65in PLOTS procedure, 65
PTR_FREE procedure, 67PTR_FREE() function, 13PTR_FREEprocedure, 15PTR_NEW() function, 15, 67PTR_VALID() function, 15, 67PTR keyword
in HEAP_GC procedure, 50in MAKE_ARRAY() function, 59
PTRARR() function, 13, 15, 66PTRARRprocedure, 15PUSHBUTTON_EVENTS keyword
in WIDGET_BUTTON() function, 89PUSHD procedure, 67PUSHDprocedure, 24PY_PLOT procedure, 67PY_PRINT procedure, 67PYTHON procedure, 67PYTHON() function, 14, 31, 67PYTHONprocedure, 14, 31
QUADRATIC keywordin INTERPOL() function, 54
QUALITY keywordin WRITE_JPEG procedure, 90
QUERY_BMP() function, 27, 67QUERY_DICOM() function, 27, 68QUERY_GIF() function, 27, 68QUERY_IMAGE() function, 27, 68QUERY_JPEG() function, 27, 68QUERY_PICT() function, 27, 68QUERY_PNG() function, 27, 68QUERY_PPM() function, 27, 68QUERY_TIFF() function, 27, 68QUESTION keyword
in DIALOG_MESSAGE() function, 39QUIET keyword
in FILE_COPY procedure, 42in FILE_DELETE procedure, 42in FINDFILE() function, 43in SAVE procedure, 73
QUOTE keywordin FILE_SEARCH() function, 43
RADIANS keywordin MAP_PROJ_FORWARD() function, 59in MAP_PROJ_INVERSE() function, 59
RADON() function, 27, 68RANDOMN() function, 19, 68RANDOMU() function, 19, 68RDWR keyword
in HDF_OPEN() function, 48in HDF_SD_START() function, 49
READ procedure, 68READ_ASCII() function, 69READ_ASCIIprocedure, 20READ_BINARY() function, 20, 69READ_BMP() function, 27, 69READ_DICOM() function, 27, 69READ_JPEG procedure, 69READ_JPEGprocedure, 27READ_PICT procedure, 69
READ_PICTprocedure, 27READ_PNG() function, 27, 69, 71READ_TIFF() function, 27, 69READ_TIMEOUT keyword
in SOCKET procedure, 82READ_XWD() function, 27, 69READ keyword
in DIALOG_PICKFILE() function, 40in FILE_TEST() function, 43in HDF_OPEN() function, 48in HDF_SD_START() function, 49in HDF_VD_ATTACH() function, 49in HDF_VG_ATTACH() function, 49
READF procedure, 69READFprocedure, 20READprocedure, 20READS procedure, 69READS() function, 25READSprocedure, 20READU procedure, 69READUprocedure, 20REAL_PART() function, 12, 69REALIZE keyword
in WIDGET_CONTROL procedure, 89REBIN() function, 15, 18, 27, 70RECALL_COMMANDS() function, 70RECALL_COMMANDS keyword
in HELP procedure, 50RECALL_COMMANDSprocedure, 17RECORD_START keyword
in READ_ASCII() function, 69RECURSIVE keyword
in FILE_COPY procedure, 42in FILE_DELETE procedure, 42
REDEF keywordin NCDF_CONTROL procedure, 61
REF keywordin HDF_VD_GET procedure, 49in HDF_VG_GETINFO procedure, 49
REFORM() function, 15, 70REGEX keyword
DRAFT
DRAFT 117
in STRSPLIT() function, 84in STRTOK() function, 84
REGULAR keywordin FILE_TEST() function, 43
RELAXED_STRUCTURE_ASSIGNMENT keywordin RESTORE procedure, 70
REMOVE_ALL keywordin STR_SEP() function, 85in STRCOMPRESS() function, 83
REPEAT, 14REPLICATE() function, 13, 15, 18, 70REPLICATE_INPLACE procedure, 70REPLICATE_INPLACEprocedure, 15, 18REQUIRE_DIRECTORY keyword
in FILE_COPY procedure, 42RESET keyword
in CPU procedure, 39in MAP_CLIP_SET procedure, 59in MESSAGE procedure, 60
RESOLUTION keywordin GET_SCREEN_SIZE() function, 45
RESOLVE_ROUTINE procedure, 70RESOLVE_ROUTINEprocedure, 17RESOURCE_NAME keyword
in DIALOG_MESSAGE() function, 39in DIALOG_PICKFILE() function, 40in WIDGET_BASE() function, 89in WIDGET_DROPLIST() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
RESTORE procedure, 70RESTORE keyword
in CPU procedure, 39RESTORED_OBJECTS keyword
in RESTORE procedure, 70RESTOREprocedure, 21RESULT keyword
in APPLEMAN procedure, 32RETAIN keyword
in WINDOW procedure, 90RETALL procedure, 70
RETALL keywordin RETALL procedure, 70
RETALLprocedure, 17RETURN_TYPE keyword
in CALL_EXTERNAL() function, 34REVERSE() function, 15, 18, 70REVERSE_INDICES keyword
in HIST_ND() function, 50in HISTOGRAM() function, 50
REVERSE_OFFSET keywordin STRMID() function, 84in STRPOS() function, 84
REVERSE_SEARCH keywordin STRPOS() function, 84
RGB keywordin MAGICK_READ() function, 59in MAGICK_WRITE procedure, 59in READ_BMP() function, 69in WRITE_BMP procedure, 90
RHO keywordin RADON() function, 68
RIVERS keywordin MAP_CONTINENTS procedure, 59
RK4() function, 19, 70RK4JMG() function, 70RMIN keyword
in RADON() function, 68RNAME_MBAR keyword
in WIDGET_BASE() function, 89ROBERTS() function, 27, 70ROOT_DIR keyword
in FILEPATH() function, 42ROTATE() function, 15, 18, 27, 70ROUND() function, 18, 71ROUTINE_INFO() function, 17, 71, 73ROUTINE_NAMES() function, 17, 71ROUTINES keyword
in HELP procedure, 50ROW keyword
in WIDGET_BASE() function, 89RSTRPOS() function, 25, 73
RUNTIME keywordin LMGR() function, 55
S_FUNCTIONS keywordin ROUTINE_NAMES() function, 71
S_PROCEDURES keywordin ROUTINE_NAMES() function, 71
S_VALUE keywordin CALL_EXTERNAL() function, 34
SAMPLE keywordin REBIN() function, 70
SAVE procedure, 73SAVE keyword
in AXIS procedure, 33SAVEprocedure, 21SCALE keyword
in HDF_SD_DIMGET procedure, 48SCOPE_VARFETCH() function, 17, 73SCR_XSIZE keyword
in WIDGET_BASE() function, 89in WIDGET_BUTTON() function, 89in WIDGET_DROPLIST() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
SCR_YSIZE keywordin WIDGET_BASE() function, 89in WIDGET_BUTTON() function, 89in WIDGET_DROPLIST() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
SCROLL keywordin WIDGET_BASE() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
SDEV keywordin MOMENT() function, 60
SEARCH_PATH keywordin PATH_SEP() function, 65
SECONDS keywordin SYSTIME() function, 86
SEM_CREATE() function, 28, 73
DRAFT
DRAFT118 Subject Index
SEM_DELETE procedure, 73SEM_DELETEprocedure, 28SEM_LOCK() function, 28, 73SEM_RELEASE procedure, 73SEM_RELEASEprocedure, 28SENSITIVE keyword
in WIDGET_BASE() function, 89in WIDGET_BUTTON() function, 89in WIDGET_CONTROL procedure, 89in WIDGET_DROPLIST() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
SEPARATOR keywordin WIDGET_BUTTON() function, 89
SET_BUTTON keywordin WIDGET_CONTROL procedure, 89
SET_CHARACTER_SIZE keywordin DEVICE procedure, 39
SET_DROPLIST_SELECT keywordin WIDGET_CONTROL procedure, 89
SET_PLOT procedure, 73SET_PLOTprocedure, 22SET_RESOLUTION keyword
in DEVICE procedure, 39SET_UNAME keyword
in WIDGET_CONTROL procedure, 89SET_UVALUE keyword
in WIDGET_CONTROL procedure, 89SET_VALUE keyword
in WIDGET_CONTROL procedure, 89SETENV procedure, 73SETENVprocedure, 24SH_LOCATION keyword
in FINDFILE() function, 43SH keyword
in SPAWN procedure, 82SHIFT() function, 18, 73SHORT keyword
in HDF_SD_CREATE() function, 48in NCDF_ATTPUT procedure, 61in NCDF_VARDEF() function, 61
SHORTFORM keywordin HELPFORM() function, 50
SHOW_LIST keywordin ESCAPE_SPECIAL_CHAR() function, 41
SHOWFONT procedure, 73SHOWFONTprocedure, 23SIGNED keyword
in POLY_AREA() function, 66SILENT keyword
in LOADCT procedure, 55SIN() function, 18, 81SINDGEN() function, 15, 25, 81SINGLE keyword
in HELPFORM() function, 50in STRJOIN() function, 83
SINH() function, 18, 81SITE_NOTICE keyword
in LMGR() function, 55SIZE() function, 12, 14, 15, 35, 82SIZE keyword
in HELPFORM() function, 50in MAKE_ARRAY() function, 59
SKEWNESS() function, 18, 82SKIP_LUN procedure, 82SKIP_LUNprocedure, 20SMOOTH() function, 27, 82SOBEL() function, 27, 82SOCKET procedure, 82SOCKET keyword
in FILE_TEST() function, 43SOCKETprocedure, 24SORT() function, 15, 25, 82SPACE keyword
in WIDGET_BASE() function, 89SPACING keyword
in POLYFILL procedure, 66SPAWN procedure, 82SPAWN_OPTIONS keyword
in FINDFILE() function, 43SPAWNprocedure, 24SPHER_HARM() function, 18, 82
SPL_INIT() function, 18, 82SPL_INIT_OLD() function, 82SPL_INTERP() function, 18, 82SPL_INTERP_OLD() function, 82SPLINE keyword
in INTERPOL() function, 54SPLIT keyword
in MAP_CLIP_SET procedure, 59SQRT() function, 12, 18, 83SSWAP keyword
in BYTEORDER procedure, 34START keyword
in HDF_SD_ADDDATA procedure, 48in HDF_SD_GETDATA procedure, 49
STATUS keywordin EXIT procedure, 41in SAVE procedure, 73
STDDEV() function, 18, 83STDIO_NON_FINITE keyword
in PRINT procedure, 66in PRINTF procedure, 66in STOP procedure, 83
STDIO keywordin OPENR procedure, 64in OPENU procedure, 64in OPENW procedure, 64in SOCKET procedure, 82
STIRLING keywordin FACTORIAL() function, 41
STOP procedure, 83STOPprocedure, 17STORE keyword
in ROUTINE_NAMES() function, 71STR_SEP() function, 25, 85STRARR() function, 13, 15, 25, 83STRCMP() function, 25, 83STRCOMPRESS() function, 25, 83STREAM keyword
in OPENR procedure, 64in OPENU procedure, 64in OPENW procedure, 64
DRAFT
DRAFT 119
STREGEX() function, 25, 83STRIDE keyword
in HDF_SD_ADDDATA procedure, 48in HDF_SD_GETDATA procedure, 49in NCDF_VARGET procedure, 62in NCDF_VARPUT procedure, 62
STRING() function, 13, 25, 83STRING keyword
in HDF_SD_CREATE() function, 48in INDGEN() function, 54in MAKE_ARRAY() function, 59
STRJOIN() function, 25, 83STRLEN() function, 25, 84STRLOWCASE() function, 84STRLOWERCASE() function, 25STRMID() function, 25, 84STRPOS() function, 25, 84STRPUT procedure, 84STRPUT() function, 25STRSPLIT() function, 25, 84STRTOK() function, 25, 84STRTRIM() function, 25, 85STRUCT_ALIGN_BYTES keyword
in CALL_EXTERNAL() function, 34STRUCT_ASSIGN procedure, 85STRUCT_ASSIGNprocedure, 15STRUCTURE_NAME keyword
in HELPFORM() function, 50in TAG_NAMES() function, 86
STRUCTURE keywordin MEMORY() function, 60in SIZE() function, 82
STRUCTURES keywordin HELP procedure, 50
STRUPCASE() function, 25, 85STUDENT keyword
in LMGR() function, 55SUB_RECT keyword
in MAGICK_READ() function, 59in READ_TIFF() function, 69
SUBDIRECTORY keyword
in FILEPATH() function, 42SUBEXPR keyword
in STREGEX() function, 83SUBSCRIPT_MAX keyword
in MIN() function, 60SUBSCRIPT_MIN keyword
in MAX() function, 60SUBTITLE keyword
in AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
SUPERCLASS keywordin OBJ_CLASS() function, 63
SURFACE procedure, 85SURFACEprocedure, 22SVDC procedure, 86SVDCprocedure, 18SWAP_ENDIAN() function, 19, 20, 86SWAP_ENDIAN_INPLACE procedure, 86SWAP_ENDIAN_INPLACEprocedure, 19, 20SWAP_ENDIAN keyword
in OPENR procedure, 64in OPENU procedure, 64in OPENW procedure, 64in SOCKET procedure, 82
SWAP_IF_BIG_ENDIAN keywordin BYTEORDER procedure, 34in OPENR procedure, 64in OPENU procedure, 64in OPENW procedure, 64in SOCKET procedure, 82in SWAP_ENDIAN() function, 86in SWAP_ENDIAN_INPLACE procedure, 86
SWAP_IF_LITTLE_ENDIAN keywordin BYTEORDER procedure, 34in OPENR procedure, 64in OPENU procedure, 64in OPENW procedure, 64in SOCKET procedure, 82in SWAP_ENDIAN() function, 86
in SWAP_ENDIAN_INPLACE procedure, 86SWITCH, 13SYMLINK keyword
in FILE_TEST() function, 43SYMSIZE keyword
in OPLOT procedure, 64in PLOT procedure, 65in PLOTS procedure, 65
SYNC keywordin NCDF_CONTROL procedure, 61
SYSTEM keywordin ROUTINE_INFO() function, 71
SYSTIME() function, 26, 86
T3D keywordin AXIS procedure, 33in CONTOUR procedure, 37in CONVERT_COORD() function, 37in OPLOT procedure, 64in PLOTS procedure, 65in SURFACE procedure, 85
T_PDF() function, 18, 87TAB_MODE keyword
in WIDGET_BUTTON() function, 89in WIDGET_DROPLIST() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
TAG_NAMES() function, 15, 86TAG keyword
in HDF_VD_GET procedure, 49in HDF_VG_GETINFO procedure, 49
TAGFORM keywordin HELPFORM() function, 50
TAN() function, 18, 86TANH() function, 18, 86TEMPLATE procedure, 86TEMPLATE_BLANK procedure, 87TEMPLATE keyword
in READ_ASCII() function, 69in READ_BINARY() function, 69
TEMPORARY() function, 12, 13, 17, 87
DRAFT
DRAFT120 Subject Index
TERMINAL keywordin FILEPATH() function, 42
TEST keywordin DERIV() function, 39in DIALOG_PICKFILE() function, 40in ESCAPE_SPECIAL_CHAR() function, 41in FILE_COPY procedure, 42in FILE_DELETE procedure, 42in FINDFILE() function, 43in PATH_SEP() function, 65in PLOTERR procedure, 65in SAVE procedure, 73in SKIP_LUN procedure, 82in SMOOTH() function, 82in STR_SEP() function, 85in STRSPLIT() function, 84
TETRIS procedure, 87THEN, 12THETA keyword
in RADON() function, 68THICK keyword
in AXIS procedure, 33in CONTOUR procedure, 37in OPLOT procedure, 64in PLOT procedure, 65in PLOTS procedure, 65in POLYFILL procedure, 66in SURFACE procedure, 85
TICKLEN keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
TITLE keywordin CONTOUR procedure, 37in DIALOG_MESSAGE() function, 39in DIALOG_PICKFILE() function, 40in PLOT procedure, 65in PM procedure, 65in PY_PLOT procedure, 67in SURFACE procedure, 85
in WIDGET_BASE() function, 89in WIDGET_DROPLIST() function, 89in WINDOW procedure, 90
TLB_FRAME_ATTR keywordin WIDGET_BASE() function, 89
TLB_ICONIFY_EVENTS keywordin WIDGET_BASE() function, 89
TLB_KILL_REQUEST_EVENTS keywordin WIDGET_BASE() function, 89
TLB_MOVE_EVENTS keywordin WIDGET_BASE() function, 89
TLB_SIZE_EVENTS keywordin WIDGET_BASE() function, 89
TMP keywordin FILEPATH() function, 42
TNAME keywordin SIZE() function, 82
TO_DATA keywordin CONVERT_COORD() function, 37
TO_DEVICE keywordin CONVERT_COORD() function, 37
TO_NORMAL keywordin CONVERT_COORD() function, 37
TOLF keywordin BROYDEN() function, 33in NEWTON() function, 62
TOLX keywordin BROYDEN() function, 33in NEWTON() function, 62
TOOLBAR keywordin WIDGET_BASE() function, 89
TOOLTIP keywordin WIDGET_BUTTON() function, 89
TOP keywordin BYTSCL() function, 34
TOTAL() function, 18, 87TPOOL_MAX_ELTS keyword
in CPU procedure, 39TPOOL_MIN_ELTS keyword
in CPU procedure, 39TPOOL_NTHREADS keyword
in CPU procedure, 39TRACE() function, 18, 87TRACEBACK keyword
in MESSAGE procedure, 60TRACKING_EVENTS keyword
in WIDGET_BASE() function, 89in WIDGET_BUTTON() function, 89in WIDGET_DROPLIST() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
TRANSFER_COUNT keywordin READU procedure, 69in SKIP_LUN procedure, 82in WRITEU procedure, 90
TRANSFORM keywordin MAP_CLIP_SET procedure, 59
TRANSPARENT keywordin READ_PNG() function, 69in WRITE_PNG procedure, 90
TRANSPOSE() function, 15, 18, 87TRIAL keyword
in LMGR() function, 55TRIGRID() function, 19, 87TRIM keyword
in STR_SEP() function, 85TRUE keyword
in READ_JPEG procedure, 69in TV procedure, 87in TVRD() function, 87in WRITE_JPEG procedure, 90
TRUECOLOR keywordin MAGICK_QUANTIZE procedure, 58
TT_FONT keywordin SHOWFONT procedure, 73
TV procedure, 87TV() function, 22TVLCT procedure, 87TVLCT() function, 22TVprocedure, 15, 65TVRD() function, 22, 65, 87TVSCL procedure, 87
DRAFT
DRAFT 121
TVSCL() function, 22TWO_PASS_QUANTIZE keyword
in READ_JPEG procedure, 69TYPE keyword
in FIX() function, 44in HDF_SD_ATTRINFO procedure, 48in HDF_SD_GETINFO procedure, 49in INDGEN() function, 54in MAGICK_PING() function, 58in MAKE_ARRAY() function, 59in PLOTERR procedure, 65in SIZE() function, 82
UI_VALUE keywordin CALL_EXTERNAL() function, 34
UINDGEN() function, 13, 15, 87UINT() function, 12, 13, 88UINT keyword
in INDGEN() function, 54in MAKE_ARRAY() function, 59
UINTARR() function, 13, 15, 88UL64_VALUE keyword
in CALL_EXTERNAL() function, 34UL64 keyword
in FACTORIAL() function, 41in INDGEN() function, 54in MAKE_ARRAY() function, 59
UL64INDGEN() function, 13, 15, 88UL_VALUE keyword
in CALL_EXTERNAL() function, 34ULINDGEN() function, 13, 15, 88ULON64ARR() function, 13, 15, 88ULONARR() function, 13, 15, 88ULONG() function, 12, 13, 88ULONG64() function, 12, 13, 88ULONG keyword
in INDGEN() function, 54in MAKE_ARRAY() function, 59
UNAME keywordin WIDGET_BASE() function, 89in WIDGET_BUTTON() function, 89
in WIDGET_DROPLIST() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
UNIFORM keywordin RANDOMN() function, 68in RANDOMU() function, 68
UNIFORMNOISE keywordin MAGICK_ADDNOISE procedure, 57in MAGICK_PING() function, 58
UNIQ() function, 15, 18, 25, 88UNIT keyword
in HDF_SD_GETINFO procedure, 49in READ_JPEG procedure, 69in SPAWN procedure, 82in WRITE_JPEG procedure, 90
UNITS keywordin WIDGET_BASE() function, 89in WIDGET_BUTTON() function, 89in WIDGET_DROPLIST() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
UNLIMITED keywordin NCDF_DIMDEF() function, 61
UNLOAD keywordin CALL_EXTERNAL() function, 34
UNTIL, 14UP keyword
in CURSOR procedure, 39UPPER keyword
in LA_TRIRED procedure, 54USEUNIT keyword
in SAVE procedure, 73UTC keyword
in SYSTIME() function, 86UVALUE keyword
in WIDGET_BASE() function, 89in WIDGET_BUTTON() function, 89in WIDGET_DROPLIST() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
VALID keywordin WIDGET_INFO() function, 89
VALUE_LOCATE() function, 18, 88VALUE keyword
in CALL_EXTERNAL() function, 34in MAKE_ARRAY() function, 59in WIDGET_BUTTON() function, 89in WIDGET_DROPLIST() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
VARIABLES keywordin ROUTINE_NAMES() function, 71
VARIANCE() function, 18, 88VARSTATUS keyword
in SAVE procedure, 73VAX_FLOAT keyword
in OPENR procedure, 64in OPENU procedure, 64in OPENW procedure, 64
VECTOR_ENABLE keywordin CPU procedure, 39
VERBOSE keywordin DIALOG_PICKFILE() function, 40in ESCAPE_SPECIAL_CHAR() function, 41in FILE_COPY procedure, 42in FILE_DELETE procedure, 42in FINDFILE() function, 43in HEAP_GC procedure, 50in NCDF_CONTROL procedure, 61in READ_ASCII() function, 69in READ_PNG() function, 69in READ_TIFF() function, 69in RESTORE procedure, 70in SAVE procedure, 73in SMOOTH() function, 82in STRUCT_ASSIGN procedure, 85in WRITE_PNG procedure, 90
VERSION keywordin WIDGET_INFO() function, 89
VM keywordin LMGR() function, 55
DRAFT
DRAFT122 Subject Index
VOIGT() function, 18, 88
WAIT procedure, 88WAIT keyword
in CURSOR procedure, 39WAITprocedure, 24WDELETE procedure, 88WDELETEprocedure, 22WHERE() function, 15, 32, 89WHILE, 14WIDGET_BASE() function, 29, 89WIDGET_BUTTON() function, 29, 89WIDGET_CONTROL procedure, 89WIDGET_CONTROLprocedure, 29WIDGET_DROPLIST() function, 29, 89WIDGET_EVENT() function, 29, 89WIDGET_INFO() function, 29, 89WIDGET_LABEL() function, 29, 89WIDGET_TEXT() function, 29, 90WIDTH keyword
in HELPFORM() function, 50in OPENR procedure, 64in OPENU procedure, 64in OPENW procedure, 64in SOCKET procedure, 82in XYOUTS procedure, 90
WINDOW procedure, 90WINDOW_STATE keyword
in DEVICE procedure, 39WINDOWprocedure, 22WORDS keyword
in TVRD() function, 87WRAP keyword
in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
WRITE_BMP procedure, 90WRITE_BMPprocedure, 27WRITE_JPEG procedure, 90WRITE_JPEGprocedure, 27WRITE_PICT procedure, 90WRITE_PICTprocedure, 27
WRITE_PNG procedure, 90WRITE_PNGprocedure, 27, 71WRITE_TIMEOUT keyword
in SOCKET procedure, 82WRITE keyword
in DIALOG_PICKFILE() function, 40in FILE_TEST() function, 43in HDF_OPEN() function, 48in HDF_VD_ATTACH() function, 49in HDF_VG_ATTACH() function, 49in NCDF_OPEN() function, 61
WRITEprocedure, 20WRITEU procedure, 90WSET procedure, 90WSETprocedure, 22WSHOW procedure, 90WSHOWprocedure, 22WTN() function, 19, 90
X_BITMAP_EXTRA keywordin WIDGET_BUTTON() function, 89
X_SCROLL_SIZE keywordin WIDGET_BASE() function, 89
XAXIS keywordin AXIS procedure, 33
XCHARSIZE keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
XDR keywordin OPENR procedure, 64in OPENU procedure, 64in OPENW procedure, 64in SAVE procedure, 73
XDRTOD keywordin BYTEORDER procedure, 34
XDRTOF keywordin BYTEORDER procedure, 34
XGRIDSTYLE keywordin AXIS procedure, 33
in CONTOUR procedure, 37in SURFACE procedure, 85
XGUESS keywordin IMSL_ZEROSYS() function, 54
XLABEL keywordin PY_PLOT procedure, 67
XLOG keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in PLOTERR procedure, 65in SURFACE procedure, 85
XMANAGER_ACTIVE_COMMAND keywordin WIDGET_CONTROL procedure, 89
XMANAGER_BLOCK keywordin WIDGET_EVENT() function, 89in WIDGET_INFO() function, 89
XMARGIN keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
XMIN keywordin RADON() function, 68
XMINOR keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
XOFFSET keywordin WIDGET_BASE() function, 89in WIDGET_BUTTON() function, 89in WIDGET_DROPLIST() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
XPAD keywordin WIDGET_BASE() function, 89
XPOS keywordin WINDOW procedure, 90
XRANGE keywordin AXIS procedure, 33
DRAFT
DRAFT 123
in CONTOUR procedure, 37in PLOT procedure, 65in PLOTERR procedure, 65in SURFACE procedure, 85
XSIZE keywordin DEVICE procedure, 39in TV procedure, 87in WIDGET_BASE() function, 89in WIDGET_BUTTON() function, 89in WIDGET_DROPLIST() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90in WINDOW procedure, 90
XSTYLE keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
XTHICK keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
XTICK_GET keywordin CONTOUR procedure, 37in SURFACE procedure, 85
XTICKFORMAT keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
XTICKINTERVAL keywordin AXIS procedure, 33in SURFACE procedure, 85
XTICKLAYOUT keywordin SURFACE procedure, 85
XTICKLEN keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
XTICKNAME keywordin AXIS procedure, 33in CONTOUR procedure, 37in SURFACE procedure, 85
XTICKS keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
XTICKUNITS keywordin SURFACE procedure, 85
XTICKV keywordin CONTOUR procedure, 37in SURFACE procedure, 85
XTITLE keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
XTYPE keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
XYOUTS procedure, 90XYOUTSprocedure, 22
Y_SCROLL_SIZE keywordin WIDGET_BASE() function, 89
YAXIS keywordin AXIS procedure, 33
YCHARSIZE keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
YGRIDSTYLE keywordin AXIS procedure, 33in CONTOUR procedure, 37in SURFACE procedure, 85
YLABEL keyword
in PY_PLOT procedure, 67YLOG keyword
in AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in PLOTERR procedure, 65in SURFACE procedure, 85
YMARGIN keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
YMIN keywordin RADON() function, 68
YMINOR keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
YNOZERO keywordin AXIS procedure, 33in PLOT procedure, 65
YOFFSET keywordin WIDGET_BASE() function, 89in WIDGET_BUTTON() function, 89in WIDGET_DROPLIST() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90
YP0 keywordin SPL_INIT() function, 82in SPL_INIT_OLD() function, 82
YPAD keywordin WIDGET_BASE() function, 89
YPN_1 keywordin SPL_INIT() function, 82in SPL_INIT_OLD() function, 82
YPOS keywordin WINDOW procedure, 90
YRANGE keywordin AXIS procedure, 33in CONTOUR procedure, 37
DRAFT
DRAFT124 Subject Index
in PLOT procedure, 65in PLOTERR procedure, 65in SURFACE procedure, 85
YSIZE keywordin DEVICE procedure, 39in TV procedure, 87in WIDGET_BASE() function, 89in WIDGET_BUTTON() function, 89in WIDGET_DROPLIST() function, 89in WIDGET_LABEL() function, 89in WIDGET_TEXT() function, 90in WINDOW procedure, 90
YSTYLE keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
YTHICK keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
YTICK_GET keywordin CONTOUR procedure, 37in SURFACE procedure, 85
YTICKFORMAT keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
YTICKINTERVAL keywordin AXIS procedure, 33in SURFACE procedure, 85
YTICKLAYOUT keywordin SURFACE procedure, 85
YTICKLEN keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
YTICKNAME keyword
in AXIS procedure, 33in CONTOUR procedure, 37in SURFACE procedure, 85
YTICKS keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
YTICKUNITS keywordin SURFACE procedure, 85
YTICKV keywordin CONTOUR procedure, 37in SURFACE procedure, 85
YTITLE keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
YTYPE keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
YUV keywordin MAGICK_QUANTIZE procedure, 58
Z_BUFFERING keywordin DEVICE procedure, 39
Z keywordin XYOUTS procedure, 90
ZCHARSIZE keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
ZENITY_NAME keywordin DIALOG_MESSAGE() function, 39in DIALOG_PICKFILE() function, 40
ZENITY_PATH keywordin DIALOG_MESSAGE() function, 39in DIALOG_PICKFILE() function, 40
ZERO_LENGTH keywordin FILE_TEST() function, 43
ZGRIDSTYLE keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
ZLOG keywordin CONTOUR procedure, 37in SURFACE procedure, 85
ZMARGIN keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
ZMINOR keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
ZRANGE keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
ZSTYLE keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
ZTHICK keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
ZTICK_GET keywordin CONTOUR procedure, 37in SURFACE procedure, 85
ZTICKFORMAT keywordin AXIS procedure, 33in CONTOUR procedure, 37
DRAFT
DRAFT 125
in PLOT procedure, 65in SURFACE procedure, 85
ZTICKINTERVAL keywordin SURFACE procedure, 85
ZTICKLAYOUT keywordin SURFACE procedure, 85
ZTICKLEN keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
ZTICKNAME keywordin AXIS procedure, 33
in CONTOUR procedure, 37in SURFACE procedure, 85
ZTICKS keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
ZTICKUNITS keywordin SURFACE procedure, 85
ZTICKV keywordin CONTOUR procedure, 37in SURFACE procedure, 85
ZTITLE keyword
in AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
ZTYPE keywordin CONTOUR procedure, 37in SURFACE procedure, 85
ZVALUE keywordin AXIS procedure, 33in CONTOUR procedure, 37in PLOT procedure, 65in SURFACE procedure, 85
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. {92}
[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. {55}
[6] van Rossum, G. and Fred L. Drake, J.: The Python Language Reference Manual, NetworkTheory Ltd., URL http://docs.python.org/reference/, 2006. {31}
[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.{59}
[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. {23}
Top Related