1 2 3 4 5 6 7 8 9 10 11 12 13 14
use super::*;
use rust_ad_core_macros::{combined_derivative_macro, compose};
// Primitive procedures
// -------------------------------------------------------------------
// Forward derivative of [std::ops::Add].
combined_derivative_macro!(add_i32, "0i32", "1i32", "1i32");
// Forward derivative of [std::ops::Sub].
combined_derivative_macro!(sub_i32, "0i32", "1i32", "-1i32");
// Forward derivative of [std::ops::Mul].
combined_derivative_macro!(mul_i32, "0i32", "{1}", "{0}");
// Forward derivative of [std::ops::Div].
combined_derivative_macro!(div_i32, "0i32", "1i32/{1}", "-{0}/({1}*{1})");