You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Peroxide has two AD methods - Dual, HyperDual. But these are only 1st and 2nd order methods, and they are distinct. So, we need not only higher order AD but also generic.
Struct AD
fmt::Display
Copy?
From<T>
std::ops for AD
Add, Sub, Neg
Mul
Div
PowOps for AD
powi
powf
pow
TrigOps for AD
sin, cos, tan
asin, acos, atan
sinh, cosh, tanh
asinh, acosh, atanh
sin_cos, sinh_cosh
ExpLogOps for AD
exp, ln
log, log2, log10
std::ops with f64
Add, Sub
Mul, Div
Change the structure - proc_macro to Enum (to reduce compile time)
Peroxidehas two AD methods -Dual,HyperDual. But these are only 1st and 2nd order methods, and they are distinct. So, we need not only higher order AD but also generic.ADfmt::DisplayCopy?From<T>std::opsforADAdd,Sub,NegMulDivPowOpsforADpowipowfpowTrigOpsforADsin,cos,tanasin,acos,atansinh,cosh,tanhasinh,acosh,atanhsin_cos,sinh_coshExpLogOpsforADexp,lnlog,log2,log10std::opswithf64Add,SubMul,Divproc_macrotoEnum(to reduce compile time)ADFnnumerical/rootnumerical/odenumerical/optimizenumerical/utils