Developer Guide and Reference

ID 767251
Date 10/31/2024
Public
Document Table of Contents

convert

Specifies the format of unformatted files containing numeric data.

Syntax

Linux:

-convert keyword

Windows:

/convert:keyword

Arguments

keyword

Specifies the format for the unformatted numeric data. Possible values are:

native

Specifies that unformatted data should not be converted.

big_endian

Specifies that the format will be big endian for integer data and big endian IEEE floating-point for real and complex data.

cray

Specifies that the format will be big endian for integer data and CRAY* floating-point for real and complex data.

fdx
(Linux*)

Specifies that the format will be little endian for integer data, and VAX processor floating-point format F_floating, D_floating, and IEEE binary128 for real and complex data.

fgx
(Linux)

Specifies that the format will be little endian for integer data, and VAX processor floating-point format F_floating, G_floating, and IEEE binary128 for real and complex data.

ibm

Specifies that the format will be big endian for integer data and IBM* System\370 floating-point format for real and complex data.

little_endian

Specifies that the format will be little endian for integer data and little endian IEEE floating-point for real and complex data.

vaxd

Specifies that the format will be little endian for integer data, and VAX* processor floating-point format F_floating, D_floating, and H_floating for real and complex data.

vaxg

Specifies that the format will be little endian for integer data, and VAX processor floating-point format F_floating, G_floating, and H_floating for real and complex data.

Default

convert native

No conversion is performed on unformatted files containing numeric data.

Description

This option specifies the format of unformatted files containing numeric data.

Option

Description

convert native

Specifies that unformatted data should not be converted.

convert big_endian

Specifies that the format will be big endian for INTEGER*1, INTEGER*2, INTEGER*4, or INTEGER*8, and big endian IEEE floating-point for REAL*4, REAL*8, REAL*16, COMPLEX*8, COMPLEX*16, or COMPLEX*32.

convert cray

Specifies that the format will be big endian for INTEGER*1, INTEGER*2, INTEGER*4, or INTEGER*8, and CRAY* floating-point for REAL*8 or COMPLEX*16.

convert fdx

Specifies that the format will be little endian for INTEGER*1, INTEGER*2, INTEGER*4, or INTEGER*8, and VAX processor floating-point format F_floating for REAL*4 or COMPLEX*8, D_floating for REAL*8 or COMPLEX*16, and IEEE binary128 for REAL*16 or COMPLEX*32.

convert fgx

Specifies that the format will be little endian for INTEGER*1, INTEGER*2, INTEGER*4, or INTEGER*8, and VAX processor floating-point format F_floating for REAL*4 or COMPLEX*8, G_floating for REAL*8 or COMPLEX*16, and IEEE binary128 for REAL*16 or COMPLEX*32.

convert ibm

Specifies that the format will be big endian for INTEGER*1, INTEGER*2, or INTEGER*4, and IBM* System\370 floating-point format for REAL*4 or COMPLEX*8 (IBM short 4) and REAL*8 or COMPLEX*16 (IBM long 8).

convert little_endian

Specifies that the format will be little endian for INTEGER*1, INTEGER*2, INTEGER*4, or INTEGER*8 and little endian IEEE floating-point for REAL*4, REAL*8, REAL*16, COMPLEX*8, COMPLEX*16, or COMPLEX*32.

convert vaxd

Specifies that the format will be little endian for INTEGER*1, INTEGER*2, INTEGER*4, or INTEGER*8, and VAX processor floating-point format F_floating for REAL*4 or COMPLEX*8, D_floating for REAL*8 or COMPLEX*16, and H_floating for REAL*16 or COMPLEX*32.

convert vaxg

Specifies that the format will be little endian for INTEGER*1, INTEGER*2, INTEGER*4, or INTEGER*8, and VAX processor floating-point format F_floating for REAL*4 or COMPLEX*8, G_floating for REAL*8 or COMPLEX*16, and H_floating for REAL*16 or COMPLEX*32.

Non-native data conversion works on scalars and arrays of intrinsic types: INTEGER*1, INTEGER*2, INTEGER*4, INTEGER*8, including LOGICAL*1, LOGICAL*2, LOGICAL*4, LOGICAL*8, and REAL*4, REAL*8, REAL*16, including COMPLEX*8, COMPLEX*16, and COMPLEX*32. Conversion does not work inside defined type records on their individual fields. For example:

type REC
   integer(8) :: K
   real(8)    :: X
end type REC

type (REC) :: R

write (17) R%K, R%X    ! conversion will work on these objects
write (17) R           ! conversion will not work on the fields of this object

IDE Equivalent

Visual Studio: Compatibility > Unformatted File Conversion

Alternate Options

None