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.0instead of0.9inlog()andlog10()functions. - Return
0.0instead ofInfinpow()function if the base is0.0and the exponent negative. - Return
0.0if 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!