HP OpenVMS Systems Documentation 
HP OpenVMS RTL General Purpose (OTS$) ManualOrder Number: AAPV6HETK
January 2005
This manual documents the generalpurpose routines contained in the OTS$ facility of the OpenVMS RunTime Library. Revision/Update Information: This manual supersedes the HP OpenVMS RTL General Purpose (OTS$) Manual for OpenVMS Alpha Version 7.3. Software Version: OpenVMS I64 Version 8.2 OpenVMS Alpha Version 8.2
HewlettPackard Company
© Copyright 2005 HewlettPackard Development Company, L.P. Confidential computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein. Intel and Itanium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. Printed in the US
ZK5933 The HP OpenVMS documentation set is available on CDROM.
PrefaceThis manual provides users of the OpenVMS operating system with detailed usage and reference information on generalpurpose routines supplied in the OTS$ facility of the RunTime Library. Intended AudienceThis manual is intended for system and application programmers who write programs that call OTS$ RunTime Library routines. Document StructureThis manual is organized into two parts as follows:
Related DocumentsThe RunTime Library routines are documented in a series of reference manuals. A description of how the RunTime Library routines are accessed and of OpenVMS features and functionality available through calls to the OTS$ RunTime Library appears in the OpenVMS Programming Concepts Manual. Descriptions of other RTL facilities and their corresponding routines and usages are discussed in the following books:
The Guide to the POSIX Threads Library contains guidelines and reference information for HP POSIX Threads^{2}, the HP Multithreading RunTime Library. Application programmers using any programming language can refer to the Guide to Creating OpenVMS Modular Procedures for writing modular and reentrant code. Highlevel language programmers will find additional information on calling RunTime Library routines in their language reference manual. Additional information may also be found in the language user's guide provided with your OpenVMS language software. For a complete list and description of the manuals in the OpenVMS documentation set, see the HP OpenVMS Version 8.2 New Features and Documentation Overview. For additional information about HP OpenVMS products and services, see the following World Wide Web address:
Reader's CommentsHP welcomes your comments on this manual. Please send comments to either of the following addresses:
How To Order Additional DocumentationFor information on how to order additional documentation, visit the following World Wide Web address:
ConventionsThe following conventions are used in this manual:
Part 1
This part of the HP OpenVMS RTL General Purpose (OTS$) Manual contains a general overview of the
routines provided by the OpenVMS RTL General Purpose (OTS$) Facility,
and lists them by function.

Routine Name  Function 

OTS$CNVOUT  Convert a Dfloating, Gfloating, Hfloating, IEEE Sfloating or IEEE Tfloating value to a character string. 
OTS$CVT_L_TB  Convert an unsigned integer to binary text. 
OTS$CVT_L_TI  Convert a signed integer to signed integer text. 
OTS$CVT_L_TL  Convert an integer to logical text. 
OTS$CVT_L_TO  Convert an unsigned integer to octal text. 
OTS$CVT_L_TU  Convert an unsigned integer to decimal text. 
OTS$CVT_L_TZ  Convert an integer to hexadecimal text. 
OTS$CVT_TB_L  Convert binary text to an unsigned integer value. 
OTS$CVT_TI_L  Convert signed integer text to an integer value. 
OTS$CVT_TL_L  Convert logical text to an integer value. 
OTS$CVT_TO_L  Convert octal text to an unsigned integer value. 
OTS$CVT_TU_L  Convert unsigned decimal text to an integer value. 
OTS$CVT_T_ x  Convert numeric text to a D, F, G, H, IEEE S, or IEEE Tfloating value. 
OTS$CVT_TZ_L  Convert hexadecimal text to an unsigned integer value. 
For more information on RunTime Library conversion routines, see the CVT$ reference section in the HP OpenVMS RTL Library (LIB$) Manual.
Routine Name  Function 

OTS$DIVC x  Perform complex division. 
OTS$DIV_PK_LONG  Perform packed decimal division with a long divisor. 
OTS$DIV_PK_SHORT  Perform packed decimal division with a short divisor. 
Routine Name  Function 

OTS$MOVE3  Move data without fill. 
OTS$MOVE5  Move data with fill. 
Routine Name  Function 

OTS$MULC x  Perform complex multiplication. 
Routine Name  Function 

