/********************************************************************************************************************************/ /* Created: 9-Mar-2021 22:28:02 by OpenVMS SDL EV3-3 */ /* Source: 09-MAR-2021 22:28:00 $1$DGA8085:[STARLET_H.SRC]CVTDEF.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $cvtdef ***/ #ifndef __CVTDEF_LOADED #define __CVTDEF_LOADED 1 #pragma __nostandard /* This file uses non-ANSI-Standard features */ #pragma __member_alignment __save #pragma __nomember_alignment #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __save /* Save the previously-defined required ptr size */ #pragma __required_pointer_size __short /* And set ptr size default to 32-bit pointers */ #endif #ifdef __cplusplus extern "C" { #define __unknown_params ... #define __optional_params ... #else #define __unknown_params #define __optional_params ... #endif #ifndef __struct #if !defined(__VAXC) #define __struct struct #else #define __struct variant_struct #endif #endif #ifndef __union #if !defined(__VAXC) #define __union union #else #define __union variant_union #endif #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 #ifdef __NEW_STARLET typedef 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; } CVT$R_RETURN_STATUS; #else /* __OLD_STARLET */ 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; } ; #endif /* #ifdef __NEW_STARLET */ /* */ /* 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 #ifdef __NEW_STARLET typedef 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; } CVT$R_CONVERSION_OPTIONS; #else /* __OLD_STARLET */ 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; } ; #endif /* #ifdef __NEW_STARLET */ #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 #ifdef __NEW_STARLET typedef 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; } CVT$R_ALT_CONVERSION_OPTIONS; #else /* __OLD_STARLET */ 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; } ; #endif /* #ifdef __NEW_STARLET */ #pragma __member_alignment __restore #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __restore /* Restore the previously-defined required ptr size */ #endif #ifdef __cplusplus } #endif #pragma __standard #endif /* __CVTDEF_LOADED */