ieee_real(3I)

IEEE_REAL - Converts x to a real value

As shipped in IRIX 6.5.15. Last changed in IRIX 6.5.5.

NAME
     IEEE_REAL - Converts x to a real value

SYNOPSIS
     IEEE_REAL ([X=]x [, [Y=]y])

IMPLEMENTATION
     UNICOS/mk, IRIX systems, CRAY T90 systems that support IEEE
     floating-point arithmetic

     CF90, MIPSpro 7 Fortran 90

STANDARDS
     Fortran extension

     IEEE Standard for Binary Floating-point Arithmetic

DESCRIPTION
     The IEEE_REAL intrinsic function converts x to a real value according
     to the rounding mode currently in effect.  It accepts the following
     arguments:

     x         Can be of type real or integer.  It can be scalar or an
               array.

     y         If specified, must be scalar and of type real.

     IEEE_REAL is an elemental function.  The name of this intrinsic cannot
     be passed as an argument.

RETURN VALUES
     The result type and type parameters are as follows.  If y is absent,
     the result type and type parameter are default real.  If y is present,
     the result type and type parameter are the same type and type
     parameter as y.  If x is an array, the result is an array of the same
     shape as x.

     If y is absent, the result is a default real rounded from x according
     to the rounding mode currently in effect.  When x is of type integer,
     this form of IEEE_REAL is useful for converting an integer value that
     has more significant bits than the number of bits in the mantissa of
     the default real format or the format of y.  IEEE_REAL, in this case,
     rounds the integer according to the number of bits in the mantissa.
     For example, suppose that on some machine an integer can hold 5
     decimal digits, but the floating-point format of the same size can
     only hold 4.  The result of IEEE_REAL(10126) on this machine would be
     1.013E+3 if the current rounding mode is round-to-nearest.  This form
     of IEEE_REAL is also useful when converting a double precision y to
     (default) single precision and, in the process, rounding the
     fractional value in the mantissa according to the rounding mode
     currently in effect.

     If y is present, the result is of type real with the same kind type
     parameter value as y and whose value is rounded from x according to
     the rounding mode currently in effect.  This form of IEEE_REAL has
     essentially the same uses as those described in the previous
     paragraph, but it allows you to specify a result type of something
     other than default real.  For example, this form would be useful to
     convert quad precision real to double precision (and rounding in the
     process) on IRIX systems.

     If x is scalar, the result is scalar.

     If x is an array, the result is an array in which each element is the
     value of x  rounded to the type and type parameter of y.
               i
EXAMPLES
          ! Assume that the following program is compiled and executed on
          ! a 32-bit machine.
          INTEGER k
          ...                     ! X is filled with a value that
          ...                     ! has more than 23 significant bits.
          PRINT *, IEEE_REAL(k)

     Variable k is converted to type default real and rounded to fit into
     23 bits according to the rounding mode currently in effect.

SEE ALSO
     Intrinsic Procedures Reference Manual for the printed version of this
     man page.