Programming
Data Conversion Routines
Converts an expression to byte data type.
Scales and converts an array to byte data type.
Converts an expression to complex data type.
Converts an expression to double-precision complex data type.
Converts an expression to double-precision floating-point data type.
Converts an expression to integer data type.
Converts an expression to single-precision floating-point data type.
Converts an expression to longword integer data type.
Converts an integer to a string containing the hexadecimal representation.
Converts an expression to longword integer data type.
Converts input to the nearest integer.
Emulates BYTSCL function but for all data types.
Performs general scaling of array values (generalizes SCL).
Converts the input parameters to characters and returns a string expression.
Converts data types for numeric arrays.
Data Extraction Routines
Extracts data from an expression and places it in a byte scalar or array.
Extracts data from an expression and places it in a complex scalar or array.
Extracts data from an expression and places it in a complex scalar or array.
Extracts data from an expression and places it in a double- precision floating-point scalar or array.
Extracts data from an expression and places it in a integer scalar or array.
Extracts data from an expression and places it in a single- precision floating-point scalar or array.
Extracts data from an expression and places it in a longword integer scalar or array.
Extracts data from an expression and places it in a longword integer scalar or array.
Date/Time Functions
Creates the system variable !Holiday_List.
Creates the system variable !Weekend_List.
Returns a string array containing the name of the day of the week for each day in a Date/Time variable.
Returns an array of integers containing the day of the week for each date in a Date/Time variable.
Returns an array of integers containing the day of the year for each date in a Date/Time variable.
Increment the values in a Date/Time variable by a specified amount.
Identifies previously defined weekends and/or holidays within an array of date/time variables.
Determines the elapsed time between two Date/Time variables.
Prints the values of PV‑WAVE  Date/Time variables in a readable manner.
Decrements the values in a Date/Time variable by a specified amount.
Converts PV‑WAVE  Date/Time variables to double-precision variables containing the number of seconds elapsed from a base date.
Converts PV‑WAVE  Date/Time variables into string data.
Converts a PV‑WAVE  Date/Time variable to regular numerical data.
Returns an array of PV‑WAVE  Date/Time variables beginning from a specified date and incremented by a specified amount.
Converts a Julian day number to a PV‑WAVE  Date/Time variable.
Passes the value of the !Holiday_List system variable to the Date/Time routines.
Passes the value of the !Weekend_List system variable to the Date/Time routines.
Returns a string or array of strings containing the names of the months contained in a Date/Time variable.
Converts any number of seconds into PV‑WAVE  Date/Time variables.
Converts date and time string data to PV‑WAVE  Date/Time variables.
Returns a Date/Time variable containing the current system date and time.
Converts scalars or arrays of scalars representing dates and times into PV‑WAVE  Date/Time variables.
File Manipulation Routines
Closes the specified file units.
EOF (unit)
Tests the specified file unit for the end-of-file condition.
Returns a string array containing the names of all files matching a specified file description.
Causes all buffered output on the specified file units to be written.
Deallocates file units previously allocated with GET_LUN.
Returns an expression containing status information about a specified file unit.
Returns an expression containing status information about a specified file unit. Used for large files (>2.5 gigabytes).
Allocates a file unit from a pool of free units.
Allows the current position of the specified file to be set to any arbitrary point in the file. This routine is for large files (>2.5 gigabytes on supported platforms only).
OPENR (OPEN Read) opens an existing file for input only.
OPENU (OPEN Update) opens an existing file for input and output.
Opens a file on the internet to be accessed using PV‑WAVE. 1
OPENW (OPEN Write) opens a new file for input and output.
Extracts specified parts of a full file pathname.
Allows the current position of the specified file to be set to any arbitrary point in the file.
Help and Information Routines
Standard Library function that displays the header contents of
PV-WAVE .pro files within a WgTextTool
Starts the online help system.
Displays information on many aspects of the current PV‑WAVE  session.
Prints the current default directory.
STRUCTINFO, structure
Gathers information about the tags of a PV-WAVE structure variable.
Operating System Access Routines
(UNIX Only)  Lets a PV‑WAVE  procedure communicate with an external routine written in C.
Changes the current working directory.
Deletes a specified file on your system.
(UNIX Only)  Returns a string array containing all the UNIX environment strings for the PV‑WAVE  process.
Returns the specified equivalence string from the environment of the PV‑WAVE  process.
Provides simplified access to external routines in shareable images.
Returns a string identifying the host platform.
Standard Library procedure that pops a directory from the top of a last-in, first-out directory stack.
Standard Library procedure that lists the directories located in the directory stack, and the current working directory.
Standard Library procedure that pushes a directory onto the top of a last-in, first-out directory stack.
Adds or changes an environment string in the process environment.
(UNIX only) Spawns a child process to execute a given command.
(Windows) Spawns a child process to execute a given command.
Returns the current system time as either a string or as the number of seconds elapsed since January 1, 1970.
Creates a window for the display of graphics or text.
Displays a Windows printer dialog.
Displays a Windows common font dialog.
Profiling Tools
Estimates the typical runtime for a given command.
Returns the current system time as either a string or as the number of seconds elapsed since January 1, 1970.
Programming Routines
ADDVAR, name, local
Creates a variable on the $MAIN$ program level and binds a local variable to it.
BREAKPOINT, file, line
Lets you insert and remove breakpoints in programs for debugging.
CHECKFILE( filename )
Determines if a file can be read from or written to.
CHECK_MATH ([print_flag, message_inhibit])
Returns and clears the accumulated math error status.
DEFINE_KEY, key [, value]
Programs a keyboard function key with a string value, or with a specified action.
DEFSYSV, name, value [, read_only]
Creates a new system variable initialized to the specified value.
DELCOM, blocknamei ,..., blocknamen
Deletes one or more COMMON blocks from the PV-WAVE session.
DELFUNC, functioni ,..., functionn
Deletes one or more compiled functions from memory.
DELPROC, procedurei ,..., proceduren
Deletes one or more compiled procedures from memory.
DELSTRUCT, structurei ,..., structuren
Deletes one or more named structure definitions from memory.
DELVAR, v1, ... ,vn
Deletes variables from the main program level.
Provides comprehensive error checking that can be used by any
PV-WAVE routine.
Exits PV‑WAVE  and returns you to the operating system.
FINITE (x)
Returns a value indicating if the input variable is finite or not.
Standard Library procedure that lets you implement a “hit any key to continue” function.
Tests if an input expression has a nonzero value.
MESSAGE, text
Issues error and informational messages using the same mechanism employed by built-in PV‑WAVE  routines.
N_ELEMENTS (expr)
Returns number of elements contained in any expression or variable.
Returns the number of non-keyword parameters used in calling a PV‑WAVE  procedure or function.
N_TAGS (expr)
Returns the number of structure tags contained in any expression.
OMPTUNE, nmb, output_file_name
Tests and records platform-specific parallel-performance for a representative subset of all possible PV-WAVE array operations.
Determines the action taken when an error is detected inside a PV‑WAVE  user-written procedure or function.
Specifies a statement to jump to if an error occurs in the current procedure.
ON_IOERROR, label
Specifies a statement to jump to if an I/O error occurs in the current procedure.
PARAM_PRESENT (parameter)
Tests if a parameter was actually present in the call to a procedure or function.
PARSEFILENAME (pathname)
Extracts specified parts of a full file pathname.
RENAME, variable, new_name
Renames a PV‑WAVE variable.
Issues RETURNs from nested routines. Used primarily to recover from errors in user-written procedures and functions.
RETURN [, expr]
Returns control to the caller of a user-written procedure or function.
SAME(x, y)
Tests if two variables are the same.
Sets the run-time OpenMP parameters for shared-memory, multi-processor machines running supported operating systems.
SIZE (expr)
Returns a vector containing size and type information for the given expression.
SIZEOF (expr)
Returns the data size in bytes of the given expression.
STOP [, expr1,... , exprn]
Stops the execution of a running program or batch file, and returns control to the interactive mode.
STRMESSAGE (errno)
Returns the text of the error message specified by the input error number.
STRUCTINFO, structure
Gathers information about the tags of a PV-WAVE structure variable.
STRUCTNAME ({structure})
Returns the name of a structure if the input variable name is of type structure.
STRUCTREF ({structure})
Returns a list of all existing references to a structure.
TAG_NAMES (expr)
Returns string array containing names of tags in a structure expression.
UPVAR, name, local
Accesses a variable that is not on the current program level.
Standard Library function that scans for PV‑WAVE variables that match the given criteria.
WAIT, seconds
Suspends execution of a PV‑WAVE  program for a specified period.
 
