|
@@ -145,13 +145,13 @@ typedef enum __attribute__((__packed__)) {
|
|
*/
|
|
*/
|
|
|
|
|
|
enum {
|
|
enum {
|
|
- float_flag_invalid = 1,
|
|
|
|
- float_flag_divbyzero = 4,
|
|
|
|
- float_flag_overflow = 8,
|
|
|
|
- float_flag_underflow = 16,
|
|
|
|
- float_flag_inexact = 32,
|
|
|
|
- float_flag_input_denormal = 64,
|
|
|
|
- float_flag_output_denormal = 128
|
|
|
|
|
|
+ float_flag_invalid = 0x0001,
|
|
|
|
+ float_flag_divbyzero = 0x0002,
|
|
|
|
+ float_flag_overflow = 0x0004,
|
|
|
|
+ float_flag_underflow = 0x0008,
|
|
|
|
+ float_flag_inexact = 0x0010,
|
|
|
|
+ float_flag_input_denormal = 0x0020,
|
|
|
|
+ float_flag_output_denormal = 0x0040,
|
|
};
|
|
};
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -171,8 +171,8 @@ typedef enum __attribute__((__packed__)) {
|
|
*/
|
|
*/
|
|
|
|
|
|
typedef struct float_status {
|
|
typedef struct float_status {
|
|
|
|
+ uint16_t float_exception_flags;
|
|
FloatRoundMode float_rounding_mode;
|
|
FloatRoundMode float_rounding_mode;
|
|
- uint8_t float_exception_flags;
|
|
|
|
FloatX80RoundPrec floatx80_rounding_precision;
|
|
FloatX80RoundPrec floatx80_rounding_precision;
|
|
bool tininess_before_rounding;
|
|
bool tininess_before_rounding;
|
|
/* should denormalised results go to zero and set the inexact flag? */
|
|
/* should denormalised results go to zero and set the inexact flag? */
|