cagra 0.2.0

Calculation Graph Library
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use approx::abs_diff_eq;
use cagra::{error::Result, graph::Graph};

#[test]
fn test_div() -> Result<()> {
    let mut g = Graph::new();
    let x = g.variable("x", 1.0)?;
    let y = g.variable("y", 2.0)?;
    let z = g.div(x, y);
    abs_diff_eq!(g.eval_value(z)?, 0.5);
    g.eval_deriv(z)?;
    abs_diff_eq!(g.get_deriv(x)?, 0.5);
    abs_diff_eq!(g.get_deriv(y)?, -0.25);
    Ok(())
}