INTRO_CONVERSION(3F) Last changed: 2-23-98
INTRO_CONVERSION - Introduction to conversion routines
See individual man pages for implementation details.
These Fortran-callable subroutines perform conversion of data residing
in Cray Research systems memory. Conversion subprograms are listed
under the following types of routines:
* Foreign data conversion
* Numeric conversion
* ASCII conversion
* IEEE conversion
* Other conversion
For more information regarding foreign data conversion, see the
Application Programmer's I/O Guide, publication SG-2168.
The USCCTC and USCCTI routines are available on IRIX systems. Both
routines are documented on the USCCTC man page. In addition, the
CRY2MIPS and MIPS2CRY routines are available on IRIX systems. Both
routines are documented on the CRY2MIPS man page.
FOREIGN DATA CONVERSION ROUTINES
The foreign data conversion routines translate data in both directions
between Cray Research internal representations and that of other
vendors, including IBM, CDC, ETA, IEEE, and DEC (VAX systems). The
following tables list these conversion routines by the data type on
which they operate. Cray Research recommends the newer routines:
IBM2CRAY, CDC2CRAY, VAX2CRAY, NVE2CRAY, IEG2CRAY, ETA2CRAY, CRAY2IBM,
CRAY2CDC, CRAY2VAX, CRAY2NVE, CRAY2IEG, and CRAY2ETA. Generally,
routines that are inverses of each other (that is, converted from Cray
Research data types to IBM and IBM to Cray Research) are listed under
a single entry. Routine descriptions follow later in this section,
listed alphabetically by entry name.
These routines are used for data conversion:
Conversion routines on Cray PVP systems [Toc] [Back]
--------------------------------------------------------------------
Name Foreign->Native Native->Foreign
--------------------------------------------------------------------
IBM IBM2CRAY CRAY2IBM
VAX/VMS VAX2CRAY CRAY2VAX
CDC (NOS) CDC2CRAY CRAY2CDC
CDC (NOS/VE) NVE2CRAY CRAY2NVE
CDC CYBER 205 ETA2CRAY CRAY2ETA
Generic IEEE (32-bit) IEG2CRAY CRAY2IEG
IEEE little-endian IEU2CRAY CRAY2IEU
Cray IEEE (64-bit) CRI2CRAY CRAY2CRI
SGI MIPS MIPS2CRY CRY2MIPS
User conversion USR2CRAY CRAY2USR
Site conversion STE2CRAY CRAY2STE
--------------------------------------------------------------------
Conversion routines for Cray MPP systems:
--------------------------------------------------------------------
Name Foreign->Native Native->Foreign
--------------------------------------------------------------------
Cray PVP systems (non- CRAY2CRI and CRY2CRI CRI2CRAY and CRI2CRY
IEEE)
IBM IBM2CRI CRI2IBM
Generic IEEE (32-bit) IEG2CRI CRI2IEG
User conversion USR2CRAY CRAY2USR
Site conversion STE2CRAY CRAY2STE
--------------------------------------------------------------------
Conversion routines on CRAY T90 (non-IEEE) [Toc] [Back]
--------------------------------------------------------------------
Name Foreign->Native Native->Foreign
--------------------------------------------------------------------
Cray PVP systems (non- CRY2CRI CRI2CRY
IEEE)
IBM IBM2CRI CRI2IBM
Generic IEEE (32-bit) IEG2CRI CRI2IEG
User conversion USR2CRAY CRAY2USR
Site conversion STE2CRAY CRAY2STE
--------------------------------------------------------------------
Conversion routines on IRIX systems (MIPS) [Toc] [Back]
--------------------------------------------------------------------
Name Foreign->Native Native->Foreign
--------------------------------------------------------------------
Cray PVP systems (non- CRY2MIPS MIPS2CRY
IEEE)
User conversion USR2CRAY CRAY2USR
Site conversion STE2CRAY CRAY2STE
--------------------------------------------------------------------
Superseded routines: Foreign to Cray Research
The following table lists superseded, older routines that are
supported to maintain continuity. Cray Research recommends using the
newer routines named in the preceding list.
--------------------------------------------------------------
Conversion IBM CDC VAX/VMS
--------------------------------------------------------------
Foreign single precision to Cray USSCTC FP6064 VXSCTC
single precision
Foreign double precision to Cray USDCTC --- VXDCTC
single precision
VXGCTC
Foreign double precision to Cray --- --- VXBCTC
double precision
Foreign integer to Cray integer USICTC INT6064 VXICTC
Foreign logical to Cray logical USLCTC --- VXLCTC
Foreign character to ASCII USCCTC DSASC ---
VAX 64-bit complex to Cray single --- --- VXZCTC
precision
IBM packed-decimal field to Cray USPCTC --- ---
integer
--------------------------------------------------------------
Superseded routines: Cray Research to Foreign
The following routines convert Cray Research types to foreign types.
The man pages for these routines appear under the name of the inverse
of each routine (for example, CRAY2IBM is described under entry
IBM2CRAY).
Routine Type
CRAY2IBM IBM
CRAY2CDC CDC
CRAY2VAX VAX/VMS
CRAY2NVE NOS/VE
CRAY2ETA ETA/CYBER 205
CRAY2IEG IEEE (32-bit)
CRAY2IEU DEC
CRAY2CRI IEEE (UNICOS/mk)
The following table lists older routines that convert Cray Research
types to foreign types. These routines are supported to maintain
continuity. Cray Research recommends using the newer routines named
in the preceding list rather than these routines.
--------------------------------------------------------------
Conversion IBM CDC VAX/VMS
--------------------------------------------------------------
Cray single precision to foreign USSCTI FP6460 VXSCTI
single precision
Cray single precision to foreign USDCTI --- VXDCTI,
double precision VXGCTI
Cray double precision to foreign --- --- VXBCTI
double precision
Cray integer to foreign integer USICTI INT6460 VXICTI
Cray logical to foreign logical USLCTI --- VXLCTI
ASCII character to foreign USCCTI ASCDC ---
character
Cray complex to foreign complex --- --- VXZCTI
Cray integer to foreign packed- USICTP --- ---
decimal field
--------------------------------------------------------------
NUMERIC CONVERSION ROUTINE
CHCONV converts decimal ASCII numerals to an integer format. It is an
internal library routine.
ASCII CONVERSION FUNCTIONS [Toc] [Back] The ASCII conversion functions convert binary integers to or from
1-word ASCII strings (not Fortran character variables).
Note: The ASCII conversion functions are not intrinsic to Fortran.
Their default type is real, even though their results are generally
used as integers.
The ASCII conversion routines use one type integer argument. The DTB
and OTB routines can also use a second optional argument as an error
code. The resulting error codes (0 if no error; -1 if there are
errors) are returned in the second argument for Fortran calls. If no
error code argument is included in Fortran calls, the routine aborts
if an error is encountered.
The following calls show how the ASCII conversion routines are used.
These Fortran calls convert a binary number to decimal ASCII, then
convert back from ASCII to binary. They use internal I/O routines.
result=BTD(integer)
result Decimal ASCII result (right-justified, blank-filled)
integer Integer argument
result=DTB(arg,errcode)
result Integer value
arg Decimal ASCII (left-justified, zero-filled)
errcode 0 if conversion successful; -1 if error
The following table lists the ASCII conversion functions.
-------------------------------------------------------------
Purpose Name Argument range Result
-------------------------------------------------------------
Binary to decimal BTD 0 <= x <= One-word ASCII
ASCII (right- 99999999 string (rightjustified,
blank- justified,
filled) blank-filled)
Binary to decimal BTDL 0 <= x <= One-word ASCII
ASCII (left- 99999999 string (leftjustified,
zero- justified,
filled) zero-filled)
Binary to decimal BTDR 0 <= x <= One-word ASCII
ASCII (right- 99999999 string (rightjustified,
zero- justified,
filled) zero-filled)
Binary to octal BTO 0 <= x <=
ASCII (right- 77777777 One-word ASCII
justified, blank- 8 string (rightfilled)
justified,
blank-filled)
Binary to octal BTOL 0 <= x <=
ASCII (left- 77777777 One-word ASCII
justified, zero- 8 string (leftfilled)
justified,
zero-filled)
Binary to octal BTOR 0 <= x <=
ASCII (right- 77777777 One-word ASCII
justified, zero- 8 string (rightfilled)
justified,
zero-filled)
Decimal ASCII to DTB Decimal ASCII One word
binary (left- containing
justified, decimal
zero-filled) equivalent of
ASCII string
Octal ASCII to OTB Octal ASCII One word
binary (left- containing octal
justified, equivalent of
zero-filled) ASCII string
-------------------------------------------------------------
The Cray Assembly Language (CAL) entry points are the same as the
Fortran entry points for the preceding routines with the percent sign
(%) appended. For example, BTDL is called as BTDL% from CAL.
IEEE CONVERSION ROUTINES
The IEEE conversion routines convert Cray single-precision real
numbers to or from IEEE single- or double-precision real numbers.
The following list contains the purpose and name of the IEEE
conversion routines. See the individual man pages for implementation
details.
* IEG2CRAY: Converts IEEE/Generic 32-bit data to Cray data
* CRAY2IEG: Converts Cray data to IEEE/Generic 32-bit data
* IEU2CRAY: Converts DEC ULTRIX/Generic Little Endian 32-bit data to
Cray data
* CRAY2IEU: Converts Cray data to DEC ULTRIX Generic Little Endian
32-bit data
* CRI2CRY: Converts Fortran data from UNICOS/mk to UNICOS type
* CRY2CRI: Converts Fortran data from UNICOS to UNICOS/mk type
* CRI2CRAY: Converts IEEE/MPP 32-bit data to Cray Research PVP 64-bit
data
* CRAY2CRI: Converts Cray Research PVP 64-bit data to IEEE/MPP 32-bit
data
OTHER CONVERSION ROUTINES [Toc] [Back] These routines place the octal ASCII representation of a Cray word
into a character area, convert trailing blanks to nulls or trailing
nulls to blanks, and translate a string from one code to another,
using a translation table.
The following list contains the purpose and name of these conversion
routines.
* B2OCT: Places an octal ASCII representation of a Cray word into a
character area
* CHCONV: Converts decimal ASCII to integers
* RBN: Converts trailing blanks to nulls
* RNB: Converts trailing nulls to blanks
Application Programmer's Library Reference Manual, publication
SR-2165, for the printed version of this man page.
[ Back ]
|