Also changes >= 0 to > 0.0
This technically leads to fewer branches taken ^^;
More importantly it looks/feels nicer to me
Fixes the approximate reciprocal function
- Currently not optimized
- Considering rewrite for cleanliness
Moves PS rounding to FloatUtils
- Done because it's used in more places now
Changes TruncateMantissa to occur on read
- This is to account for reciprocal cases
Adds PS1 getting function for reciprocals
Fixes ps_sum1 edge case with rounding
TODO: Test what ops can set PS1 edge case
- ps_merge is known to be able to
This value is used in a multiplication. The result of this
multiplication is then subtracted from m_base. By negating m_dec, we are
free to use an addition instead.
On x64, this saves an instruction.
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
Keeps all of the floating-point utility functions in their own file to
keep them all together. This also provides a place for other
general-purpose floating-point functions to be added in the future,
which will be necessary when improving the flag-setting within the
interpreter.