From 9963907545c128ce3a672098fc9c802ca6086c9f Mon Sep 17 00:00:00 2001 From: david-on-debian Date: Tue, 20 May 2025 20:45:09 -0500 Subject: [PATCH] Upload files to "lib/math" --- lib/math/software_float.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 lib/math/software_float.c diff --git a/lib/math/software_float.c b/lib/math/software_float.c new file mode 100644 index 0000000..7f2c617 --- /dev/null +++ b/lib/math/software_float.c @@ -0,0 +1,26 @@ + +#include + + +/* A float = FLOAT_SIGN * FLOAT_MANTISSA * (2 ^ FLOAT_EXPONENT) */ + + + + +soft_float32_t decode_float(uint32_t raw) +{ + soft_float32_t f; + f.sign = (raw >> 31) & 1; + f.exponent = (raw >> 23) & 0xFF; + f.mantissa = raw & 0x7FFFFF; + return f; +} + +soft_float64_t decode_double(uint64_t raw) +{ + soft_float64_t d; + d.sign = (raw >> 63) & 1; + d.exponent = (raw >> 52) & 0x7FF; + d.mantissa = raw & 0xFFFFFFFFFFFFF; + return d; +}