pub fn csc_frule<S: ScalarAd>(x: S, dx: S) -> (S, S)
Forward rule for csc.
csc
use chainrules::csc_frule; let (_, dy) = csc_frule(0.5_f64, 1.0); assert!((dy + 0.5_f64.cos() / 0.5_f64.sin().powi(2)).abs() < 1e-12);