Antonio Sanchez e72dfeb8b9 Fix rint for SSE/NEON.
It seems *sometimes* with aggressive optimizations the combination
`psub(padd(a, b), b)` trick to force rounding is compiled away. Here
we replace with inline assembly to prevent this (I tried `volatile`,
but that leads to additional loads from memory).

Also fixed an edge case for large inputs `a` where adding `b` bumps
the value up a power of two and ends up rounding away more than
just the fractional part.  If we are over `2^digits` then just return
the input.  This edge case was missed in the test since the test was
comparing approximate equality, which was still satisfied.  Adding
a strict equality option catches it.
2021-03-03 09:41:46 -08:00
..
2021-03-03 09:41:46 -08:00
2016-01-27 22:48:40 +01:00
2017-11-10 14:11:22 +01:00
2017-11-27 22:11:57 +01:00
2015-10-30 12:02:52 +01:00
2016-01-27 22:48:40 +01:00
2016-01-27 22:48:40 +01:00