2 OTS$
3 OTS$CNVOUT The Convert Floating to Character String routines convert a D- floating, G-floating or H-floating number to a character string in the Fortran E format. Format OTS$CNVOUT D-G-or-H-float-pt-input-val ,fixed-length-resultant-string ,digits-in-fraction OTS$CNVOUT_G D-G-or-H-float-pt-input-val ,fixed-length-resultant-string ,digits-in-fraction OTS$CNVOUT_H D-G-or-H-float-pt-input-val ,fixed-length-resultant-string ,digits-in-fraction (VAX only) Note: OTS$CNVOUT_H is available only on VAX systems. 4 Returns OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value 4 Arguments D-G-or-H-float-pt-input-val OpenVMS usage:floating_point type: D_floating, G_floating, H_floating access: read only mechanism: by reference Value that OTS$CNVOUT converts to a character string. For OTS$CNVOUT, the D-G-or-H-float-pt-input-val argument is the address of a D-floating number containing the value. For OTS$CNVOUT_G, the D-G-or-H-float-pt-input-val argument is the address of a G-floating number containing the value. For OTS$CNVOUT_H, the D-G-or-H-float-pt-input-val argument is the address of an H-floating number containing the value. fixed-length-resultant-string OpenVMS usage:char_string type: character string access: write only mechanism: by descriptor, fixed length Output string into which OTS$CNVOUT writes the character string result of the conversion. The fixed-length-resultant-string argument is the address of a descriptor pointing to the output string. digits-in-fraction OpenVMS usage:longword_unsigned type: longword (unsigned) access: read only mechanism: by value Number of digits in the fractional portion of the result. The digits-in-fraction argument is an unsigned longword containing the number of digits to be written to the fractional portion of the result. 3 OTS$CVT_L_TB The Convert an Unsigned Integer to Binary Text routine converts an unsigned integer value of arbitrary length to binary representation in an ASCII text string. By default, a longword is converted. Format OTS$CVT_L_TB varying-input-value,fixed-length-resultant-string [,number-of-digits] [,input-value-size] 4 Returns OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value 4 Arguments varying-input-value OpenVMS usage:varying_arg type: unspecified access: read only mechanism: by reference Unsigned byte, word, or longword that OTS$CVT_L_TB converts to an unsigned decimal representation in an ASCII text string. (The value of the input-value-size argument determines whether varying-input-value is a byte, word, or longword.) The varying- input-value argument is the address of the unsigned integer. fixed-length-resultant-string OpenVMS usage:char_string type: character string access: write only mechanism: by descriptor, fixed length ASCII text string that OTS$CVT_L_TB creates when it converts the integer value. The fixed-length-resultant-string argument is the address of a descriptor pointing to this ASCII text string. The string is assumed to be of fixed length (CLASS_S descriptor). number-of-digits OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by value Minimum number of digits in the binary representation to be generated. The number-of-digits argument is a signed longword containing this minimum number. If the minimum number of digits is omitted, the default is 1. If the actual number of significant digits is less than the minimum number of digits, leading zeros are produced. If the minimum number of digits is zero and the value of the integer to be converted is also zero, OTS$CVT_L_TB creates a blank string. input-value-size OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by value Size of the integer to be converted, in bytes. The input-value- size argument is a signed longword containing the byte size. This is an optional argument. If the size is omitted, the default is 4 (longword). 3 OTS$CVT_L_TI The Convert Signed Integer to Decimal Text routine converts a signed integer to its decimal representation in an ASCII text string. This routine supports Fortran Iw and Iw.m output and BASIC output conversion. Format OTS$CVT_L_TI varying-input-value ,fixed-length-resultant-string [,number-of-digits] [,input-value-size] [,flags-value] 4 Returns OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value 4 Arguments varying-input-value OpenVMS usage:varying_arg type: unspecified access: read only mechanism: by reference, fixed length A signed integer that OTS$CVT_L_TI converts to a signed decimal representation in an ASCII text string. The varying-input-value argument is the address of the signed integer. On VAX systems, the integer can be a signed byte, word, or longword. The value of the input-value-size argument determines whether varying-input-value is a byte, word, or longword. On Alpha systems, the integer can be a signed byte, word, longword, or quadword. The value of the input-value-size argument determines whether varying-input-value is a byte, word, longword, or quadword. fixed-length-resultant-string OpenVMS usage:char_string type: character string access: write only mechanism: by descriptor Decimal ASCII text string that OTS$CVT_L_TI creates when it converts the signed integer. The fixed-length-resultant-string argument is the address of a CLASS_S descriptor pointing to this text string. The string is assumed to be of fixed length. number-of-digits OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by value Minimum number of digits to be generated when OTS$CVT_L_TI converts the signed integer to a decimal ASCII text string. The number-of-digits argument is a signed longword containing this number. If the minimum number of digits is omitted, the default value is 1. If the actual number of significant digits is smaller, OTS$CVT_L_TI inserts leading zeros into the output string. If number-of-digits is zero and varying-input-value is zero, OTS$CVT_L_TI writes a blank string to the output string. input-value-size OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by value Size of the integer to be converted, in bytes. The input-value- size argument is a signed longword containing this value size. If the size is omitted, the default is 4 (longword). On VAX systems, the value size must be 1, 2, or 4. If value size is 1 or 2, the value is sign-extended to a longword before conversion. On Alpha systems, the value size must be 1, 2, 4, or 8. If the value is 1, 2, or 4, the value is sign-extended to a quadword before conversion. flags-value OpenVMS usage:mask_longword type: longword (unsigned) access: read only mechanism: by value Caller-supplied flags that you can use if you want OTS$CVT_L_TI to insert a plus sign before the converted number. The flags- value argument is an unsigned longword containing the flags. The caller flags are described in the following table: Bit Action if Set Action if Clear 0 Insert a plus sign Omit the plus sign. (+) before the first nonblank character in the output string. If flags-value is omitted, all bits are clear and the plus sign is not inserted. 3 OTS$CVT_L_TL The Convert Integer to Logical Text routine converts an integer to an ASCII text string representation using Fortran L (logical) format. Format OTS$CVT_L_TL longword-integer-value ,fixed-length-resultant-string 4 Returns OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value 4 Arguments longword-integer-value OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by reference Value that OTS$CVT_L_TL converts to an ASCII text string. The longword-integer-value argument is the address of a signed longword containing this integer value. fixed-length-resultant-string OpenVMS usage:char_string type: character string access: write only mechanism: by descriptor, fixed length Output string that OTS$CVT_L_TL creates when it converts the integer value to an ASCII text string. The fixed-length- resultant-string argument is the address of a descriptor pointing to this ASCII text string. The output string is assumed to be of fixed length (CLASS_S descriptor). If bit 0 of longword-integer-value is set, OTS$CVT_L_TL stores the character T in the rightmost character of fixed-length- resultant-string. If bit 0 is clear, it stores the character F. In either case, it fills the remaining characters of fixed- length-resultant-string with blanks. 3 OTS$CVT_L_TO The Convert Unsigned Integer to Octal Text routine converts an unsigned integer to an octal ASCII text string. OTS$CVT_L_TO supports Fortran Ow and Ow.m output conversion formats. Format OTS$CVT_L_TO varying-input-value ,fixed-length-resultant-string [,number-of-digits] [,input-value-size] 4 Returns OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value 4 Arguments varying-input-value OpenVMS usage:varying_arg type: unspecified access: read only mechanism: by reference Unsigned byte, word, or longword that OTS$CVT_L_TO converts to an unsigned decimal representation in an ASCII text string. (The value of the input-value-size argument determines whether varying-input-value is a byte, word, or longword.) The varying- input-value argument is the address of the unsigned integer. fixed-length-resultant-string OpenVMS usage:char_string type: character string access: write only mechanism: by descriptor, fixed length Output string that OTS$CVT_L_TO creates when it converts the integer value to an octal ASCII text string. The fixed-length- resultant-string argument is the address of a descriptor pointing to the octal ASCII text string. The string is assumed to be of fixed length (CLASS_S descriptor). number-of-digits OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by value Minimum number of digits that OTS$CVT_L_TO generates when it converts the integer value to an octal ASCII text string. The number-of-digits argument is a signed longword containing the minimum number of digits. If it is omitted, the default is 1. If the actual number of significant digits in the octal ASCII text string is less than the minimum number of digits, OTS$CVT_L_TO inserts leading zeros into the output string. If number-of-digits is 0 and varying-input-value is 0, OTS$CVT_L_TO writes a blank string to the output string. input-value-size OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by value Size of the integer to be converted, in bytes. The input-value- size argument is a signed longword containing the number of bytes in the integer to be converted by OTS$CVT_L_TO. If it is omitted, the default is 4 (longword). 3 OTS$CVT_L_TU The Convert Unsigned Integer to Decimal Text routine converts an unsigned integer value to its unsigned decimal representation in an ASCII text string. Format OTS$CVT_L_TU varying-input-value ,fixed-length-resultant-string [,number-of-digits] [,input-value-size] 4 Returns OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value 4 Arguments varying-input-value OpenVMS usage:varying_arg type: unspecified access: read only mechanism: by reference An unsigned integer that OTS$CVT_L_TU converts to an unsigned decimal representation in an ASCII text string. The varying- input-value argument is the address of the unsigned integer. On VAX systems, the integer can be an unsigned byte, word, or longword. (The value of the input-value-size argument determines whether varying-input-value is a byte, word, or longword.) On Alpha systems, the integer can be an unsigned byte, word, longword, or quadword. (The value of the input-value-size argument determines whether varying-input-value is a byte, word, longword, or quadword.) fixed-length-resultant-string OpenVMS usage:char_string type: character string access: write only mechanism: by descriptor, fixed length Output string that OTS$CVT_L_TU creates when it converts the integer value to unsigned decimal representation in an ASCII text string. The fixed-length-resultant-string argument is the address of a descriptor pointing to this ASCII text string. number-of-digits OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by value Minimum number of digits in the ASCII text string that OTS$CVT_ L_TU creates. The number-of-digits argument is a signed longword containing the minimum number. If the minimum number of digits is omitted, the default is 1. If the actual number of significant digits in the output string created is less than the minimum number, OTS$CVT_L_TU inserts leading zeros into the output string. If the minimum number of digits is zero and the integer value to be converted is also zero, OTS$CVT_L_TU writes a blank string to the output string. input-value-size OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by value Size of the integer to be converted, in bytes. The input-value- size argument is a signed longword containing this value size. If the size is omitted, the default is 4 (longword). On VAX systems, the value size must be 1, 2, or 4. On Alpha systems, the value size must be 1, 2, 4, or 8. 3 OTS$CVT_L_TZ The Convert Integer to Hexadecimal Text routine converts an unsigned integer to a hexadecimal ASCII text string. OTS$CVT_ L_TZ supports Fortran Zw and Zw.m output conversion formats. Format OTS$CVT_L_TZ varying-input-value ,fixed-length-resultant-string [,number-of-digits] [,input-value-size] 4 Returns OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value 4 Arguments varying-input-value OpenVMS usage:varying_arg type: unspecified access: read only mechanism: by reference Unsigned byte, word, or longword that OTS$CVT_L_TZ converts to an unsigned decimal representation in an ASCII text string. (The value of the input-value-size argument determines whether varying-input-value is a byte, word, or longword.) The varying- input-value argument is the address of the unsigned integer. fixed-length-resultant-string OpenVMS usage:char_string type: character string access: write only mechanism: by descriptor, fixed length Output string that OTS$CVT_L_TZ creates when it converts the integer value to a hexadecimal ASCII text string. The fixed- length-resultant-string argument is the address of a descriptor pointing to this ASCII text string. The string is assumed to be of fixed length (CLASS_S descriptor). number-of-digits OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by value Minimum number of digits in the ASCII text string that OTS$CVT_ L_TZ creates when it converts the integer. The number-of-digits argument is a signed longword containing this minimum number. If it is omitted, the default is 1. If the actual number of significant digits in the text string that OTS$CVT_L_TZ creates is less than this minimum number, OTS$CVT_L_TZ inserts leading zeros in the output string. If the minimum number of digits is zero and the integer value to be converted is also zero, OTS$CVT_ L_TZ writes a blank string to the output string. input-value-size OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by value Size of the integer that OTS$CVT_L_TZ converts, in bytes. The input-value-size argument is a signed longword containing the value size. If the size is omitted, the default is 4 (longword). 3 OTS$CVT_T_x The Convert Numeric Text to D-, F-, G-, or H-Floating routines convert an ASCII text string representation of a numeric value to a D-floating, F-floating, G-floating, or H-floating value. Format OTS$CVT_T_D fixed-or-dynamic-input-string ,floating-point-value [,digits-in-fraction] [,scale-factor] [,flags-value] [,extension-bits] OTS$CVT_T_F fixed-or-dynamic-input-string ,floating-point-value [,digits-in-fraction] [,scale-factor] [,flags-value] [,extension-bits] OTS$CVT_T_G fixed-or-dynamic-input-string ,floating-point-value [,digits-in-fraction] [,scale-factor] [,flags-value] [,extension-bits] OTS$CVT_T_H fixed-or-dynamic-input-string ,floating-point-value [,digits-in-fraction] [,scale-factor] [,flags-value] [,extension-bits] 4 Returns OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value 4 Arguments fixed-or-dynamic-input-string OpenVMS usage:char_string type: character string access: read only mechanism: by descriptor, fixed-length or dynamic string Input string containing an ASCII text string representation of a numeric value that OTS$CVT_T_x converts to a D-floating, F- floating, G-floating, or H-floating value. The fixed-or-dynamic- input-string argument is the address of a descriptor pointing to the input string. The syntax of a valid input string is as follows: [blanks][+ or -][digits][.][digits][+ or -][digits] or [blanks][+ or -][digits][.][digits][ X ][digits] where X = {E e D d Q q}[blanks][+ or -] E, e, D, d, Q, and q are the possible exponent letters. They are semantically equivalent. Other elements in the preceding syntax are defined as follows: Term Description blanks One or more blanks digits One or more decimal digits floating-point-value OpenVMS usage:floating_point type: D_floating, F_floating, G_floating, H_floating access: write only mechanism: by reference Floating-point value that OTS$CVT_T_x creates when it converts the input string. The floating-point-value argument is the address of the floating-point value. The data type of floating- point-value depends on the called routine as shown in the following table: Routine floating-point-value Data Type OTS$CVT_T_D D-floating OTS$CVT_T_F F-floating OTS$CVT_T_G G-floating OTS$CVT_T_H H-floating digits-in-fraction OpenVMS usage:longword_unsigned type: longword (unsigned) access: read only mechanism: by value Number of digits in the fraction if no decimal point is included in the input string. The digits-in-fraction argument contains the number of digits. If the number of digits is omitted, the default is zero. scale-factor OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by value Scale factor. The scale-factor argument contains the value of the scale factor. If bit 6 of the flags-value argument is clear, the resultant value is divided by 10**scale-factor unless the exponent is present. If bit 6 of flags-value is set, the scale factor is always applied. If the scale factor is omitted, the default is zero. flags-value OpenVMS usage:mask_longword type: longword (unsigned) access: read only mechanism: by value User-supplied flags. The flags-value argument contains the user- supplied flags described in the following table: Bit Action if Set Action if Clear 0 Ignore blanks. Interpret blanks as zeros. 1 Allow only E or e Allow E, e, D, d, Q and q exponents. exponents. (This (This is consistent with BASIC is consistent with semantics.) Fortran semantics.) 2 Interpret an Do not interpret an underflow as an underflow as an error. error. 3 Truncate the value. Round the value. 4 Ignore tabs. Interpret tabs as invalid characters. 5 An exponent must The exponent letter can be omitted. begin with a valid exponent letter. 6 Always apply the Apply the scale factor only if there scale factor. is no exponent present in the string. If you omit the flags-value argument, OTS$CVT_T_x defaults all flags to clear. extension-bits (D-, F-floating) OpenVMS usage:byte_unsigned type: byte (unsigned) access: write only mechanism: by reference extension-bits (G-, H-floating) OpenVMS usage:word_unsigned type: word (unsigned) access: write only mechanism: by reference Extra precision bits. The extension-bits argument is the address of a word containing the extra precision bits. If extension- bits is present, floating-point-value is not rounded, and the first n bits after truncation are returned left-justified in this argument, as follows: Number of Bits Routine Returned Data Type OTS$CVT_T_D 8 Byte (unsigned) OTS$CVT_T_F 8 Byte (unsigned) OTS$CVT_T_G 11 Word (unsigned) OTS$CVT_T_H 15 Word (unsigned) A value represented by extension bits is suitable for use as the extension operand in an EMOD instruction. The extra precision bits returned for H-floating may not be precise because OTS$CVT_T_H carries its calculations to only 128 bits. However the error should be small. 3 OTS$CVT_TB_L The Convert Binary Text to Unsigned Integer routine converts an ASCII text string representation of an unsigned binary value to an unsigned integer value. The integer value can be of arbitrary length but is typically a byte, word, longword, or quadword. The default size of the result is a longword. Format OTS$CVT_TB_L fixed-or-dynamic-input-string ,varying-output-value [,output-value-size] [,flags-value] 4 Returns OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value 4 Arguments fixed-or-dynamic-input-string OpenVMS usage:char_string type: character string access: read only mechanism: by descriptor Input string containing the string representation of an unsigned binary value that OTS$CVT_TB_L converts to an unsigned integer value. The fixed-or-dynamic-input-string argument is the address of a descriptor pointing to the input string. The valid input characters are blanks and the digits 0 and 1. No sign is permitted. varying-output-value OpenVMS usage:varying_arg type: unspecified access: write only mechanism: by reference Unsigned integer of specified size that OTS$CVT_TB_L creates when it converts the ASCII text string. The varying-output-value argument is the address of the integer. The value of the output- value-size argument determines the size in bytes of the output value. output-value-size OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by value Arbitrary number of bytes to be occupied by the unsigned integer output value. The output-value-size argument contains a value that equals the size in bytes of the output value. If the value of output-value-size is zero or a negative number, OTS$CVT_TB_L returns an input conversion error. If you omit the output-value- size argument, the default is 4 (longword). flags-value OpenVMS usage:mask_longword type: longword (unsigned) access: read only mechanism: by value User-supplied flag that OTS$CVT_TB_L uses to determine how to interpret blanks within the input string. The flags-value argument contains this user-supplied flag. OTS$CVT_TB_L defines the flag as follows: Bit Action if Set Action if Clear 0 Ignore blanks. Interpret blanks as zeros. If you omit the flags-value argument, OTS$CVT_TB_L defaults all flags to clear. 3 OTS$CVT_TI_L The Convert Signed Integer Text to Integer routine converts an ASCII text string representation of a signed decimal number to a signed integer value. The default size of the result is a longword. Format OTS$CVT_TI_L fixed-or-dynamic-input-string ,varying-output-value [,output-value-size] [,flags-value] 4 Returns OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value 4 Arguments fixed-or-dynamic-input-string OpenVMS usage:char_string type: character string access: read only mechanism: by descriptor, fixed-length or dynamic string Input ASCII text string that OTS$CVT_TI_L converts to a signed integer. The fixed-or-dynamic-input-string argument is the address of a descriptor pointing to the input string. [+ or -]<integer-digits> OTS$CVT_TI_L always ignores leading blanks. varying-output-value OpenVMS usage:varying_arg type: unspecified access: write only mechanism: by reference Signed integer that OTS$CVT_TI_L creates when it converts the ASCII text string. The varying-output-value argument is the address of the signed integer. The value of the output-value-size argument determines the size of varying-output-value. output-value-size OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by value Number of bytes to be occupied by the value created when OTS$CVT_ TI_L converts the ASCII text string to an integer value. The output-value-size argument contains the number of bytes in varying-output-value. On VAX systems, valid values for the output-value-size argument are 1, 2, and 4. The value determines whether the integer value that OTS$CVT_TI_L creates is a byte, word, or longword. On Alpha systems, valid values for the output-value-size argument are 1, 2, 4, and 8. The value determines whether the integer value that OTS$CVT_TI_L creates is a byte, word, longword, or quadword. For VAX and Alpha systems, if you specify a 0 (zero) or omit the output-value-size argument, the size of the output value defaults to 4 (longword). If you specify any other value, OTS$CVT_TI_L returns an input conversion error. flags-value OpenVMS usage:mask_longword type: longword (unsigned) access: read only mechanism: by value User-supplied flags that OTS$CVT_TI_L uses to determine how blanks and tabs are interpreted. The flags-value argument is an unsigned longword containing the value of the flags. Bit Action if Set Action if Clear 0 Ignore all Ignore leading blanks but interpret blanks blanks. after the first legal character as zeros. 4 Ignore tabs. Interpret tabs as invalid characters. If you omit the flags-value argument, OTS$CVT_TI_L defaults all flags to clear. 3 OTS$CVT_TL_L The Convert Logical Text to Integer routine converts an ASCII text string representation of a FORTRAN-77 L format to a signed integer. Format OTS$CVT_TL_L fixed-or-dynamic-input-string ,varying-output-value [,output-value-size] 4 Returns OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value 4 Arguments fixed-or-dynamic-input-string OpenVMS usage:char_string type: character string access: read only mechanism: by descriptor, fixed-length or dynamic string Input string containing an ASCII text representation of a FORTRAN-77 L format that OTS$CVT_TL_L converts to a signed integer value. The fixed-or-dynamic-input-string argument is the address of a descriptor pointing to the input string. Common ASCII text representations of a FORTRAN-77 logical are .TRUE., .FALSE., T, t, F, and f. In practice, an OTS$CVT_TL_L input string is valid if it adheres to the following syntax: <blanks> or [<blanks>][.]{T t F f}[<characters>] One of the letters T, t, F, or f is required. Other elements in the preceding syntax are defined as follows: Term Description blanks One or more blanks characters One or more of any character varying-output-value OpenVMS usage:varying_arg type: unspecified access: write only mechanism: by reference Signed integer that OTS$CVT_TL_L creates when it converts the ASCII text string. The varying-output-value argument is the address of the signed integer. The value of the output-value-size argument determines the size in bytes of the signed integer. OTS$CVT_TL_L returns -1 as the contents of the varying-output- value argument if the character denoted by "letter" is T or t. Otherwise, OTS$CVT_TL_L sets varying-output-value to zero. output-value-size OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by value Number of bytes to be occupied by the signed integer created when OTS$CVT_TL_L converts the ASCII text string to an integer value. The output-value-size argument contains a value that equals the size in bytes of the output value. If output-value- size contains a zero or a negative number, OTS$CVT_TL_L returns an input conversion error. On VAX systems, valid values for the output-value-size argument are 1, 2, and 4. The value determines whether the integer value that OTS$CVT_TL_L creates is a byte, word, or longword. On Alpha systems, valid values for the output-value-size argument are 1, 2, 4, and 8. This value determines whether the integer value that OTS$CVT_TL_L creates is a byte, word, longword, or quadword. For VAX and Alpha systems, if you omit the output-value-size argument, the default is 4 (longword). 3 OTS$CVT_TO_L The Convert Octal Text to Unsigned Integer routine converts an ASCII text string representation of an unsigned octal value to an unsigned integer. The integer value can be of arbitrary length but is typically a byte, word, longword, or quadword. The default size of the result is a longword. Format OTS$CVT_TO_L fixed-or-dynamic-input-string ,varying-output-value [,output-value-size] [,flags-value] 4 Returns OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value 4 Arguments fixed-or-dynamic-input-string OpenVMS usage:char_string type: character string access: read only mechanism: by descriptor, fixed-length or dynamic string Input string containing the string representation of an unsigned octal value that OTS$CVT_TO_L converts to an unsigned integer. The fixed-or-dynamic-input-string argument is the address of a descriptor pointing to the input string. The valid input characters are blanks and the digits 0 through 7. No sign is permitted. varying-output-value OpenVMS usage:varying_arg type: unspecified access: write only mechanism: by reference Unsigned integer of specified size that OTS$CVT_TO_L creates when it converts the ASCII text string. The varying-output-value argument is the address of the unsigned integer. The value of the output-value-size argument determines the size in bytes of the output value. output-value-size OpenVMS usage:longword_signed type: longword integer (signed) access: read only mechanism: by value Arbitrary number of bytes to be occupied by the unsigned integer output value. The output-value-size argument contains a value that equals the size in bytes of the output value. If the value of output-value-size is zero or a negative number, OTS$CVT_TO_L returns an input conversion error. If you omit the output-value- size argument, the default is 4 (longword). flags-value OpenVMS usage:mask_longword type: longword (unsigned) access: read only mechanism: by value User-supplied flag that OTS$CVT_TO_L uses to determine how to interpret blanks within the input string. The flags-value argument contains the user-supplied flag described in the following table: Bit Action if Set Action if Clear 0 Ignore all Interpret blanks as zeros. blanks. If you omit the flags-value argument, OTS$CVT_TO_L defaults the flag to clear. 3 OTS$CVT_TU_L The Convert Unsigned Decimal Text to Integer routine converts an ASCII text string representation of an unsigned decimal value to an unsigned integer value. By default, the size of the result is a longword. Format OTS$CVT_TU_L fixed-or-dynamic-input-string ,varying-output-value [,output-value-size] [,flags-value] 4 Returns OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value 4 Arguments fixed-or-dynamic-input-string OpenVMS usage:char_string type: character string access: read only mechanism: by descriptor Input string containing an ASCII text string representation of an unsigned decimal value that OTS$CVT_TU_L converts to an unsigned integer value. The fixed-or-dynamic-input-string argument is the address of a descriptor pointing to the input string. Valid input characters are the space and the digits 0 through 9. No sign is permitted. varying-output-value OpenVMS usage:varying_arg type: unspecified access: write only mechanism: by reference Unsigned integer that OTS$CVT_TU_L creates when it converts the ASCII text string. The varying-output-value argument is the address of the unsigned integer. The value of the output-value- size argument determines the size of varying-output-value. output-value-size OpenVMS usage:longword_signed type: longword integer (signed) access: read only mechanism: by value Number of bytes occupied by the value created when OTS$CVT_ TU_L converts the input string. The output-value-size argument contains the number of bytes in varying-output-value. On VAX systems, valid values for the output-value-size argument are 1, 2, and 4. The value determines whether the integer value that OTS$CVT_TU_L creates is a byte, word, or longword. On Alpha systems, valid values for the output-value-size argument are 1, 2, 4, and 8. The value determines whether the integer value that OTS$CVT_TU_L creates is a byte, word, longword, or quadword. For VAX and Alpha systems, if you specify a 0 (zero) or omit the output-value-size argument, the size of the output value defaults to 4 (longword). If you specify any other value, OTS$CVT_TU_L returns an input conversion error. flags-value OpenVMS usage:mask_longword type: longword (unsigned) access: read only mechanism: by value User-supplied flags that OTS$CVT_TU_L uses to determine how blanks and tabs are interpreted. The flags-value argument contains the user-supplied flags as described in the following table: Bit Action if Set Action if Clear 0 Ignore all Ignore leading blanks but interpret blanks blanks. after the first legal character as zeros. 4 Ignore tabs. Interpret tabs as invalid characters. If you omit the flags-value argument, OTS$CVT_TU_L defaults all flags to clear. 3 OTS$CVT_TZ_L The Convert Hexadecimal Text to Unsigned Integer routine converts an ASCII text string representation of an unsigned hexadecimal value to an unsigned integer. The integer value can be of arbitrary length but is typically a byte, word, longword, or quadword. The default size of the result is a longword. Format OTS$CVT_TZ_L fixed-or-dynamic-input-string ,varying-output-value [,output-value-size] [,flags-value] 4 Returns OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value 4 Arguments fixed-or-dynamic-input-string OpenVMS usage:char_string type: character string access: read only mechanism: by descriptor, fixed-length or dynamic string Input string containing the string representation of an unsigned hexadecimal value that OTS$CVT_TZ_L converts to an unsigned integer. The fixed-or-dynamic-input-string argument is the address of a descriptor pointing to the input string. The valid input characters are blanks, the digits 0 through 7, and the letters A through F. Letters can be uppercase or lowercase. No sign is permitted. varying-output-value OpenVMS usage:varying_arg type: unspecified access: write only mechanism: by reference Unsigned integer of specified size that OTS$CVT_TZ_L creates when it converts the ASCII text string. The varying-output-value argument is the address of the unsigned integer. The value of the output-value-size argument determines the size in bytes of the output value. output-value-size OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by value Arbitrary number of bytes to be occupied by the unsigned integer output value. The output-value-size argument contains a value that equals the size in bytes of the output value. If the value of output-value-size is zero or a negative number, OTS$CVT_TZ_L returns an input conversion error. If you omit the output-value- size argument, the default is 4 (longword). flags-value OpenVMS usage:mask_longword type: longword (unsigned) access: read only mechanism: by value User-supplied flags that OTS$CVT_TZ_L uses to determine how to interpret blanks within the input string. The flags-value argument contains these user-supplied flags as described in the following table: Bit Action if Set Action if Clear 0 Ignore all Interpret blanks as zeros. blanks. If you omit the flags-value argument, OTS$CVT_TZ_L defaults the flag to clear. 3 OTS$DIVCx The Complex Division routines return a complex result of a division on complex numbers. Format OTS$DIVC complex-dividend ,complex-divisor OTS$DIVCD_R3 complex-dividend ,complex-divisor (VAX only) OTS$DIVCG_R3 complex-dividend ,complex-divisor Each of these three formats corresponds to one of the three floating-point complex types. Note: OTS$DIVCD_R3 is available only on VAX systems. 4 Returns OpenVMS usage:complex_number type: F_floating complex, D_floating complex, G_floating complex access: write only mechanism: by value Complex result of complex division. OTS$DIVC returns an F- floating complex number. OTS$DIVCD_R3 returns a D-floating complex number. OTS$DIVCG_R3 returns a G-floating complex number. 4 Arguments complex-dividend OpenVMS usage:complex_number type: F_floating complex, D_floating complex, G_floating complex access: read only mechanism: by value Complex dividend. The complex-dividend argument contains a floating-point complex value. For OTS$DIVC, complex-dividend is an F-floating complex number. For OTS$DIVCD_R3, complex- dividend is a D-floating complex number. For OTS$DIVCG_R3, complex-dividend is a G-floating complex number. complex-divisor OpenVMS usage:complex_number type: F_floating complex, D_floating complex, G_floating complex access: read only mechanism: by value Complex divisor. The complex-divisor argument contains the value of the divisor. For OTS$DIVC, complex-divisor is an F-floating complex number. For OTS$DIVCD_R3, complex-divisor is a D-floating complex number. For OTS$DIVCG_R3, complex-divisor is a G-floating complex number. 3 OTS$DIV_PK_LONG The Packed Decimal Division with Long Divisor routine divides fixed-point decimal data, which is stored in packed decimal form, when precision and scale requirements for the quotient call for multiple precision division. The divisor must have a precision of 30 or 31 digits. Format OTS$DIV_PK_LONG packed-decimal-dividend ,packed-decimal-divisor ,divisor-precision ,packed-decimal-quotient ,quotient-precision ,precision-data ,scale-data 4 Returns OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value 4 Arguments packed-decimal-dividend OpenVMS usage:varying_arg type: packed decimal string access: read only mechanism: by reference Dividend. The packed-decimal-dividend argument is the address of a packed decimal string that contains the shifted dividend. Before being passed as input, the packed-decimal-dividend argument is always multiplied by 10**c, where c is defined as follows: c = 31 - prec(packed-decimal-dividend) Multiplying packed-decimal-dividend by 10**c makes packed- decimal-dividend a 31-digit number. packed-decimal-divisor OpenVMS usage:varying_arg type: packed decimal string access: read only mechanism: by reference Divisor. The packed-decimal-divisor argument is the address of a packed decimal string that contains the divisor. divisor-precision OpenVMS usage:word_signed type: word (signed) access: read only mechanism: by value Precision of the divisor. The divisor-precision argument is a signed word that contains the precision of the divisor. The high- order bits are filled with zeros. packed-decimal-quotient OpenVMS usage:varying_arg type: packed decimal string access: write only mechanism: by reference Quotient. The packed-decimal-quotient argument is the address of the packed decimal string into which OTS$DIV_PK_LONG writes the quotient. quotient-precision OpenVMS usage:word_signed type: word (signed) access: read only mechanism: by value Precision of the quotient. The quotient-precision argument is a signed word that contains the precision of the quotient. The high-order bits are filled with zeros. precision-data OpenVMS usage:word_signed type: word (signed) access: read only mechanism: by value Additional digits of precision required. The precision-data argument is a signed word that contains the value of the additional digits of precision required. OTS$DIV_PK_LONG computes the precision-data argument as follows: precision-data = scale(packed-decimal-quotient) + scale(packed-decimal-divisor) - scale(packed-decimal-dividend) - 31 + prec(packed-decimal-dividend) scale-data OpenVMS usage:word_signed type: word (signed) access: read only mechanism: by value Scale factor of the decimal point. The scale-data argument is a signed word that contains the scale data. OTS$DIV_PK_LONG defines the scale-data argument as follows: scale-data = 31 - prec(packed-decimal-divisor) 3 OTS$DIV_PK_SHORT The Packed Decimal Division with Short Divisor routine divides fixed-point decimal data when precision and scale requirements for the quotient call for multiple-precision division. Format OTS$DIV_PK_SHORT packed-decimal-dividend ,packed-decimal-divisor ,divisor-precision ,packed-decimal-quotient ,quotient-precision ,precision-data 4 Returns OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value 4 Arguments packed-decimal-dividend OpenVMS usage:varying_arg type: packed decimal string access: read only mechanism: by reference Dividend. The packed-decimal-dividend argument is the address of a packed decimal string that contains the shifted dividend. Before being passed as input, the packed-decimal-dividend argument is always multiplied by 10**c, where c is defined as follows: c = 31 - prec(packed-decimal-dividend) Multiplying packed-decimal-dividend by 10**c makes packed- decimal-dividend a 31-digit number. packed-decimal-divisor OpenVMS usage:varying_arg type: packed decimal string access: read only mechanism: by reference Divisor. The packed-decimal-divisor argument is the address of a packed decimal string that contains the divisor. divisor-precision OpenVMS usage:word_signed type: word (signed) access: read only mechanism: by value Precision of the divisor. The divisor-precision argument is a signed word integer that contains the precision of the divisor. The high-order bits are filled with zeros. packed-decimal-quotient OpenVMS usage:varying_arg type: packed decimal string access: write only mechanism: by reference Quotient. The packed-decimal-quotient argument is the address of a packed decimal string into which OTS$DIV_PK_SHORT writes the quotient. quotient-precision OpenVMS usage:word_signed type: word (signed) access: read only mechanism: by value Precision of the quotient. The quotient-precision argument is a signed word that contains the precision of the quotient. The high-order bits are filled with zeros. precision-data OpenVMS usage:word_signed type: word (signed) access: read only mechanism: by value Additional digits of precision required. The precision-data argument is a signed word that contains the value of the additional digits of precision required. OTS$DIV_PK_SHORT computes the precision-data argument as follows: precision-data = scale(packed-decimal-quotient) + scale(packed-decimal-divisor) - scale(packed-decimal-dividend) - 31 + prec(packed-decimal-dividend) 3 OTS$MOVE3 The Move Data Without Fill routine moves up to 2**31-1 bytes (2,147,483,647 bytes) from a specified source address to a specified destination address. Format OTS$MOVE3 length-value ,source-array ,destination-array 4 Corresponding_JSB_Entry_Point OTS$MOVE3_R5 4 Returns None. 4 Arguments length-value OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by value Number of bytes of data to move. The length-value argument is a signed longword that contains the number of bytes to move. The value of length-value may range from 0 to 2,147,483,647 bytes. source-array OpenVMS usage:vector_byte_unsigned type: byte (unsigned) access: read only mechanism: by reference, array reference Data to be moved by OTS$MOVE3. The source-array argument contains the address of an unsigned byte array that contains this data. destination-array OpenVMS usage:vector_byte_unsigned type: byte (unsigned) access: write only mechanism: by reference, array reference Address into which source-array will be moved. The destination- array argument is the address of an unsigned byte array into which OTS$MOVE3 writes the source data. 3 OTS$MOVE5 The Move Data with Fill routine moves up to 2**32-1 bytes (2,147,483,647 bytes) from a specified source address to a specified destination address, with separate source and destination lengths, and with fill. Overlap of the source and destination arrays does not affect the result. Format OTS$MOVE5 longword-int-source-length ,source-array ,fill-value ,longword-int-dest-length ,destination-array 4 Corresponding_JSB_Entry_Point OTS$MOVE5_R5 4 Returns None. 4 Arguments longword-int-source-length OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by value Number of bytes of data to move. The longword-int-source- length argument is a signed longword that contains this number. The value of longword-int-source-length may range from 0 to 2,147,483,647. source-array OpenVMS usage:vector_byte_unsigned type: byte (unsigned) access: read only mechanism: by reference, array reference Data to be moved by OTS$MOVE5. The source-array argument contains the address of an unsigned byte array that contains this data. fill-value OpenVMS usage:byte_unsigned type: byte (unsigned) access: read only mechanism: by value Character used to pad the source data if longword-int-source- length is less than longword-int-dest-length. The fill-value argument contains the address of an unsigned byte that is this character. longword-int-dest-length OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by value Size of the destination area in bytes. The longword-int-dest- length argument is a signed longword containing this size. The value of longword-int-dest-length may range from 0 through 2,147,483,647. destination-array OpenVMS usage:vector_byte_unsigned type: byte (unsigned) access: write only mechanism: by reference, array reference Address into which source-array is moved. The destination-array argument is the address of an unsigned byte array into which OTS$MOVE5 writes the source data. 3 OTS$MULCx The Complex Multiplication routines calculate the complex product of two complex values. Format OTS$MULCD_R3 complex-multiplier ,complex-multiplicand (VAX only) OTS$MULCG_R3 complex-multiplier ,complex-multiplicand These formats correspond to the D-floating and G-floating complex types. Note: OTS$MULCD_R3 is available only on VAX systems. 4 Returns OpenVMS usage:complex_number type: D_floating complex, G_floating complex access: write only mechanism: by value Complex result of multiplying two complex numbers. OTS$MULCD_ R3 returns a D-floating complex number. OTS$MULCG_R3 returns a G-floating complex number. 4 Arguments complex-multiplier OpenVMS usage:complex_number type: D_floating complex, G_floating complex access: read only mechanism: by value Complex multiplier. The complex-multiplier argument contains the complex multiplier. For OTS$MULCD_R3, complex-multiplier is a D- floating complex number. For OTS$MULCG_R3, complex-multiplier is a G-floating complex number. complex-multiplicand OpenVMS usage:complex_number type: D_floating complex, G_floating complex access: read only mechanism: by value Complex multiplicand. The complex-multiplicand argument contains the complex multiplicand. For OTS$MULCD_R3, complex-multiplicand is a D-floating complex number. For OTS$MULCG_R3, complex- multiplicand is a G-floating complex number. 3 OTS$POWCxCx The Raise a Complex Base to a Complex Floating-Point Exponent routines raise a complex base to a complex exponent. Format OTS$POWCC complex-base ,complex-exponent-value OTS$POWCDCD_R3 complex-base ,complex-exponent-value (VAX only) OTS$POWCGCG_R3 complex-base ,complex-exponent-value Each of these three formats corresponds to one of the three floating-point complex types. Note: OTS$POWCDCD_R3 is available only on VAX systems. 4 Returns OpenVMS usage:complex_number type: F_floating complex, D_floating complex, G_floating complex access: write only mechanism: by value Result of raising a complex base to a complex exponent. OTS$POWCC returns an F-floating complex number. OTS$POWCDCD_R3 returns a D-floating complex number. OTS$POWCGCG_R3 returns a G-floating complex number. 4 Arguments complex-base OpenVMS usage:complex_number type: F_floating complex, D_floating complex, G_floating complex access: read only mechanism: by value Complex base. The complex-base argument contains the value of the base. For OTS$POWCC, complex-base is an F-floating complex number. For OTS$POWCDCD_R3, complex-base is a D-floating complex number. For OTS$POWCGCG_R3, complex-base is a G-floating complex number. complex-exponent-value OpenVMS usage:complex_number type: F_floating complex, D_floating complex, G_floating complex access: read only mechanism: by value Complex exponent. The complex-exponent-value argument contains the value of the exponent. For OTS$POWCC, complex-exponent-value is an F-floating complex number. For OTS$POWCDCD_R3, complex- exponent-value is a D-floating complex number. For OTS$POWCGCG_ R3, complex-exponent-value is a G-floating complex number. 3 OTS$POWCxJ The Raise a Complex Base to a Signed Longword Integer Exponent routines return the complex result of raising a complex base to an integer exponent. Format OTS$POWCJ complex-base ,longword-integer-exponent OTS$POWCDJ_R3 complex-base ,longword-integer-exponent (VAX only) OTS$POWCGJ_R3 complex-base ,longword-integer-exponent (VAX only) Each of these three formats corresponds to one of the three floating-point complex types. Note: OTS$POWCDJ_R3 and OTS$POWCGJ_R3 are available only on VAX systems. 4 Returns OpenVMS usage:complex_number type: F_floating complex, D_floating complex, G_floating complex access: write only mechanism: by value Complex result of raising a complex base to an integer exponent. OTS$POWCJ returns an F-floating complex number. OTS$POWCDJ_R3 returns a D-floating complex number. OTS$POWCGJ_R3 returns a G- floating complex number. In each format, the result and base are of the same data type. 4 Arguments complex-base OpenVMS usage:complex_number type: F_floating complex, D_floating complex, G_floating complex access: read only mechanism: by value Complex base. The complex-base argument contains the complex base. For OTS$POWCJ, complex-base is an F-floating complex number. For OTS$POWCDJ_R3, complex-base is a D-floating complex number. For OTS$POWCGJ_R3, complex-base is a G-floating complex number. longword-integer-exponent OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by value Exponent. The longword-integer-exponent argument is a signed longword containing the exponent. 3 OTS$POWDD The Raise a D-Floating Base to a D-Floating Exponent routine raises a D-floating base to a D-floating exponent. Format OTS$POWDD D-floating-point-base ,D-floating-point-exponent 4 Returns OpenVMS usage:floating_point type: D_floating access: write only mechanism: by value Result of raising a D-floating base to a D-floating exponent. 4 Arguments D-floating-point-base OpenVMS usage:floating_point type: D_floating access: read only mechanism: by value Base. The D-floating-point-base argument is a D-floating number containing the base. D-floating-point-exponent OpenVMS usage:floating_point type: D_floating access: read only mechanism: by value Exponent. The D-floating-point-exponent argument is a D-floating number that contains the exponent. 3 OTS$POWDJ The Raise a D-Floating Base to a Longword Exponent routine raises a D-floating base to a longword exponent. Format OTS$POWDJ D-floating-point-base ,longword-integer-exponent 4 Returns OpenVMS usage:floating_point type: D_floating access: write only mechanism: by value Result of raising a D-floating base to a longword exponent. 4 Arguments D-floating-point-base OpenVMS usage:floating_point type: D_floating access: read only mechanism: by value Base. The D-floating-point-base argument is a D-floating number containing the base. longword-integer-exponent OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by value Exponent. The longword-integer-exponent argument is a signed longword that contains the signed longword integer exponent. 3 OTS$POWDR The Raise a D-Floating Base to an F-Floating Exponent routine raises a D-floating base to an F-floating exponent. Format OTS$POWDR D-floating-point-base ,F-floating-point-exponent 4 Returns OpenVMS usage:floating_point type: D_floating access: write only mechanism: by value Result of raising a D-floating base to an F-floating exponent. 4 Arguments D-floating-point-base OpenVMS usage:floating_point type: D_floating access: read only mechanism: by value Base. The D-floating-point-base argument is a D-floating number containing the base. F-floating-point-exponent OpenVMS usage:floating_point type: F_floating access: read only mechanism: by value Exponent. The F-floating-point-exponent argument is an F-floating number that contains the exponent. 3 OTS$POWGG The Raise a G-Floating Base to a G-Floating Exponent routine raises a G-floating base to a G-floating exponent. Format OTS$POWGG G-floating-point-base ,G-floating-point-exponent 4 Returns OpenVMS usage:floating_point type: G_floating access: write only mechanism: by value Result of raising a G-floating base to a G-floating exponent. 4 Arguments G-floating-point-base OpenVMS usage:floating_point type: G_floating access: read only mechanism: by value Base that OTS$POWGG raises to a G-floating exponent. The G- floating-point-base argument is a G-floating number containing the base. G-floating-point-exponent OpenVMS usage:floating_point type: G_floating access: read only mechanism: by value Exponent to which OTS$POWGG raises the base. The G-floating- point-exponent argument is a G-floating number containing the exponent. 3 OTS$POWGJ The Raise a G-Floating Base to a Longword Exponent routine raises a G-floating base to a longword exponent. Format OTS$POWGJ G-floating-point-base ,longword-integer-exponent 4 Returns OpenVMS usage:floating_point type: G_floating access: write only mechanism: by value Result of raising a G-floating base to a longword exponent. 4 Arguments G-floating-point-base OpenVMS usage:floating_point type: G_floating access: read only mechanism: by value Base that OTS$POWGJ raises to a longword exponent. The G- floating-point-base argument is a G-floating number containing the base. longword-integer-exponent OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by value Exponent to which OTS$POWGJ raises the base. The longword- integer-exponent argument is a signed longword containing the exponent. 3 OTS$POWHH_R3 On VAX systems, the Raise an H-Floating Base to an H-Floating Exponent routine raises an H-floating base to an H-floating exponent. Format OTS$POWHH_R3 H-floating-point-base ,H-floating-point-exponent 4 Returns OpenVMS usage:floating_point type: H_floating access: write only mechanism: by value Result of raising an H-floating base to an H-floating exponent. 4 Arguments H-floating-point-base OpenVMS usage:floating_point type: H_floating access: read only mechanism: by value Base. The H-floating-point-base argument is an H-floating number containing the base. H-floating-point-exponent OpenVMS usage:floating_point type: H_floating access: read only mechanism: by value Exponent. The H-floating-point-exponent argument is an H-floating number that contains the H-floating exponent. 3 OTS$POWHJ_R3 On VAX systems, the Raise an H-Floating Base to a Longword Exponent routine raises an H-floating base to a longword exponent. Format OTS$POWHJ_R3 H-floating-point-base ,longword-integer-exponent 4 Returns OpenVMS usage:floating_point type: H_floating access: write only mechanism: by value Result of raising an H-floating base to a longword exponent. 4 Arguments H-floating-point-base OpenVMS usage:floating_point type: H_floating access: read only mechanism: by value Base. The H-floating-point-base argument is an H-floating number containing the base. longword-integer-exponent OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by value Exponent. The longword-integer-exponent argument is a signed longword that contains the signed longword exponent. 3 OTS$POWII The Raise a Word Base to a Word Exponent routine raises a word base to a word exponent. Format OTS$POWII word-integer-base ,word-integer-exponent 4 Returns OpenVMS usage:word_signed type: word (signed) access: write only mechanism: by value Result of raising a word base to a word exponent. 4 Arguments word-integer-base OpenVMS usage:word_signed type: word (signed) access: read only mechanism: by value Base. The word-integer-base argument is a signed word containing the base. word-integer-exponent OpenVMS usage:word_signed type: word (signed) access: read only mechanism: by value Exponent. The word-integer-exponent argument is a signed word containing the exponent. 3 OTS$POWJJ The Raise a Longword Base to a Longword Exponent routine raises a signed longword base to a signed longword exponent. Format OTS$POWJJ longword-integer-base ,longword-integer-exponent 4 Returns OpenVMS usage:longword_signed type: longword (signed) access: write only mechanism: by value Result of raising a signed longword base to a signed longword exponent. 4 Arguments longword-integer-base OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by value Base. The longword-integer-base argument is a signed longword containing the base. longword-integer-exponent OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by value Exponent. The longword-integer-exponent argument is a signed longword containing the exponent. 3 OTS$POWLULU The Raise an Unsigned Longword Base to an Unsigned Longword Exponent routine raises an unsigned longword integer base to an unsigned longword integer exponent. Format OTS$POWLULU unsigned-lword-int-base, unsigned-lword-int-exponent 4 Returns OpenVMS usage:longword_unsigned type: longword (unsigned) access: write only mechanism: by value Result of raising an unsigned longword integer base to an unsigned longword integer exponent. 4 Arguments unsigned-lword-int-base OpenVMS usage:longword_unsigned type: longword (unsigned) access: read only mechanism: by value Unsigned longword integer base. The unsigned-lword-int-base argument contains the value of the integer base. unsigned-lword-int-exponent OpenVMS usage:longword_unsigned type: longword (unsigned) access: read only mechanism: by value Unsigned longword integer exponent. The unsigned-lword-int- exponent argument contains the value of the integer exponent. 3 OTS$POWRD The Raise an F-Floating Base to a D-Floating Exponent routine raises an F-floating base to a D-floating exponent. Format OTS$POWRD F-floating-point-base ,D-floating-point-exponent 4 Returns OpenVMS usage:floating_point type: D_floating access: write only mechanism: by value Result of raising an F-floating base to a D-floating exponent. 4 Arguments F-floating-point-base OpenVMS usage:floating_point type: F_floating access: read only mechanism: by value Base. The F-floating-point-base argument is an F-floating number containing the base. D-floating-point-exponent OpenVMS usage:floating_point type: D_floating access: read only mechanism: by value Exponent. The D-floating-point-exponent argument is a D-floating number that contains the exponent. 3 OTS$POWRJ The Raise an F-Floating Base to a Longword Exponent routine raises an F-floating base to a longword exponent. Format OTS$POWRJ F-floating-point-base ,longword-integer-exponent 4 Returns OpenVMS usage:floating_point type: F_floating access: write only mechanism: by value Result of raising an F-floating base to a longword exponent. 4 Arguments F-floating-point-base OpenVMS usage:floating_point type: F_floating access: read only mechanism: by value Base. The F-floating-point-base argument is an F-floating number containing the base. longword-integer-exponent OpenVMS usage:longword_signed type: longword (signed) access: read only mechanism: by value Exponent. The longword-integer-exponent argument is a signed longword that contains the longword exponent. 3 OTS$POWRR The Raise an F-Floating Base to an F-Floating Exponent routine raises an F-floating base to an F-floating exponent. Format OTS$POWRR F-floating-point-base ,F-floating-point-exponent 4 Returns OpenVMS usage:floating_point type: F_floating access: write only mechanism: by value Result of raising an F-floating base to an F-floating exponent. 4 Arguments F-floating-point-base OpenVMS usage:floating_point type: F_floating access: read only mechanism: by value Base. The F-floating-point-base argument is an F-floating number containing the base. F-floating-point-exponent OpenVMS usage:floating_point type: F_floating access: read only mechanism: by value Exponent. The F-floating-point-exponent argument is an F-floating number that contains the exponent. 3 OTS$POWxLU The Raise a Floating-Point Base to an Unsigned Longword Integer Exponent routines raise a floating-point base to an unsigned longword integer exponent. Format OTS$POWRLU floating-point-base ,unsigned-lword-int-exponent OTS$POWDLU floating-point-base ,unsigned-lword-int-exponent OTS$POWGLU floating-point-base ,unsigned-lword-int-exponent OTS$POWHLU_R3 floating-point-base ,unsigned-lword-int-exponent (VAX only) 4 Returns OpenVMS usage:floating_point type: F_floating, D_floating, G_floating, H_floating access: write only mechanism: by value Result of raising a floating-point base to an unsigned longword integer exponent. OTS$POWRLU returns an F-floating number. OTS$POWDLU returns a D-floating number. OTS$POWGLU returns a G-floating number. On VAX systems, OTS$POWHLU_R3 returns an H-floating number. 4 Arguments floating-point-base OpenVMS usage:floating_point type: F_floating, D_floating, G_floating, H_floating access: read only mechanism: by value Floating-point base. The floating-point-base argument contains the value of the base. For OTS$POWRLU, floating-point-base is an F-floating number. For OTS$POWDLU, floating-point-base is a D-floating number. For OTS$POWGLU, floating-point-base is a G- floating number. For OTS$POWHLU_R3, floating-point-base is an H-floating number. unsigned-lword-int-exponent OpenVMS usage:longword_unsigned type: longword (unsigned) access: read only mechanism: by value Integer exponent. The unsigned-lword-int-exponent argument contains the value of the unsigned longword integer exponent. 3 OTS$SCOPY_DXDX The Copy a Source String Passed by Descriptor to a Destination String routine copies a source string to a destination string. Both strings are passed by descriptor. Format OTS$SCOPY_DXDX source-string ,destination-string 4 Corresponding_JSB_Entry_Point OTS$SCOPY_DXDX6 4 Returns OpenVMS usage:word_unsigned type: word (unsigned) access: write only mechanism: by value Number of bytes not moved to the destination string if the length of source-string is greater than the length of destination- string. The value is 0 (zero) otherwise. 4 Arguments source-string OpenVMS usage:char_string type: character string access: read only mechanism: by descriptor Source string. The source-string argument is the address of a descriptor pointing to the source string. The descriptor class can be unspecified, fixed length, dynamic, scalar decimal, array, noncontiguous array, or varying. destination-string OpenVMS usage:char_string type: character string access: write only mechanism: by descriptor Destination string. The destination-string argument is the address of a descriptor pointing to the destination string. The class field determines the appropriate action. 3 OTS$SCOPY_R_DX The Copy a Source String Passed by Reference to a Destination String routine copies a source string passed by reference to a destination string. Format OTS$SCOPY_R_DX word-int-source-length-val ,source-string-address ,destination-string 4 Corresponding_JSB_Entry_Point OTS$SCOPY_R_DX6 4 Returns OpenVMS usage:word_unsigned type: word (unsigned) access: write only mechanism: by value Number of bytes not moved to the destination string if the length of the source string pointed to by source-string-address is greater than the length of destination-string. Otherwise, the value is 0 (zero). 4 Arguments word-int-source-length-val OpenVMS usage:word_unsigned type: word (unsigned) access: read only mechanism: by value Length of the source string. The word-int-source-length-val argument is an unsigned word integer containing the length of the source string. source-string-address OpenVMS usage:char_string type: character string access: read only mechanism: by reference Source string. The source-string-address argument is the address of the source string. destination-string OpenVMS usage:char_string type: character string access: write only mechanism: by descriptor Destination string. The destination-string argument is the address of a descriptor pointing to the destination string. OTS$SCOPY_R_DX determines the appropriate action based on the descriptor's CLASS field. The descriptor's LENGTH field alone or both the POINTER and LENGTH fields can be modified if the string is dynamic. For varying strings, the string's current length (CURLEN) is rewritten. 3 OTS$SFREE1_DD The Free One Dynamic String routine returns one dynamic string area to free storage. Format OTS$SFREE1_DD dynamic-descriptor 4 Corresponding_JSB_Entry_Point OTS$SFREE1_DD6 4 Returns None. 4 Argument dynamic-descriptor OpenVMS usage:quadword_unsigned type: quadword (unsigned) access: modify mechanism: by reference Dynamic string descriptor. The dynamic-descriptor argument is the address of the dynamic string descriptor. The descriptor is assumed to be dynamic and its class field is not checked. 3 OTS$SFREEN_DD The Free n Dynamic Strings routine takes as input a vector of one or more dynamic string areas and returns them to free storage. Format OTS$SFREEN_DD descriptor-count-value ,first-descriptor 4 Corresponding_JSB_Entry_Point OTS$SFREEN_DD6 4 Returns None. 4 Arguments descriptor-count-value OpenVMS usage:longword_unsigned type: longword (unsigned) access: read only mechanism: by value Number of adjacent descriptors to be flagged as having no allocated area (the descriptor's POINTER and LENGTH fields contain 0) and to have their allocated areas returned to free storage by OTS$SFREEN_DD. The descriptor-count-value argument is an unsigned longword containing this number. first-descriptor OpenVMS usage:quadword_unsigned type: quadword (unsigned) access: modify mechanism: by reference First string descriptor of an array of string descriptors. The first-descriptor argument is the address of the first string descriptor. The descriptors are assumed to be dynamic, and their class fields are not checked. 3 OTS$SGET1_DD The Get One Dynamic String routine allocates a specified number of bytes of dynamic virtual memory to a specified string descriptor. Format OTS$SGET1_DD word-integer-length-value ,dynamic-descriptor 4 Corresponding_JSB_Entry_Point OTS$SGET1_DD_R6 4 Returns None. 4 Arguments word-integer-length-value OpenVMS usage:word_unsigned type: word (unsigned) access: read only mechanism: by value Number of bytes to be allocated. The word-integer-length-value argument contains the number of bytes. The amount of storage allocated is automatically rounded up. If the number of bytes is zero, a small number of bytes is allocated. dynamic-descriptor OpenVMS usage:quadword_unsigned type: quadword (unsigned) access: modify mechanism: by reference Dynamic string descriptor to which the area is to be allocated. The dyn-str argument is the address of the dynamic string descriptor. The CLASS field is not checked but it is set to dynamic (CLASS = 2). The LENGTH field is set to word-integer- length-value and the POINTER field is set to the string area allocated (first byte beyond the header).