logaddexp

Crates.iologaddexp
lib.rslogaddexp
version0.1.3
sourcesrc
created_at2022-10-21 23:47:50.686071
updated_at2024-02-20 13:59:07.564831
descriptionstable implementations of logaddexp and logsumexp
homepage
repositoryhttps://github.com/erikbrinkman/logaddexp-rs
max_upload_size
id693995
size9,705
Erik Brinkman (erikbrinkman)

documentation

README

logaddexp-rs

crates.io docs license build

Stable implementations of logaddexp and logsumexp in rust. Computing log(sum_i(exp(v_i))) for more than one value can esily result in overflow. This crate provies implementations for two (ln_add_exp) and many (ln_sum_exp) that are more stable (less prone to overfloe) than doing that computation naively.

Usage

Run

$ cargo add logadexp

Then import the trait you want to use and call the function on the appropriate types

use logaddexp::LogAddExp;

f64::ln_add_exp(..., ...);
use logaddexp::LogSumExp;

[...].into_iter().ln_sum_exp();
Commit count: 6

cargo fmt