1#![doc = include_str!("../README.md")]
2
3pub use chainrules_core::{
4 AdResult, AutodiffError, Differentiable, ForwardRule, NodeId, PullbackEntry,
5 PullbackWithTangentsEntry, ReverseRule, SavePolicy,
6};
7
8mod binary;
9mod binary_special;
10mod power;
11mod real_ops;
12mod scalar_ad;
13mod unary;
14
15#[doc(inline)]
16pub use binary::{
17 add, add_frule, add_rrule, div, div_frule, div_rrule, mul, mul_frule, mul_rrule, sub,
18 sub_frule, sub_rrule,
19};
20#[doc(inline)]
21pub use binary_special::{max, max_frule, max_rrule, min, min_frule, min_rrule};
22#[doc(inline)]
23pub use power::{powf, powf_frule, powf_rrule, powi, powi_frule, powi_rrule};
24#[doc(inline)]
25pub use real_ops::{atan2, atan2_frule, atan2_rrule};
26#[doc(inline)]
27pub use scalar_ad::ScalarAd;
28#[doc(inline)]
29pub use unary::{
30 abs, abs2, abs2_frule, abs2_rrule, acos, acos_frule, acos_rrule, acosh, acosh_frule,
31 acosh_rrule, angle, angle_rrule, asin, asin_frule, asin_rrule, asinh, asinh_frule, asinh_rrule,
32 atan, atan_frule, atan_rrule, atanh, atanh_frule, atanh_rrule, cbrt, cbrt_frule, cbrt_rrule,
33 ceil, ceil_frule, ceil_rrule, complex, conj, conj_frule, conj_rrule, cos, cos_frule, cos_rrule,
34 cosd, cosd_frule, cosd_rrule, cosh, cosh_frule, cosh_rrule, cospi, cospi_frule, cospi_rrule,
35 cot, cot_frule, cot_rrule, coth, coth_frule, coth_rrule, csc, csc_frule, csc_rrule, csch,
36 csch_frule, csch_rrule, exp, exp10, exp10_frule, exp10_rrule, exp2, exp2_frule, exp2_rrule,
37 exp_frule, exp_rrule, expm1, expm1_frule, expm1_rrule, floor, floor_frule, floor_rrule, hypot,
38 hypot_frule, hypot_rrule, imag, imag_rrule, inv, inv_frule, inv_rrule, log, log10, log10_frule,
39 log10_rrule, log1p, log1p_frule, log1p_rrule, log2, log2_frule, log2_rrule, log_frule,
40 log_rrule, pow, pow_frule, pow_rrule, real, real_rrule, round, round_frule, round_rrule, sec,
41 sec_frule, sec_rrule, sech, sech_frule, sech_rrule, sign, sign_frule, sign_rrule, sin,
42 sin_frule, sin_rrule, sincos, sincos_frule, sincos_rrule, sincospi, sincospi_frule,
43 sincospi_rrule, sind, sind_frule, sind_rrule, sinh, sinh_frule, sinh_rrule, sinpi, sinpi_frule,
44 sinpi_rrule, sqrt, sqrt_frule, sqrt_rrule, tan, tan_frule, tan_rrule, tand, tand_frule,
45 tand_rrule, tanh, tanh_frule, tanh_rrule,
46};
47
48#[cfg(test)]
49mod tests;