sse_mathfun
sse_mathfun | FindMinimaxPolynomial.jl | |
---|---|---|
1 | 3 | |
36 | - | |
- | - | |
10.0 | - | |
almost 5 years ago | - | |
C | ||
- | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
sse_mathfun
-
Implementing Cosine in C from Scratch
You can absolutely do this with: https://github.com/RJVB/sse_mathfun
FindMinimaxPolynomial.jl
-
Finding the best sine function for Nintendo 64
> This polynomial is not derived analytically, rather it's found using an iterative algorithm, traditionally using the Remez algorithm, but also see my WIP project here: https://gitlab.com/nsajko/FindMinimaxPolynomial.jl.
Is this your independent attempt? Because I think RLIBM did the essentially same thing recently [1].
[1] https://arxiv.org/pdf/2104.04043.pdf
-
Implementing Cosine in C from Scratch
Seems worth noting that although the usual algorithm for finding the minimax polynomial is the very old Remez algorithm, I'm playing with a minimax finder that relies on what I think is a novel algorithm. My algorithm seems better than Remez, and certainly beats it in many cases, even though I don't have an analysis of the algorithm.
The main idea is to use linear programming with some chosen points from the interval to look for the polynomial that approximates the chosen function over that interval. Unlike Remez, this enables control over which individual point from the interval are chosen as representatives, which enables avoiding ill-behaved points. An example of where this leads to improvements over Remez is when optimizing relative error: Remez would trip over zeros of the function, because they cause singularities in the relative error, however my algorithm works (by avoiding ill-behaved points) as long as the discontinuities are removable.
My algorithm is also a lot more flexible than Remez', for example it allows optimizing over multiple intervals instead of a single one.
The Git repo of the (still in-progress) project is here: https://gitlab.com/nsajko/FindMinimaxPolynomial.jl
The Julia package is already registered (installable from the official Julia registry): https://juliahub.com/ui/Packages/FindMinimaxPolynomial/kNIo8...
What are some alternatives?
AvxMath
sectorc - A C Compiler that fits in the 512 byte boot sector of an x86 machine
llvm-project - The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
scheme - An R7RS Scheme implemented in WebAssembly