! *** PREDECLARED TYPES %IF %DECLARED ( %BASIC$QUADWORD_DECLARED ) = 0 %THEN RECORD BASIC$QUADWORD LONG FILL ( 2 ) END RECORD %LET %BASIC$QUADWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$OCTAWORD_DECLARED ) = 0 %THEN RECORD BASIC$OCTAWORD LONG FILL ( 4 ) END RECORD %LET %BASIC$OCTAWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$HFLOAT_AXP_DECLARED ) = 0 %THEN RECORD BASIC$HFLOAT_AXP LONG FILL ( 4 ) END RECORD %LET %BASIC$HFLOAT_AXP_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$F_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$F_FLOATING_COMPLEX SINGLE REAL_PART SINGLE IMAGINARY_PART END RECORD %LET %BASIC$F_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$D_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$D_FLOATING_COMPLEX DOUBLE REAL_PART DOUBLE IMAGINARY_PART END RECORD %LET %BASIC$D_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$G_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$G_FLOATING_COMPLEX GFLOAT REAL_PART GFLOAT IMAGINARY_PART END RECORD %LET %BASIC$G_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$H_FLOAT_AXP_CMPLX_DCL ) = 0 %THEN RECORD BASIC$H_FLOATING_COMPLEX_AXP BASIC$HFLOAT_AXP REAL_PART BASIC$HFLOAT_AXP IMAGINARY_PART END RECORD %LET %BASIC$H_FLOAT_AXP_CMPLX_DCL = 1 %END %IF DECLARE LONG CONSTANT CVT$K_VAX_F = 0 ! VAX F Floating point data DECLARE LONG CONSTANT CVT$K_VAX_D = 1 ! VAX D Floating point data DECLARE LONG CONSTANT CVT$K_VAX_G = 2 ! VAX G Floating point data DECLARE LONG CONSTANT CVT$K_VAX_H = 3 ! VAX H Floating point data DECLARE LONG CONSTANT CVT$K_IEEE_S = 4 ! IEEE S Floating point data DECLARE LONG CONSTANT CVT$K_IEEE_T = 5 ! IEEE T Floating point data DECLARE LONG CONSTANT CVT$K_IBM_LONG = 6 ! IBM Long Floating point data DECLARE LONG CONSTANT CVT$K_IBM_SHORT = 7 ! IBM Short Floating point data DECLARE LONG CONSTANT CVT$K_CRAY = 8 ! Cray Floating point data DECLARE LONG CONSTANT CVT$K_IEEE_X = 9 ! IEEE X Floating point data DECLARE LONG CONSTANT CVT$K_BIG_ENDIAN_IEEE_S = 10 ! IEEE S Floating point data DECLARE LONG CONSTANT CVT$K_BIG_ENDIAN_IEEE_T = 11 ! IEEE S Floating point data DECLARE LONG CONSTANT CVT$K_BIG_ENDIAN_IEEE_X = 12 ! IEEE S Floating point data DECLARE LONG CONSTANT CVT$K_CRAY_SINGLE = 8 ! ! Function Return Status Values: ! DECLARE LONG CONSTANT CVT$K_NORMAL = 0 DECLARE LONG CONSTANT CVT$M_INVALID_INPUT_TYPE = x'00000001' DECLARE LONG CONSTANT CVT$M_INVALID_OUTPUT_TYPE = x'00000002' DECLARE LONG CONSTANT CVT$M_INVALID_OPTION = x'00000004' DECLARE LONG CONSTANT CVT$M_RESULT_INFINITE = x'00000008' DECLARE LONG CONSTANT CVT$M_RESULT_DENORMALIZED = x'00000010' DECLARE LONG CONSTANT CVT$M_RESULT_OVERFLOW_RANGE = x'00000020' DECLARE LONG CONSTANT CVT$M_RESULT_UNDERFLOW_RANGE = x'00000040' DECLARE LONG CONSTANT CVT$M_RESULT_UNNORMALIZED = x'00000080' DECLARE LONG CONSTANT CVT$M_RESULT_INVALID = x'00000100' DECLARE LONG CONSTANT CVT$M_RESULT_OVERFLOW = x'00000200' DECLARE LONG CONSTANT CVT$M_RESULT_UNDERFLOW = x'00000400' DECLARE LONG CONSTANT CVT$M_RESULT_INEXACT = x'00000800' DECLARE LONG CONSTANT CVT$S_RETURN_STATUS = 2 record CVT$R_RETURN_STATUS WORD INVALID_INPUT_TYPE_bits ! COMMENT ADDED BY SDL - INVALID_INPUT_TYPE_bits contains bits INVALID_INPUT_TYPE through & ! FILL_0_ end record CVT$R_RETURN_STATUS ! ! Conversion Options: ! DECLARE LONG CONSTANT CVT$M_ROUND_TO_NEAREST = x'00000001' DECLARE LONG CONSTANT CVT$M_TRUNCATE = x'00000002' DECLARE LONG CONSTANT CVT$M_ROUND_TO_POS = x'00000004' DECLARE LONG CONSTANT CVT$M_ROUND_TO_NEG = x'00000008' DECLARE LONG CONSTANT CVT$M_VAX_ROUNDING = x'00000010' DECLARE LONG CONSTANT CVT$M_BIG_ENDIAN = x'00000020' DECLARE LONG CONSTANT CVT$M_ERR_UNDERFLOW = x'00000040' DECLARE LONG CONSTANT CVT$M_FORCE_INVALID_TO_ZERO = x'00000080' DECLARE LONG CONSTANT CVT$M_FORCE_DENORM_TO_ZERO = x'00000100' DECLARE LONG CONSTANT CVT$M_FORCE_INF_TO_MAX_FLOAT = x'00000200' DECLARE LONG CONSTANT CVT$M_FORCE_ALL_SPECIAL_VALUES = x'00000400' DECLARE LONG CONSTANT CVT$M_ALLOW_OVRFLW_RANGE_VALUES = x'00000800' DECLARE LONG CONSTANT CVT$M_ALLOW_UDRFLW_RANGE_VALUES = x'00001000' DECLARE LONG CONSTANT CVT$M_ALLOW_UNNORMALIZED_VALUES = x'00002000' DECLARE LONG CONSTANT CVT$M_REPORT_ALL = x'00004000' DECLARE LONG CONSTANT CVT$m_spare2 = x'FFFF8000' DECLARE LONG CONSTANT CVT$S_CONVERSION_OPTIONS = 4 record CVT$R_CONVERSION_OPTIONS ! ! Rounding Mode Options: ! ! ! Options exclusive to CVT$CONVERT_FLOAT ! ! ! Forcing Results Options: ! ! ! Allowing Special Results Options: ! ! ! Status Selection Options: ! ! ! Everything else. ! LONG ROUND_TO_NEAREST_bits ! COMMENT ADDED BY SDL - ROUND_TO_NEAREST_bits contains bits ROUND_TO_NEAREST through spare2 end record CVT$R_CONVERSION_OPTIONS DECLARE LONG CONSTANT CVT$M_ALT_ROUND_TO_NEAREST = x'00000001' DECLARE LONG CONSTANT CVT$M_ROUND_TO_ZERO = x'00000002' DECLARE LONG CONSTANT CVT$M_ALT_ROUND_TO_POS = x'00000004' DECLARE LONG CONSTANT CVT$M_ALT_ROUND_TO_NEG = x'00000008' DECLARE LONG CONSTANT CVT$M_BIASED_ROUNDING = x'00000010' DECLARE LONG CONSTANT CVT$m_spare3 = x'FFFFFFE0' DECLARE LONG CONSTANT CVT$S_ALT_CONVERSION_OPTIONS = 4 record CVT$R_ALT_CONVERSION_OPTIONS ! ! Rounding Mode Options: ! LONG ALT_ROUND_TO_NEAREST_bits ! COMMENT ADDED BY SDL - ALT_ROUND_TO_NEAREST_bits contains bits ALT_ROUND_TO_NEAREST & ! through spare3 end record CVT$R_ALT_CONVERSION_OPTIONS