96{
97
105 ok_eq_long(cast_float_to_long(2147483500.0f), 2147483520l);
106 ok_eq_long(cast_float_to_long(2147483583.999f), 2147483520l);
107 ok_eq_long(cast_float_to_long(-2147483583.999f), -2147483520l);
113
114
119 ok_eq_ulong(cast_float_to_ulong(2147483648.0f), 2147483648ul);
120 ok_eq_ulong(cast_float_to_ulong(4294967150.0f), 4294967040ul);
122
123
127#ifdef OLD_BEHAVIOR
131#else
132 ok_eq_ulong(cast_float_to_ulong(-10.0f), (
unsigned long)-10);
133 ok_eq_ulong(cast_float_to_ulong(-1147483648.0f), (
unsigned long)-1147483648ll);
134 ok_eq_ulong(cast_float_to_ulong(-2147483648.0f), (
unsigned long)-2147483648ll);
135#endif
136
137
145 ok_eq_longlong(cast_float_to_longlong(9223371761976868863.9999f), 9223371487098961920ll);
147 ok_eq_longlong(cast_float_to_longlong(-9223371761976868863.9999f), -9223371487098961920ll);
151
152
157 ok_eq_ulonglong(cast_float_to_ulonglong(9223371487098961920.0f), 9223371487098961920ull);
158 ok_eq_ulonglong(cast_float_to_ulonglong(9223372036854775808.0f), 9223372036854775808ull);
159 ok_eq_ulonglong(cast_float_to_ulonglong(18446743523953737727.9f), 18446742974197923840ull);
162
163
166 ok_eq_ulonglong(cast_float_to_ulonglong(-1.0f), 18446744073709551615ull);
167#ifdef OLD_BEHAVIOR
174#else
175 ok_eq_ulonglong(cast_float_to_ulonglong(-10.0f), (
unsigned long long)-10);
176 ok_eq_ulonglong(cast_float_to_ulonglong(-1147483648.0f), (
unsigned long long)-1147483648ll);
177 ok_eq_ulonglong(cast_float_to_ulonglong(-2147483648.0f), (
unsigned long long)-2147483648ll);
178 ok_eq_ulonglong(cast_float_to_ulonglong(-9223371761976868863.9f), (
unsigned long long)-9223371487098961920);
179 ok_eq_ulonglong(cast_float_to_ulonglong(-9223371761976868864.0f), (
unsigned long long)(-9223372036854775807ll - 1));
180 ok_eq_ulonglong(cast_float_to_ulonglong(-9223372036854775808.0f), (
unsigned long long)(-9223372036854775807ll - 1));
181#endif
183}