[Kernel] Fix erroneous parsing of hexadecimal floats
The parser used to always assign the [lower], [nearest] and [upper] to the same constant for any hexadecimal float. Which is obviously wrong. It is fixed by using [float_of_string] and rounding modes to compute upper and lower bounds.
Showing
- src/libraries/floating_point/floating_point.c 0 additions, 19 deletionssrc/libraries/floating_point/floating_point.c
- src/libraries/floating_point/floating_point.ml 13 additions, 8 deletionssrc/libraries/floating_point/floating_point.ml
- src/libraries/floating_point/floating_point.mli 1 addition, 1 deletionsrc/libraries/floating_point/floating_point.mli
- tests/float/oracle/parse.res.oracle 3 additions, 5 deletionstests/float/oracle/parse.res.oracle
- tests/rte/oracle/finite_float.res.oracle 3 additions, 0 deletionstests/rte/oracle/finite_float.res.oracle
Please register or sign in to comment