logaddexp 0.1.4

stable implementations of logaddexp and logsumexp
Documentation

logaddexp-rs

crates.io docs license build

Stable implementations of logaddexp and logsumexp in rust. Computing log(sum_i(exp(v_i))) naively can easily overflow. This crate provides implementations for two values (ln_add_exp) and many values (ln_sum_exp) that are more stable (less prone to overflow) than the naive computation.

Usage

Run

$ cargo add logaddexp

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();