/* doc: <routine name="ieee_init" return_type="void" export="private"> doc: <summary>Initialized the various IEEE values.</summary> doc: <thread_safety>Safe when called upon runtime initialization</thread_safety> doc: </routine> */ void ieee_init (void) { union { EIF_NATURAL_32 nat_val_32; EIF_REAL_32 real_val_32; } val_32; union { EIF_NATURAL_64 nat_val_64; EIF_REAL_64 real_val_64; } val_64; /* Computation of NaN. */ val_32.nat_val_32 = 0x7FC00000; eif_real_32_nan = val_32.real_val_32; val_64.nat_val_64 = RTU64C(0x7FF8000000000000); eif_real_64_nan = val_64.real_val_64; /* Computation of Negative Infinity. */ val_32.nat_val_32 = 0xFF800000; eif_real_32_negative_infinity = val_32.real_val_32; val_64.nat_val_64 = RTU64C(0xFFF0000000000000); eif_real_64_negative_infinity = val_64.real_val_64; /* Computation of Positive Infinity. */ val_32.nat_val_32 = 0x7F800000; eif_real_32_positive_infinity = val_32.real_val_32; val_64.nat_val_64 = RTU64C(0x7FF0000000000000); eif_real_64_positive_infinity = val_64.real_val_64; }
static SOCKET check_socket_bounds (SOCKET l_socket) { #ifdef EIF_64_BITS /* On 64-bit system `SOCKET' is actually a pointer. For the moment, we check that * it is not coded on the whole 64-bit. */ if (l_socket != INVALID_SOCKET) { if ((l_socket & RTU64C(0x00000000FFFFFFFF)) != l_socket) { /* We are in trouble. Raise an exception for the moment. */ eraise ("Descriptor too big to be represented as INTEGER_32", EN_PROG); } } #endif return l_socket; }
/* {INTEGER_OVERFLOW_CHECKER}.make */ void F101_3135 (EIF_REFERENCE Current) { GTCX EIF_REFERENCE tr1 = NULL; EIF_INTEGER_64 ti8_1; EIF_NATURAL_64 tu8_1; EIF_NATURAL_32 tu4_1; EIF_INTEGER_16 ti2_1; EIF_NATURAL_16 tu2_1; EIF_INTEGER_8 ti1_1; EIF_NATURAL_8 tu1_1; RTCFDT; RTLD; RTLI(2); RTLR(0,Current); RTLR(1,tr1); RTGC; { static EIF_TYPE_INDEX typarr0[] = {762,880,0xFFFF}; EIF_TYPE_INDEX typres0; static EIF_TYPE_INDEX typcache0 = INVALID_DTYPE; typres0 = (typcache0 != INVALID_DTYPE ? typcache0 : (typcache0 = eif_compound_id(dftype, typarr0))); tr1 = RTLNSP2(eif_non_attached_type(typres0),0,(EIF_INTEGER_32) ((EIF_INTEGER_32) (((EIF_INTEGER_32) 4L) * ((EIF_INTEGER_32) 2L)) + ((EIF_INTEGER_32) 1L)),sizeof(EIF_NATURAL_64), EIF_TRUE); RT_SPECIAL_COUNT(tr1) = 0; } RTAR(Current, tr1); *(EIF_REFERENCE *)(Current) = (EIF_REFERENCE) tr1; tr1 = *(EIF_REFERENCE *)(Current); tu8_1 = (EIF_NATURAL_64) ((EIF_INTEGER_32) 0L); F763_6965(RTCV(tr1), tu8_1); { static EIF_TYPE_INDEX typarr0[] = {762,880,0xFFFF}; EIF_TYPE_INDEX typres0; static EIF_TYPE_INDEX typcache0 = INVALID_DTYPE; typres0 = (typcache0 != INVALID_DTYPE ? typcache0 : (typcache0 = eif_compound_id(dftype, typarr0))); tr1 = RTLNSP2(eif_non_attached_type(typres0),0,(EIF_INTEGER_32) ((EIF_INTEGER_32) (((EIF_INTEGER_32) 4L) * ((EIF_INTEGER_32) 2L)) + ((EIF_INTEGER_32) 1L)),sizeof(EIF_NATURAL_64), EIF_TRUE); RT_SPECIAL_COUNT(tr1) = 0; } RTAR(Current, tr1); *(EIF_REFERENCE *)(Current + _REFACS_1_) = (EIF_REFERENCE) tr1; tr1 = *(EIF_REFERENCE *)(Current + _REFACS_1_); tu8_1 = (EIF_NATURAL_64) ((EIF_INTEGER_32) 0L); F763_6965(RTCV(tr1), tu8_1); tr1 = *(EIF_REFERENCE *)(Current); ti1_1 = (EIF_INTEGER_8) ((EIF_INTEGER_32) 10L); tu8_1 = (EIF_NATURAL_64) (EIF_INTEGER_8) (((EIF_INTEGER_8) 127L) / ti1_1); F763_6965(RTCV(tr1), tu8_1); tr1 = *(EIF_REFERENCE *)(Current + _REFACS_1_); ti1_1 = (EIF_INTEGER_8) ((EIF_INTEGER_32) 10L); tu8_1 = (EIF_NATURAL_64) (EIF_INTEGER_8) (((EIF_INTEGER_8) 127L) % ti1_1); F763_6965(RTCV(tr1), tu8_1); tr1 = *(EIF_REFERENCE *)(Current); ti2_1 = (EIF_INTEGER_16) ((EIF_INTEGER_32) 10L); tu8_1 = (EIF_NATURAL_64) (EIF_INTEGER_16) (((EIF_INTEGER_16) 32767L) / ti2_1); F763_6965(RTCV(tr1), tu8_1); tr1 = *(EIF_REFERENCE *)(Current + _REFACS_1_); ti2_1 = (EIF_INTEGER_16) ((EIF_INTEGER_32) 10L); tu8_1 = (EIF_NATURAL_64) (EIF_INTEGER_16) (((EIF_INTEGER_16) 32767L) % ti2_1); F763_6965(RTCV(tr1), tu8_1); tr1 = *(EIF_REFERENCE *)(Current); tu8_1 = (EIF_NATURAL_64) (EIF_INTEGER_32) (((EIF_INTEGER_32) 2147483647L) / ((EIF_INTEGER_32) 10L)); F763_6965(RTCV(tr1), tu8_1); tr1 = *(EIF_REFERENCE *)(Current + _REFACS_1_); tu8_1 = (EIF_NATURAL_64) (EIF_INTEGER_32) (((EIF_INTEGER_32) 2147483647L) % ((EIF_INTEGER_32) 10L)); F763_6965(RTCV(tr1), tu8_1); tr1 = *(EIF_REFERENCE *)(Current); ti8_1 = (EIF_INTEGER_64) ((EIF_INTEGER_32) 10L); tu8_1 = (EIF_NATURAL_64) (EIF_INTEGER_64) (((EIF_INTEGER_64) RTI64C(9223372036854775807)) / ti8_1); F763_6965(RTCV(tr1), tu8_1); tr1 = *(EIF_REFERENCE *)(Current + _REFACS_1_); ti8_1 = (EIF_INTEGER_64) ((EIF_INTEGER_32) 10L); tu8_1 = (EIF_NATURAL_64) (EIF_INTEGER_64) (((EIF_INTEGER_64) RTI64C(9223372036854775807)) % ti8_1); F763_6965(RTCV(tr1), tu8_1); tr1 = *(EIF_REFERENCE *)(Current); ti1_1 = (EIF_INTEGER_8) ((EIF_INTEGER_32) 10L); tu8_1 = (EIF_NATURAL_64) ((EIF_INTEGER_8) -(EIF_INTEGER_8) (((EIF_INTEGER_8) -128L) / ti1_1)); F763_6965(RTCV(tr1), tu8_1); tr1 = *(EIF_REFERENCE *)(Current + _REFACS_1_); ti1_1 = (EIF_INTEGER_8) ((EIF_INTEGER_32) 10L); tu8_1 = (EIF_NATURAL_64) ((EIF_INTEGER_8) -(EIF_INTEGER_8) (((EIF_INTEGER_8) -128L) % ti1_1)); F763_6965(RTCV(tr1), tu8_1); tr1 = *(EIF_REFERENCE *)(Current); ti2_1 = (EIF_INTEGER_16) ((EIF_INTEGER_32) 10L); tu8_1 = (EIF_NATURAL_64) ((EIF_INTEGER_16) -(EIF_INTEGER_16) (((EIF_INTEGER_16) -32768L) / ti2_1)); F763_6965(RTCV(tr1), tu8_1); tr1 = *(EIF_REFERENCE *)(Current + _REFACS_1_); ti2_1 = (EIF_INTEGER_16) ((EIF_INTEGER_32) 10L); tu8_1 = (EIF_NATURAL_64) ((EIF_INTEGER_16) -(EIF_INTEGER_16) (((EIF_INTEGER_16) -32768L) % ti2_1)); F763_6965(RTCV(tr1), tu8_1); tr1 = *(EIF_REFERENCE *)(Current); tu8_1 = (EIF_NATURAL_64) ((EIF_INTEGER_32) -(EIF_INTEGER_32) (((EIF_INTEGER_32) 0x80000000L) / ((EIF_INTEGER_32) 10L))); F763_6965(RTCV(tr1), tu8_1); tr1 = *(EIF_REFERENCE *)(Current + _REFACS_1_); tu8_1 = (EIF_NATURAL_64) ((EIF_INTEGER_32) -(EIF_INTEGER_32) (((EIF_INTEGER_32) 0x80000000L) % ((EIF_INTEGER_32) 10L))); F763_6965(RTCV(tr1), tu8_1); tr1 = *(EIF_REFERENCE *)(Current); ti8_1 = (EIF_INTEGER_64) ((EIF_INTEGER_32) 10L); tu8_1 = (EIF_NATURAL_64) ((EIF_INTEGER_64) -(EIF_INTEGER_64) (((EIF_INTEGER_64) RTI64C(0x8000000000000000)) / ti8_1)); F763_6965(RTCV(tr1), tu8_1); tr1 = *(EIF_REFERENCE *)(Current + _REFACS_1_); ti8_1 = (EIF_INTEGER_64) ((EIF_INTEGER_32) 10L); tu8_1 = (EIF_NATURAL_64) ((EIF_INTEGER_64) -(EIF_INTEGER_64) (((EIF_INTEGER_64) RTI64C(0x8000000000000000)) % ti8_1)); F763_6965(RTCV(tr1), tu8_1); { static EIF_TYPE_INDEX typarr0[] = {762,880,0xFFFF}; EIF_TYPE_INDEX typres0; static EIF_TYPE_INDEX typcache0 = INVALID_DTYPE; typres0 = (typcache0 != INVALID_DTYPE ? typcache0 : (typcache0 = eif_compound_id(dftype, typarr0))); tr1 = RTLNSP2(eif_non_attached_type(typres0),0,(EIF_INTEGER_32) (((EIF_INTEGER_32) 4L) + ((EIF_INTEGER_32) 1L)),sizeof(EIF_NATURAL_64), EIF_TRUE); RT_SPECIAL_COUNT(tr1) = 0; } RTAR(Current, tr1); *(EIF_REFERENCE *)(Current + _REFACS_2_) = (EIF_REFERENCE) tr1; tr1 = *(EIF_REFERENCE *)(Current + _REFACS_2_); tu8_1 = (EIF_NATURAL_64) ((EIF_INTEGER_32) 0L); F763_6965(RTCV(tr1), tu8_1); { static EIF_TYPE_INDEX typarr0[] = {762,880,0xFFFF}; EIF_TYPE_INDEX typres0; static EIF_TYPE_INDEX typcache0 = INVALID_DTYPE; typres0 = (typcache0 != INVALID_DTYPE ? typcache0 : (typcache0 = eif_compound_id(dftype, typarr0))); tr1 = RTLNSP2(eif_non_attached_type(typres0),0,(EIF_INTEGER_32) (((EIF_INTEGER_32) 4L) + ((EIF_INTEGER_32) 1L)),sizeof(EIF_NATURAL_64), EIF_TRUE); RT_SPECIAL_COUNT(tr1) = 0; } RTAR(Current, tr1); *(EIF_REFERENCE *)(Current + _REFACS_3_) = (EIF_REFERENCE) tr1; tr1 = *(EIF_REFERENCE *)(Current + _REFACS_3_); tu8_1 = (EIF_NATURAL_64) ((EIF_INTEGER_32) 0L); F763_6965(RTCV(tr1), tu8_1); tr1 = *(EIF_REFERENCE *)(Current + _REFACS_2_); tu1_1 = (EIF_NATURAL_8) ((EIF_INTEGER_32) 10L); tu8_1 = (EIF_NATURAL_64) (EIF_NATURAL_8) (((EIF_NATURAL_8) 255U) / tu1_1); F763_6965(RTCV(tr1), tu8_1); tr1 = *(EIF_REFERENCE *)(Current + _REFACS_3_); tu1_1 = (EIF_NATURAL_8) ((EIF_INTEGER_32) 10L); tu8_1 = (EIF_NATURAL_64) (EIF_NATURAL_8) (((EIF_NATURAL_8) 255U) % tu1_1); F763_6965(RTCV(tr1), tu8_1); tr1 = *(EIF_REFERENCE *)(Current + _REFACS_2_); tu2_1 = (EIF_NATURAL_16) ((EIF_INTEGER_32) 10L); tu8_1 = (EIF_NATURAL_64) (EIF_NATURAL_16) (((EIF_NATURAL_16) 65535U) / tu2_1); F763_6965(RTCV(tr1), tu8_1); tr1 = *(EIF_REFERENCE *)(Current + _REFACS_3_); tu2_1 = (EIF_NATURAL_16) ((EIF_INTEGER_32) 10L); tu8_1 = (EIF_NATURAL_64) (EIF_NATURAL_16) (((EIF_NATURAL_16) 65535U) % tu2_1); F763_6965(RTCV(tr1), tu8_1); tr1 = *(EIF_REFERENCE *)(Current + _REFACS_2_); tu4_1 = (EIF_NATURAL_32) ((EIF_INTEGER_32) 10L); tu8_1 = (EIF_NATURAL_64) (EIF_NATURAL_32) (((EIF_NATURAL_32) 4294967295U) / tu4_1); F763_6965(RTCV(tr1), tu8_1); tr1 = *(EIF_REFERENCE *)(Current + _REFACS_3_); tu4_1 = (EIF_NATURAL_32) ((EIF_INTEGER_32) 10L); tu8_1 = (EIF_NATURAL_64) (EIF_NATURAL_32) (((EIF_NATURAL_32) 4294967295U) % tu4_1); F763_6965(RTCV(tr1), tu8_1); tr1 = *(EIF_REFERENCE *)(Current + _REFACS_2_); tu8_1 = (EIF_NATURAL_64) ((EIF_INTEGER_32) 10L); tu8_1 = (EIF_NATURAL_64) (EIF_NATURAL_64) (((EIF_NATURAL_64) RTU64C(18446744073709551615)) / tu8_1); F763_6965(RTCV(tr1), tu8_1); tr1 = *(EIF_REFERENCE *)(Current + _REFACS_3_); tu8_1 = (EIF_NATURAL_64) ((EIF_INTEGER_32) 10L); tu8_1 = (EIF_NATURAL_64) (EIF_NATURAL_64) (((EIF_NATURAL_64) RTU64C(18446744073709551615)) % tu8_1); F763_6965(RTCV(tr1), tu8_1); RTLE; }