Sign in

    Luna-Flow/autodiff/dual does not have a README file

    Dual

    pub struct Dual[T] {
    value : T
    tangent : T
    } derive(Eq,
    Debug
    )

    impl AddGroup for Dual[T]
    impl AddMonoid for Dual[T]
    impl FromInteger for Dual[T]
    impl FromNat for Dual[T]
    impl MulMonoid for Dual[T]
    impl Ring for Dual[T]
    impl Semiring for Dual[T]
    impl Zero for Dual[T]
    impl Add for Dual[T]
    impl Div for Dual[T]
    impl Mul for Dual[T]
    impl Neg for Dual[T]
    impl Sub for Dual[T]

    Dual::add

    fn[T : Add] Dual::add(self : Dual[T], other : Dual[T]) -> Dual[T]

    Dual::constant

    fn[T :
    Zero
    ] Dual::constant(value : T) -> Dual[T]

    Dual::cos

    Dual::div

    fn[T : Div + Sub + Mul] Dual::div(self : Dual[T], other : Dual[T]) -> Dual[T]

    Dual::div_checked

    Checked quotient-rule division, mirroring the inherent Dual::sqrt_checked.

    Dual::equal

    fn[T : Eq] Dual::equal(Dual[T], Dual[T]) -> Bool

    Dual::exp

    Dual::from_integer

    Canonical constant from an integer, as with Dual::zero and Dual::one.

    Dual::from_natural

    Canonical constant from a natural number, as with Dual::zero and Dual::one.

    Dual::ln

    Dual::mul

    fn[T : Add + Mul] Dual::mul(self : Dual[T], other : Dual[T]) -> Dual[T]

    Dual::neg

    fn[T : Neg] Dual::neg(self : Dual[T]) -> Dual[T]

    Dual::new

    fn[T] Dual::new(value : T, tangent : T) -> Dual[T]

    Dual::sin

    Dual::sub

    fn[T : Sub] Dual::sub(self : Dual[T], other : Dual[T]) -> Dual[T]

    Dual::tan

    Dual::tangent

    fn[T] Dual::tangent(self : Dual[T]) -> T

    Dual::value

    fn[T] Dual::value(self : Dual[T]) -> T

    Dual::variable

    fn[T :
    One
    ] Dual::variable(value : T) -> Dual[T]

    Dual::zero