Packages

A native (Rustler) solver backend for the Finance library: the safeguarded Newton (rtsafe) root-finder, ported to Rust.

Current section

Files

Jump to
finance_rustler CHANGELOG.md
Raw

CHANGELOG.md

# Changelog
## 0.2.0
Requires `finance ~> 1.6`.
- Port the guess-anchored interior-scan bracket from `finance` 1.6.0, restoring
lockstep parity with the pure-Elixir solver. The previous release used the older
endpoint-only bracket, so against `finance >= 1.6.0` it could not find a root when
the NPV crossed zero an even number of times (a series with more than one IRR),
and it ignored `:guess` when selecting among multiple roots. Both now match the
default solver exactly, and the parity tests cover the multi-root cases.
- Add a precompiled binary for macOS on Apple Silicon (`aarch64-apple-darwin`)
alongside the existing Linux (`x86_64`/`aarch64` gnu) builds.
## 0.1.0
Initial release.
- `FinanceRustler.Solver` — a native `Finance.Solver` backend: the safeguarded
Newton (`rtsafe`) root-finder ported to Rust via Rustler, kept in lockstep with
the pure-Elixir solver so results match to `:precision`.
- `solve/2` for a single series, and `solve_many/2` for a whole batch in one call,
parallelized across a rayon thread pool.
- Ships precompiled binaries for Linux (`x86_64` and `aarch64`, gnu) via
`rustler_precompiled`; other platforms compile from source with a Rust toolchain.