-
Notifications
You must be signed in to change notification settings - Fork 32
Description
with @dzhang314's https://github.com/dzhang314/MultiFloats.jl
I assume you know of it, but asking/pointing to, to make sure.
I believe it has the same exact representation as you have (same exact API too, only type name different?), the only question is the yellow sign for "transcendentals sin, exp, log"
He uses MPFR for it so I'm not sure why that sign (some bug seemingly), and I though he could use your code (for the Float63x2 case, or ArbFloat for generally), or alternatively, you could use his. I.e. should this package depend on MultiFloats.jl to use its speed and your transcendentals functions to make it complete at least for the double-double case?
all the arithmetic, including sqrt, is accurate I believe in all the packages; but you support transcendentals, meaning available, not fully accurate? I mean, I believe some functions can't be accurate because of the "table maker's" dilemma".
I've been looking into correctly rounded math, and it's possible for Float32, not in general for even Float64, but getting better there, too large a search space to confirm. I don't think Julia provides the best libm (or pure Julia replacement) for correctly rounded math (there's no longer a speed-accuracy tradeoff if I recall), or best approximation, and it could document more what's it does achieve.
I've discussed with you before that Julia should drop BigFloat, as redundant with your better package(s), and now with this even newer I discovered only today.
I see you both have same number of correct digits 26.0 vs 25.9 vs 27.9. It might seem strange to count fractional digits. Isn't it about integer number of binary correct digits, then converted to base 10? Still strange to me to hit 26.0 exactly...