32 #ifndef __SOFTFLOAT_H__
33 #define __SOFTFLOAT_H__
44 #ifdef CONFIG_FPE_NWFPE_XP
71 extern
signed char float_detect_tininess;
130 floatx80 int32_to_floatx80(
signed int );
142 floatx80 float32_to_floatx80(
float32 );
174 floatx80 float64_to_floatx80(
float64 );
204 signed int floatx80_to_int32(
struct roundingData *, floatx80 );
205 signed int floatx80_to_int32_round_to_zero( floatx80 );
214 floatx80 floatx80_round_to_int(
struct roundingData *, floatx80 );
215 floatx80 floatx80_add(
struct roundingData *, floatx80, floatx80 );
216 floatx80 floatx80_sub(
struct roundingData *, floatx80, floatx80 );
217 floatx80 floatx80_mul(
struct roundingData *, floatx80, floatx80 );
218 floatx80 floatx80_div(
struct roundingData *, floatx80, floatx80 );
219 floatx80 floatx80_rem(
struct roundingData *, floatx80, floatx80 );
220 floatx80 floatx80_sqrt(
struct roundingData *, floatx80 );
221 char floatx80_eq( floatx80, floatx80 );
222 char floatx80_le( floatx80, floatx80 );
223 char floatx80_lt( floatx80, floatx80 );
224 char floatx80_eq_signaling( floatx80, floatx80 );
225 char floatx80_le_quiet( floatx80, floatx80 );
226 char floatx80_lt_quiet( floatx80, floatx80 );
227 char floatx80_is_signaling_nan( floatx80 );
229 extern flag floatx80_is_nan(floatx80);
240 return (a == b) || ((
bits32) ((a | b) << 1) == 0);
250 return aSign && ((
bits32) ((a | b) << 1) != 0);
251 return (a != b) && (aSign ^ (a <
b));
261 return (a == b) || ((
bits64) ((a | b) << 1) == 0);
271 return aSign && ((
bits64) ((a | b) << 1) != 0);
272 return (a != b) && (aSign ^ (a <
b));