Assignment, Array, Numeric, and String Operators
Groups expressions and encloses subscript and function parameter lists.
The value of the expression on the right side of the equal sign is stored in the variable, subscript element, or range on the left side.
Besides arithmetic addition, the addition operator concatenates the strings.
Besides subtraction, the minus sign is used as the unary negation operator.
Subscripts provide a means of selecting one or more elements of an array variable.
Multiplies two operands.
Divides two operands.
A^B is equal to A to the B power. If B is of integer type, repeated multiplication is applied, otherwise the formula AB = e B logA is used. 0^0 is undefined for all operands.
The rules of linear algebra are followed:
Modulo operator.
Operands enclosed in square brackets and separated by commas are concatenated to form larger arrays.
Boolean Operators
AND is the Boolean operator for logical conjunction.
NOT is the Boolean complement operator.
OR is the Boolean inclusive operator.
The Boolean exclusive “or” function. XOR is only valid for all integer operands.
Relational Operators
The value of A < B is equal to the smaller of A or B.
A > B is equal to the larger of A or B.
EQ returns true if its operands are equal, otherwise it is false.
GE is the greater than or equal to relational operator. GE returns true if the operand on the left is greater than or equal to the one on the right.
Greater than relational operator.
Less than or equal to relational operator.
Less than relational operator.
NE is the not equal to relational operator. It is true whenever the operands are not of equal value.
Session Routines
Displays information on many aspects of the current PV‑WAVE  session.
Provides a record of an interactive session by saving in a file all text entered from the terminal in response to a prompt.
Restores the PV‑WAVE  objects saved in a file by the SAVE procedure.
Saves variables in a file for later recovery by RESTORE.
String Processing Routines
Compresses the white space in an input string.
Determines if a string contains a numerical value.
Concatenates all elements of a string array into a single scalar string.
Returns the length of the input parameter.
Queries, creates, saves, or modifies a string server database.
Converts a copy of the input string to lowercase letters.
Matches a specified string to an existing regular expression.
Extracts a substring from a string expression.
Searches for the occurrence of a substring within an object string, and returns its position.
Inserts the contents of one string into another.
Splits a string into an array of tokens (substrings).
Performs string substitution (search and replace).
Removes extra blank spaces from an input string.
Converts a copy of the input string to uppercase letters.
Table Manipulation Functions
Creates a table from one or more vectors (one-dimensional arrays).
Performs summary (aggregate) functions to groups of rows in a PV‑WAVE table variable.
Sorts the rows in a PV‑WAVE table variable to create a new table.
Subsets a table created with the BUILD_TABLE function.
Returns a vector (one-dimensional array) containing the unique elements from another vector variable.
Interprocess Communication
Waits for a connection on a socket.
Closes a socket connection.
Connects to a socket at a given host and port.
Returns the socket port number for the specified socket connection.
Binds a socket to a specified port that is designated to listen for client connections.
Reads data from a socket connection.
Writes data to a socket connection.
Closes an SSL connection and frees the local resources.
Initializes the OpenSSL library and establishes a connection with a remote HTTPS server.
Reads a BYTE array from a connection with an SSL-enabled HTTP server.
Writes a PV-WAVE STRING to an established SSL connection.
Loads the SSL_connect OPI into your PV-WAVE session.