/********************************************************************************************************************************/ /* Created: 15-MAR-2001 23:37:15 by OpenVMS SDL EV1-33 */ /* Source: 15-MAR-2001 23:34:49 _$11$DUA933:[BUILD.SDL]CVTDEF.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $cvtdef ***/ #ifndef __CVTDEF_LOADED #define __CVTDEF_LOADED 1 #pragma nostandard #ifdef __cplusplus extern "C" { #define __unknown_params ... #else #define __unknown_params #endif #if !defined(__VAXC) && !defined(VAXC) #define __struct struct #define __union union #else #define __struct variant_struct #define __union variant_union #endif #define CVT$K_VAX_F 0 /* VAX F Floating point data */ #define CVT$K_VAX_D 1 /* VAX D Floating point data */ #define CVT$K_VAX_G 2 /* VAX G Floating point data */ #define CVT$K_VAX_H 3 /* VAX H Floating point data */ #define CVT$K_IEEE_S 4 /* IEEE S Floating point data */ #define CVT$K_IEEE_T 5 /* IEEE T Floating point data */ #define CVT$K_IBM_LONG 6 /* IBM Long Floating point data */ #define CVT$K_IBM_SHORT 7 /* IBM Short Floating point data */ #define CVT$K_CRAY 8 /* Cray Floating point data */ #define CVT$K_IEEE_X 9 /* IEEE X Floating point data */ #define CVT$K_BIG_ENDIAN_IEEE_S 10 /* IEEE S Floating point data */ #define CVT$K_BIG_ENDIAN_IEEE_T 11 /* IEEE S Floating point data */ #define CVT$K_BIG_ENDIAN_IEEE_X 12 /* IEEE S Floating point data */ #define CVT$K_CRAY_SINGLE 8 /* */ /* Function Return Status Values: */ /* */ #define CVT$K_NORMAL 0 #define CVT$M_INVALID_INPUT_TYPE 0x1 #define CVT$M_INVALID_OUTPUT_TYPE 0x2 #define CVT$M_INVALID_OPTION 0x4 #define CVT$M_RESULT_INFINITE 0x8 #define CVT$M_RESULT_DENORMALIZED 0x10 #define CVT$M_RESULT_OVERFLOW_RANGE 0x20 #define CVT$M_RESULT_UNDERFLOW_RANGE 0x40 #define CVT$M_RESULT_UNNORMALIZED 0x80 #define CVT$M_RESULT_INVALID 0x100 #define CVT$M_RESULT_OVERFLOW 0x200 #define CVT$M_RESULT_UNDERFLOW 0x400 #define CVT$M_RESULT_INEXACT 0x800 struct cvt$r_return_status { unsigned cvt$v_invalid_input_type : 1; unsigned cvt$v_invalid_output_type : 1; unsigned cvt$v_invalid_option : 1; unsigned cvt$v_result_infinite : 1; unsigned cvt$v_result_denormalized : 1; unsigned cvt$v_result_overflow_range : 1; unsigned cvt$v_result_underflow_range : 1; unsigned cvt$v_result_unnormalized : 1; unsigned cvt$v_result_invalid : 1; unsigned cvt$v_result_overflow : 1; unsigned cvt$v_result_underflow : 1; unsigned cvt$v_result_inexact : 1; unsigned cvt$v_fill_0 : 4; } ; /* */ /* Conversion Options: */ /* */ #define CVT$M_ROUND_TO_NEAREST 0x1 #define CVT$M_TRUNCATE 0x2 #define CVT$M_ROUND_TO_POS 0x4 #define CVT$M_ROUND_TO_NEG 0x8 #define CVT$M_VAX_ROUNDING 0x10 #define CVT$M_BIG_ENDIAN 0x20 #define CVT$M_ERR_UNDERFLOW 0x40 #define CVT$M_FORCE_INVALID_TO_ZERO 0x80 #define CVT$M_FORCE_DENORM_TO_ZERO 0x100 #define CVT$M_FORCE_INF_TO_MAX_FLOAT 0x200 #define CVT$M_FORCE_ALL_SPECIAL_VALUES 0x400 #define CVT$M_ALLOW_OVRFLW_RANGE_VALUES 0x800 #define CVT$M_ALLOW_UDRFLW_RANGE_VALUES 0x1000 #define CVT$M_ALLOW_UNNORMALIZED_VALUES 0x2000 #define CVT$M_REPORT_ALL 0x4000 #define CVT$M_SPARE2 0xFFFF8000 struct cvt$r_conversion_options { /* */ /* Rounding Mode Options: */ /* */ unsigned cvt$v_round_to_nearest : 1; unsigned cvt$v_truncate : 1; unsigned cvt$v_round_to_pos : 1; unsigned cvt$v_round_to_neg : 1; unsigned cvt$v_vax_rounding : 1; /* */ /* Options exclusive to CVT$CONVERT_FLOAT */ /* */ unsigned cvt$v_big_endian : 1; unsigned cvt$v_err_underflow : 1; /* */ /* Forcing Results Options: */ /* */ unsigned cvt$v_force_invalid_to_zero : 1; unsigned cvt$v_force_denorm_to_zero : 1; unsigned cvt$v_force_inf_to_max_float : 1; unsigned cvt$v_force_all_special_values : 1; /* */ /* Allowing Special Results Options: */ /* */ unsigned cvt$v_allow_ovrflw_range_values : 1; unsigned cvt$v_allow_udrflw_range_values : 1; unsigned cvt$v_allow_unnormalized_values : 1; /* */ /* Status Selection Options: */ /* */ unsigned cvt$v_report_all : 1; /* */ /* Everything else. */ /* */ unsigned cvt$v_spare2 : 17; } ; #define CVT$M_ALT_ROUND_TO_NEAREST 0x1 #define CVT$M_ROUND_TO_ZERO 0x2 #define CVT$M_ALT_ROUND_TO_POS 0x4 #define CVT$M_ALT_ROUND_TO_NEG 0x8 #define CVT$M_BIASED_ROUNDING 0x10 #define CVT$M_SPARE3 0xFFFFFFE0 struct cvt$r_alt_conversion_options { /* */ /* Rounding Mode Options: */ /* */ unsigned cvt$v_alt_round_to_nearest : 1; unsigned cvt$v_round_to_zero : 1; unsigned cvt$v_alt_round_to_pos : 1; unsigned cvt$v_alt_round_to_neg : 1; unsigned cvt$v_biased_rounding : 1; unsigned cvt$v_spare3 : 27; } ; #ifdef __cplusplus } #endif #pragma standard #endif /* __CVTDEF_LOADED */