Miscellaneous Procedures pro/misc Aug 2016 The procedures in this directory are general utility procedures that do not involve astronomy. They are included here either because they are required by an astronomy-related procedure, or because they are thought to be of sufficient general interest. The procedure ASTROLIB defines the non-standard system variables !TEXTOUT, !TEXTUNIT and !PRIV which some Astronomy Library procedures require to be defined before they can compile. The procedures BREAK_PATH, FIND_ALL_DIR, FIND_WITH_DEF and CONCAT_DIR were originally from the Solar Library ( http://sohowww.nascom.nasa.gov/solarsoft/gen/idl/system/ ) ASTROLIB - Add the non-standard system variables in use in the IDL Astronomy User's Library BLKSHIFT - Shift a block of data to a new (possibly overlapping) position in a file BOOST_ARRAY - Append one array onto another, adjusting dimensions if necessary BREAK_PATH() - break up a !PATH-like string into individual directories BSORT() - Like the IDL SORT function but subscript order is maintained when value are equal -- like a bubble sort. CHECKSUM32 - Compute the 32bit checksum of an array (ones-complement arithmetic) CIRRANGE - Force an angle to be in the range 0 to 2*!PI (or 0 to 360). CONCAT_DIR - concatenate directory and file name for current OS DELVARX - Delete an IDL variable; like DELVAR but works at any calling level DETABIFY() - Replace tabs in a character string by equivalent number of spaces EXPAND_TILDE() - Expand the tilde in Unix directory names F_FORMAT() - Find the "best" F format to display an array of REAL*4 numbers. FDECOMP - Decompose a file name (Disk + Directory + Name + Extension + Version) FIND_ALL_DIR() - Finds all directories under a specified directory. FIND_WITH_DEF - Search for files with default path and extension FINDPRO - Find all occurrences of a procedure in one's !PATH FORPRINT -Print a set of vectors by looping over each index value GETOPT() - Parse a user supplied string into numeric value(s). GETPRO - Search !PATH directory for a procedure and copy into user's directory GETTOK() - Extract a string up to a specified character. GETWRD() - Get specified item (word) from a string (in /jhuapl) HGREP - Find a substring in a FITS header (or any other string array) HOST_TO_IEEE - Convert IDL variable from host machine bit order to IEEE HPRINT - Pretty terminal display of a FITS header (or other string array) IEEE_TO_HOST - Convert IDL variable from IEEE bit order to host machine ISARRAY() - Determine if an IDL variable is an array (in /jhuapl) IS_IEEE_BIG() - Determine if the host machine is IEEE big endian LIST_WITH_PATH() - Search for files within specified directory path MAKE_2D - Change from 1-D indexing to 2-D indexing MATCH - Find the subscripts where the values of two vectors match. MATCH2 - Find the matches for each element of two arrays. MINMAX() - Return the min and max of an array in an 2 element vector MRD_SKIP - Skip a number of bytes from current location in a file or Unix pipe N_BYTES() - Return the number of bytes in an IDL variable NINT() - Like intrinsic ROUND() function but returns integer instead of long NULLTRIM() -Delete all characters after, and including, the the first null byte(0). Called by TAB_PUT. ONE_ARROW - Draw an arrow labeled with a single character ONE_RAY - Draw a ray by specifying starting point, angle, and length ORDINAL() - Return the English equivalent of ordinal numbers, i.e. '1st','2nd' POLREC - Convert from polar to rectangular coordinates (in /jhuapl) QGET_STRING() - Read a string (eg. password) from the keyboard without echoing it RDFLOAT - Quickly read an ASCII file with columns of data into IDL vectors READ_KEY() - Like GET_KBRD but returns a code for escape sequences. READCOL - Read a file of free-format ASCII data into IDL vectors READFMT - Quickly read a file of fixed-format ASCII data into IDL vectors RECPOL - Convert from rectangular to polar coordinates (in /jhuapl) REMCHAR - Remove all appearances of a character from a string. REM_DUP() - Remove duplicate values from a vector. REMOVE - Contract a vector or up to 8 vectors by removing specified elements. REPCHR() - Replace all occurrences of one character by another REPSTR() - Replace all occurrences of one substring in a string by another. SELECT_W - Allow user to interactively select from a list of strings SPEC_DIR() - Complete specification of a file name using default disk & directory STORE_ARRAY - Insert one array into another, adjusting dimensions if necessary STR_INDEX - Get all indicies of a substring within a string STRCOMPRESS2() - Remove blanks around specified spaces in a string STRN() - Convert a number to a string and remove padded blanks. STRNUMBER()- Determine whether a string is a valid numeric value. TEXTOPEN - Open a file for text output as specified by !TEXTOUT Controls the print output device for many procedures. TEXTCLOSE - Close a file that had been opened by TEXTOPEN. TO_HEX() - Translate a decimal integer to a hex string. Called by AIPSNAME. VALID_NUM() - Determine if a string is a valid number (cf. STRNUMBER) VECT() - Display a set of numbers to a string with delimiters WHERENAN() - Find points equal to big-endian IEEE NaN (not a number) values XDISPSTR - Display a string array in a widget a with simple search capability ZPARCHECK - Check the type and size of a parameter