JuliaMath / JuliaMath/DoubleFloats.jl

`exp` and `log` are much slower than they should be.

Open
#135 32 comments 0 reactions 0 assignees View on GitHub
Dominant language
Julia
Stars
172
Forks
37
PR merge metrics
No merged PRs in 30d

Description

both are around 100x slower than float64. `exp` in particular should be able to be done relatively quickly since `exp(hi+lo)=exp(hi)exp(lo)`, and since `hi` can easily be reduced to [1,2), `exp(lo)` only needs 2 terms.

I have fewer ideas for `log`, but there should be something better than the current behavior.

also, it's worth figuring on double64 versions of these functions because the double32 versions can be done really quickly using float64.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the current exp and log implementations and their tests, then measure them against float64. Investigate the proposed hi+lo reduction for exp and whether double32 and double64 variants are required. Done means faster implementations with accuracy and performance tests covering both functions and supported precisions.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
performance
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.