-
Notifications
You must be signed in to change notification settings - Fork 20
Open
Description
DoubleFloats has a fair few dependencies.
Like SpecialFunctions, Polynomials, QuadMath etc.
(including some like Intervals.jl which trigger a fairly high number of invalidations, thus making loading this slow).
Removing it should speed up loading a fair bit.
It is only used for
Lines 145 to 164 in ced8d24
| @inline function convert_to_double(f1::Int64, exp::Int) | |
| f = Float64(f1) | |
| r = f1 - Int64(f) # get the remainder | |
| x = Double64(f) + Double64(r) | |
| maxexp = 308 | |
| minexp = -256 | |
| if exp >= 0 | |
| x *= pre_comp_exp_double[exp+1] | |
| else | |
| if exp < minexp # not sure why this is a good choice, but it seems to be! | |
| x /= pre_comp_exp_double[-minexp+1] | |
| x /= pre_comp_exp_double[-exp + minexp + 1] | |
| else | |
| x /= pre_comp_exp_double[-exp+1] | |
| end | |
| end | |
| return Float64(x) | |
| end |
Which in turn only needs:
- Creation
- Conversion to float
- Multiply
- Divide
- ^
We could port just those functions across.
Or maybe there is another algorithm for x*10^y (integer x, y) that we can use that doesn't need it.
Metadata
Metadata
Assignees
Labels
No labels