HELPLIB.HLB  —  RTL Routines, CVT$  CVT$CONVERT_FLOAT
    The Convert Floating-Point Data Type routine provides a
    simplified options-interface for converting a floating-point
    data type to another supported floating-point data type.

    Format

      CVT$CONVERT_FLOAT  input_value, input_type_code, output_value,

                         output_type_code, options

1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

2  –  Arguments

 input_value

    OpenVMS usage:varying_arg
    type:         unspecified
    access:       read only
    mechanism:    by reference

    The address of a data area containing a floating-point number
    that is to be converted. The input_value argument may contain
    floating-point data in F_Floating, D_Floating, G_Floating, H_
    Floating, IEEE_S_Floating, IEEE_T_Floating, IEEE_X_Floating, IBM_
    Long_Floating, IBM_Short_Floating, or CRAY_Floating format. The
    value of the input_type_code argument determines the format and
    size of the input_value argument.

 input_type_code

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value

    The value of a longword bit mask specifying the type of floating-
    point data being passed in the input_value argument. Valid type
    codes are:

                                                          Size in
    input_type_code          Format                       Bytes

    CVT$K_VAX_F              F_Floating                   4
    CVT$K_VAX_D              D_Floating                   8
    CVT$K_VAX_G              G_Floating                   8
    CVT$K_VAX_H              H_Floating                   16
    CVT$K_IEEE_S             IEEE_S_Floating              4
    CVT$K_IEEE_T             IEEE_T_Floating              8
    CVT$K_IEEE_X             IEEE_X_Floating              16
    CVT$K_IBM_LONG           IBM_Long_Floating            8
    CVT$K_IBM_SHORT          IBM_Short_Floating           4
    CVT$K_CRAY               CRAY_Floating                8

    Declarations for the input_type_code argument are in the $CVTDEF
    module found in the system symbol libraries.

 output_value

    OpenVMS usage:varying_arg
    type:         unspecified
    access:       write only
    mechanism:    by reference

    The address of a data area that receives the converted floating-
    point number. The output_value argument can contain floating-
    point data in F_Floating, D_Floating, G_Floating, H_Floating,
    IEEE_S_Floating, IEEE_T_Floating, IEEE_X_Floating, IBM_Long_
    Floating, IBM_Short_Floating, or CRAY_Floating format. The value
    of the output_type_code argument determines the size and format
    of the data placed into the output_value argument.

 output_type_code

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value

    The value of a longword bit mask specifying the type of floating-
    point data that the input_value argument will be converted into
    and returned in the output_value argument. Valid type codes are:

                                                          Size in
    output_type_code         Format                       Bytes

    CVT$K_VAX_F              F_Floating                   4
    CVT$K_VAX_D              D_Floating                   8
    CVT$K_VAX_G              G_Floating                   8
    CVT$K_VAX_H              H_Floating                   16
    CVT$K_IEEE_S             IEEE_S_Floating              4
    CVT$K_IEEE_T             IEEE_T_Floating              8
    CVT$K_IEEE_X             IEEE_X_Floating              16
    CVT$K_IBM_LONG           IBM_Long_Floating            8
    CVT$K_IBM_SHORT          IBM_Short_Floating           4
    CVT$K_CRAY               CRAY_Floating                8

    Declarations for the output_type_code argument are in the $CVTDEF
    module found in the system symbol libraries.

 options

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value

    Conversion option specifier. The options argument is the address
    of a longword bit mask in which each option bit set causes the
    corresponding option to be used during the conversion.

    The following options can be specified using the options
    argument:

    Option                 Description

    CVT$M_ROUND_TO_        The default rounding option for
    NEAREST                conversions to IEEE data types. This
                           IEEE Std. 754 rounding mode results in
                           the representable output value nearest to
                           the infinitely precise result. If the two
                           nearest representable values are equally
                           near, the one whose least significant bit
                           is 0 is the result.
    CVT$M_VAX_ROUNDING     The default rounding option for
                           conversions to non-IEEE data types.
                           Performs "traditional" style rounding.
                           This mode results in the representable
                           output value nearest to the infinitely
                           precise result. If the two nearest
                           representable values are equally near,
                           the output value is the closest to either
                           positive infinity or negative infinity,
                           depending on the sign of the input value.
    CVT$M_TRUNCATE         Round the output value toward zero
                           (truncate).
    CVT$M_ROUND_TO_POS     Round the output value toward positive
                           infinity.
    CVT$M_ROUND_TO_NEG     Round the output value toward negative
                           infinity.
    CVT$M_BIG_ENDIAN       Interprets IEEE data types as Big Endian.
    CVT$M_ERR_UNDERFLOW    Report underflow conditions as errors.

    Declarations for the options argument are in the $CVTDEF module
    found in the system symbol libraries.
Close Help