OTS$POWC xC x  Raise a complex base to a complex floatingpoint exponent. 
OTS$POWC xJ  Raise a complex base to a signed longword exponent. 
OTS$POWDD  Raise a Dfloating base to a Dfloating exponent. 
OTS$POWDR  Raise a Dfloating base to an Ffloating exponent. 
OTS$POWDJ  Raise a Dfloating base to a longword integer exponent. 
OTS$POWGG  Raise a Gfloating base to a Gfloating or longword integer exponent. 
OTS$POWGJ  Raise a Gfloating base to a longword integer exponent. 
+OTS$POWHH_R3  Raise an Hfloating base to an Hfloating exponent. 
+OTS$POWHJ_R3  Raise an Hfloating base to a longword integer exponent. 
OTS$POWII  Raise a word integer base to a word integer exponent. 
OTS$POWJJ  Raise a longword integer base to a longword integer exponent. 
OTS$POWLULU  Raise an unsigned longword integer base to an unsigned longword integer exponent. 
OTS$POW xLU  Raise a floatingpoint base to an unsigned longword integer exponent. 
OTS$POWRD  Raise an Ffloating base to a Dfloating exponent. 
OTS$POWRJ  Raise an Ffloating base to a longword integer exponent. 
OTS$POWRR  Raise an Ffloating base to an Ffloating exponent. 
OTS$POWSJ  Raise an IEEE Sfloating base to a longword integer exponent. 
OTS$POWSS  Raise an IEEE Sfloating base to an Sfloating or longword integer exponent. 
OTS$POWTJ  Raise an IEEE Tfloating base to a longword integer exponent. 
OTS$POWTT  Raise an IEEE Tfloating base to a Tfloating or longword integer exponent. 
Routine Name  Function 

OTS$SCOPY_DXDX  Copy a source string passed by descriptor to a destination string. 
OTS$SCOPY_R_DX  Copy a source string passed by reference to a destination string. 
Routine Name  Function 

OTS$SFREE1_DD  Free one dynamic string. 
OTS$SFREEN_DD  Free n dynamic strings. 
OTS$SGET1_DD  Get one dynamic string. 
Routine Name  Function 

OTS$CALL_PROC  Perform a call to a procedure that may be either in native code or in a translated image. 
OTS$JUMP_TO_BPV  Transfer control to a bound procedure. 
On Alpha and I64 systems, if you use the OTS$ entry points for certain mathematics routines, you must link against the DPML$SHR.EXE library. Alternately, you can use the equivalent math$ entry point for the routine and link against either STARLET.OLB or the DPML$SHR.EXE library. Math$ entry points are available only on Alpha and I64 systems.
Table 19 lists the affected OTS$ entry points with their equivalent math$ entry points. Refer to the Compaq Portable Mathematics Library for information about the math$ entry points.
OTS$ Entry Point  Math$ Entry Point 

OTS$DIVC  math$cdiv_f 
OTS$DIVCG_R3  math$cdiv_g 
OTS$DIVCS  math$cdiv_s 
OTS$DIVCT_R3  math$cdiv_t 
OTS$MULCS  math$cmul_s 
OTS$MULCT_R3  math$cmul_t 
OTS$MULCG_R3  math$cmul_g 
OTS$POWCC  math$cpow_f 
OTS$POWCGCG_R3  math$cpow_g 
OTS$POWCJ  math$cpow_fq 
OTS$POWCSCS  math$cpow_s 
OTS$POWCSJ  math$cpow_sq 
OTS$POWCTCT_R3  math$cpow_t 
OTS$POWCTJ_R3  math$cpow_tq 
OTS$POWGG  math$pow_gg 
OTS$POWGJ  math$pow_gq 
OTS$POWGLU  math$pow_gq 
OTS$POWII  math$pow_qq 
OTS$POWJJ  math$pow_qq 
OTS$POWLULU  math$pow_qq 
OTS$POWRJ  math$pow_fq 
OTS$POWRLU  math$pow_fq 
OTS$POWRR  math$pow_ff 
OTS$POWSS  math$pow_ss 
OTS$POWSJ  math$pow_sq 
OTS$POWSLU  math$pow_sq 
OTS$POWTJ  math$pow_tq 
OTS$POWTLU  math$pow_tq 
OTS$POWTT  math$pow_tt 
Next  Contents  Index 