peroxide 0.30.15

Rust comprehensive scientific computation library contains linear algebra, numerical analysis, statistics and machine learning tools with farmiliar syntax
Documentation
extern crate peroxide;
use peroxide::fuga::*;

#[test]
fn test_lift_ad1() {
    let a1 = AD1(2f64, 1f64);
    let x = f_ad(a1);
    x.print();
    assert_eq!(x, a1 * 2f64);
}

#[test]
fn test_lift_ad2() {
    let a2 = AD2(2f64, 1f64, 0f64);
    let x = f_ad(a2);
    x.print();
    assert_eq!(x, a2 * 2f64);
}

#[test]
fn test_lift_f64() {
    let f = 2f64;
    let lift = ADFn::new(f_ad);
    let x = lift.call_stable(f);
    x.print();
    assert_eq!(x, f * 2f64);
}

fn f_ad(a: AD) -> AD {
    a * 2f64
}