ANN: FastRounding, ErrorfreeArithmetic, AdjacentFloats



(Pkg.update() and add each)

AdjacentFloats.jl exports prev_float, next_float which are faster versions of prevfloat, nextfloat. For tiny values (1.0e-305), they may step twice.

ErrorfreeArithmetic.jl exports add_errorfree, sub_errorfree, mul_errorfree, divide_accurately, and others. These provide the usual result with an accurate value for the residual. These functions are used to develop extended precision functions and to support FastRounding. fma() is used throughout.

FastRounding.jl exports add_round, sub_round, sqr_round, mul_round, div_round, inv_round, sqrt_round. add_round(a, b, RoundDown). These rounding modes are supported: RoundNearest,RoundUp, RoundDown, RoundToZero, RoundFromZero. These types are supported: Float64, Float32, Float16. The rounding occurs much faster than using the built-in rounding mechanism. For applications that switch rounding modes frequently, the speed-up is helpful.