Skip to content
Joe McCain III edited this page Apr 9, 2024 · 2 revisions

Examples

Basic Expressions

extern crate acme;

use acme::autodiff;

fn main() {
    let (x, y) = (1f64, 2f64);
    assert_eq!(autodiff!(x: x + y), 1f64);
    assert_eq!(autodiff!(x: x * y), y);
    assert_eq!(autodiff!(y: x * y), x);
    assert_eq!(autodiff!(x: x - y), 1f64);
    assert_eq!(autodiff!(y: x - y), -1f64);
}

Trigonometric Expressions

extern crate acme;

use acme::autodiff;

fn main() {
    let (x, y) = (1f64, 2f64);
    assert_eq!(autodiff!(x: x.sin()), x.cos());
    assert_eq!(autodiff!(x: x.cos()), -x.sin());
    assert_eq!(autodiff!(y: x.cos()), 0f64);
}
Clone this wiki locally