-
Notifications
You must be signed in to change notification settings - Fork 32
Description
Hey,
I am trying to implement some equivalent of Double64, but based on Float128 from Quadmath.jl.
After a discourse talk there, I come to you for guidance.
After some more reading of your code, it seems like copying the Double64 methods and constructors to match the same construct but on Float128 instead of Float64 should be enough. Am i missing something ?
Since you already depend on Quadmath, there is no need for additional dependency.
Looking forward to read your oppinon about this.
Edit: While browsing your code, i do add questions / notes here
- It seems that
Float128 <: Base.IEEEFloatis false. Will that be a big issue ? - But
Float128 <: AbstractFloatis true. - What are the conditions that Float128 need to meet to be a
FloatWithFMA? - The constants in src/doubletriple/double_consts.jl and src/doubletriple/triple_consts.jl should not be a problem.
- src/doubletriple/triple_pi.jl seems more problematic to port.
- All the scr/type folder seems quite easy to port, since behaviors are quite general, assuming that we can make
Float 128 <: IEEEFloat - All the src/math/prearith folder seems given, again if
Float 128 <: IEEEFloat - I'll stop my reading htere for today.
All over, it seems like, as the quadmath.jl readme says, "[Quadmath.jl] is a Julia interface to libquadmath, providing a Float128 type corresponding to the IEEE754 binary128 floating point format.". Hence adding it to the IEEEFloat Union, or some other union that we create to not interfere with base, should work.