The code currently misses a special case from the IEEE floating-point standard. We might want to implement a "round to nearest, ties to even" rounding scheme to reduce rounding bias. This scheme affects the rounding of values that are exactly half-way between two representations, and makes sure the result is even after rounding (the least significant bit of the result should be 0).
Implemented as optional flag on master branch ready for a v4.x release, and can be back-ported to v3.x. Eventually the option should become default (and perhaps the old behaviour unsupported).
The code currently misses a special case from the IEEE floating-point standard. We might want to implement a "round to nearest, ties to even" rounding scheme to reduce rounding bias. This scheme affects the rounding of values that are exactly half-way between two representations, and makes sure the result is even after rounding (the least significant bit of the result should be 0).