This bugfix releases fixes some additional differences found in comparison to ns-eel2, mainly due to the original library not honoring floating-point exceptions in the assembly implementation of many functions. Those changes include:
- Return
0.0
instead of0.9
inlog()
andlog10()
functions. - Return
0.0
instead ofInf
inpow()
function if the base is0.0
and the exponent negative. - Return
0.0
if the fast inverse square root functioninvsqrt()
resolves toNaN
. - Add a small amount (
0.0001
) to float values going intofreembuf()
to avoid indexing the wrong block due to rounding errors.
To further make sure all functions work as expected, some standard C types were changed to fixed-sizes types and unit tests were implemented for all available expression functions and operators.
Thanks to @OfficialIncubo for testing and making the changes!