GradientType

Trait GradientType 

Source
pub trait GradientType<OutputType> {
    type GradientType;
}
Expand description

Compile-time calculation for what the gradient type should be based on input and output types.

For most cases, the gradient type is the same as the output type. However, for multi-parameter functions, like functions of arrays, this is not the case

<InputType as GradientType<OutputType>>::GradientType

Required Associated Types§

Source

type GradientType

The type of the gradient for a function with input type Self and output type OutputType

Implementations on Foreign Types§

Source§

impl<T> GradientType<T> for f32

Source§

impl<T> GradientType<T> for f64

Source§

impl<T> GradientType<T> for i8

Source§

impl<T> GradientType<T> for i16

Source§

impl<T> GradientType<T> for i32

Source§

impl<T> GradientType<T> for i64

Source§

impl<T> GradientType<T> for i128

Source§

impl<T> GradientType<T> for isize

Source§

impl<T> GradientType<T> for u8

Source§

impl<T> GradientType<T> for u16

Source§

impl<T> GradientType<T> for u32

Source§

impl<T> GradientType<T> for u64

Source§

impl<T> GradientType<T> for u128

Source§

impl<T> GradientType<T> for usize

Source§

impl<T> GradientType<T> for BigInt

Source§

impl<T> GradientType<T> for BigUint

Source§

impl<T> GradientType<T> for Complex<f32>

Source§

impl<T> GradientType<T> for Complex<f64>

Source§

impl<T, U> GradientType<U> for Wrapping<T>
where T: Integer + Clone, U: Num + Clone,

Source§

impl<T, U> GradientType<U> for Ratio<T>
where T: Integer + Clone, U: Num + Clone,

Implementors§

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11, G12, G13, G14, G15> GradientType<AutoTuple<(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15)>> for AutoTuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)>
where T0: GradientType<U0, GradientType = G0>, T1: GradientType<U1, GradientType = G1>, T2: GradientType<U2, GradientType = G2>, T3: GradientType<U3, GradientType = G3>, T4: GradientType<U4, GradientType = G4>, T5: GradientType<U5, GradientType = G5>, T6: GradientType<U6, GradientType = G6>, T7: GradientType<U7, GradientType = G7>, T8: GradientType<U8, GradientType = G8>, T9: GradientType<U9, GradientType = G9>, T10: GradientType<U10, GradientType = G10>, T11: GradientType<U11, GradientType = G11>, T12: GradientType<U12, GradientType = G12>, T13: GradientType<U13, GradientType = G13>, T14: GradientType<U14, GradientType = G14>, T15: GradientType<U15, GradientType = G15>, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15): Clone + PartialEq, (U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11, G12, G13, G14, G15): Clone + PartialEq,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, U, G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11, G12, G13, G14, G15> GradientType<AutoTuple<(U,)>> for AutoTuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)>
where T0: GradientType<U, GradientType = G0>, T1: GradientType<U, GradientType = G1>, T2: GradientType<U, GradientType = G2>, T3: GradientType<U, GradientType = G3>, T4: GradientType<U, GradientType = G4>, T5: GradientType<U, GradientType = G5>, T6: GradientType<U, GradientType = G6>, T7: GradientType<U, GradientType = G7>, T8: GradientType<U, GradientType = G8>, T9: GradientType<U, GradientType = G9>, T10: GradientType<U, GradientType = G10>, T11: GradientType<U, GradientType = G11>, T12: GradientType<U, GradientType = G12>, T13: GradientType<U, GradientType = G13>, T14: GradientType<U, GradientType = G14>, T15: GradientType<U, GradientType = G15>, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15): Clone + PartialEq, (U,): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11, G12, G13, G14, G15): Clone + PartialEq,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11, G12, G13, G14> GradientType<AutoTuple<(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14)>> for AutoTuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)>
where T0: GradientType<U0, GradientType = G0>, T1: GradientType<U1, GradientType = G1>, T2: GradientType<U2, GradientType = G2>, T3: GradientType<U3, GradientType = G3>, T4: GradientType<U4, GradientType = G4>, T5: GradientType<U5, GradientType = G5>, T6: GradientType<U6, GradientType = G6>, T7: GradientType<U7, GradientType = G7>, T8: GradientType<U8, GradientType = G8>, T9: GradientType<U9, GradientType = G9>, T10: GradientType<U10, GradientType = G10>, T11: GradientType<U11, GradientType = G11>, T12: GradientType<U12, GradientType = G12>, T13: GradientType<U13, GradientType = G13>, T14: GradientType<U14, GradientType = G14>, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14): Clone + PartialEq, (U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11, G12, G13, G14): Clone + PartialEq,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, U, G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11, G12, G13, G14> GradientType<AutoTuple<(U,)>> for AutoTuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)>
where T0: GradientType<U, GradientType = G0>, T1: GradientType<U, GradientType = G1>, T2: GradientType<U, GradientType = G2>, T3: GradientType<U, GradientType = G3>, T4: GradientType<U, GradientType = G4>, T5: GradientType<U, GradientType = G5>, T6: GradientType<U, GradientType = G6>, T7: GradientType<U, GradientType = G7>, T8: GradientType<U, GradientType = G8>, T9: GradientType<U, GradientType = G9>, T10: GradientType<U, GradientType = G10>, T11: GradientType<U, GradientType = G11>, T12: GradientType<U, GradientType = G12>, T13: GradientType<U, GradientType = G13>, T14: GradientType<U, GradientType = G14>, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14): Clone + PartialEq, (U,): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11, G12, G13, G14): Clone + PartialEq,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11, G12, G13> GradientType<AutoTuple<(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13)>> for AutoTuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)>
where T0: GradientType<U0, GradientType = G0>, T1: GradientType<U1, GradientType = G1>, T2: GradientType<U2, GradientType = G2>, T3: GradientType<U3, GradientType = G3>, T4: GradientType<U4, GradientType = G4>, T5: GradientType<U5, GradientType = G5>, T6: GradientType<U6, GradientType = G6>, T7: GradientType<U7, GradientType = G7>, T8: GradientType<U8, GradientType = G8>, T9: GradientType<U9, GradientType = G9>, T10: GradientType<U10, GradientType = G10>, T11: GradientType<U11, GradientType = G11>, T12: GradientType<U12, GradientType = G12>, T13: GradientType<U13, GradientType = G13>, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13): Clone + PartialEq, (U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11, G12, G13): Clone + PartialEq,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, U, G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11, G12, G13> GradientType<AutoTuple<(U,)>> for AutoTuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)>
where T0: GradientType<U, GradientType = G0>, T1: GradientType<U, GradientType = G1>, T2: GradientType<U, GradientType = G2>, T3: GradientType<U, GradientType = G3>, T4: GradientType<U, GradientType = G4>, T5: GradientType<U, GradientType = G5>, T6: GradientType<U, GradientType = G6>, T7: GradientType<U, GradientType = G7>, T8: GradientType<U, GradientType = G8>, T9: GradientType<U, GradientType = G9>, T10: GradientType<U, GradientType = G10>, T11: GradientType<U, GradientType = G11>, T12: GradientType<U, GradientType = G12>, T13: GradientType<U, GradientType = G13>, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13): Clone + PartialEq, (U,): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11, G12, G13): Clone + PartialEq,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11, G12> GradientType<AutoTuple<(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12)>> for AutoTuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)>
where T0: GradientType<U0, GradientType = G0>, T1: GradientType<U1, GradientType = G1>, T2: GradientType<U2, GradientType = G2>, T3: GradientType<U3, GradientType = G3>, T4: GradientType<U4, GradientType = G4>, T5: GradientType<U5, GradientType = G5>, T6: GradientType<U6, GradientType = G6>, T7: GradientType<U7, GradientType = G7>, T8: GradientType<U8, GradientType = G8>, T9: GradientType<U9, GradientType = G9>, T10: GradientType<U10, GradientType = G10>, T11: GradientType<U11, GradientType = G11>, T12: GradientType<U12, GradientType = G12>, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12): Clone + PartialEq, (U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11, G12): Clone + PartialEq,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, U, G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11, G12> GradientType<AutoTuple<(U,)>> for AutoTuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)>
where T0: GradientType<U, GradientType = G0>, T1: GradientType<U, GradientType = G1>, T2: GradientType<U, GradientType = G2>, T3: GradientType<U, GradientType = G3>, T4: GradientType<U, GradientType = G4>, T5: GradientType<U, GradientType = G5>, T6: GradientType<U, GradientType = G6>, T7: GradientType<U, GradientType = G7>, T8: GradientType<U, GradientType = G8>, T9: GradientType<U, GradientType = G9>, T10: GradientType<U, GradientType = G10>, T11: GradientType<U, GradientType = G11>, T12: GradientType<U, GradientType = G12>, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12): Clone + PartialEq, (U,): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11, G12): Clone + PartialEq,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11> GradientType<AutoTuple<(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11)>> for AutoTuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)>
where T0: GradientType<U0, GradientType = G0>, T1: GradientType<U1, GradientType = G1>, T2: GradientType<U2, GradientType = G2>, T3: GradientType<U3, GradientType = G3>, T4: GradientType<U4, GradientType = G4>, T5: GradientType<U5, GradientType = G5>, T6: GradientType<U6, GradientType = G6>, T7: GradientType<U7, GradientType = G7>, T8: GradientType<U8, GradientType = G8>, T9: GradientType<U9, GradientType = G9>, T10: GradientType<U10, GradientType = G10>, T11: GradientType<U11, GradientType = G11>, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11): Clone + PartialEq, (U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11): Clone + PartialEq,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, U, G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11> GradientType<AutoTuple<(U,)>> for AutoTuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)>
where T0: GradientType<U, GradientType = G0>, T1: GradientType<U, GradientType = G1>, T2: GradientType<U, GradientType = G2>, T3: GradientType<U, GradientType = G3>, T4: GradientType<U, GradientType = G4>, T5: GradientType<U, GradientType = G5>, T6: GradientType<U, GradientType = G6>, T7: GradientType<U, GradientType = G7>, T8: GradientType<U, GradientType = G8>, T9: GradientType<U, GradientType = G9>, T10: GradientType<U, GradientType = G10>, T11: GradientType<U, GradientType = G11>, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11): Clone + PartialEq, (U,): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11): Clone + PartialEq,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10> GradientType<AutoTuple<(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10)>> for AutoTuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>
where T0: GradientType<U0, GradientType = G0>, T1: GradientType<U1, GradientType = G1>, T2: GradientType<U2, GradientType = G2>, T3: GradientType<U3, GradientType = G3>, T4: GradientType<U4, GradientType = G4>, T5: GradientType<U5, GradientType = G5>, T6: GradientType<U6, GradientType = G6>, T7: GradientType<U7, GradientType = G7>, T8: GradientType<U8, GradientType = G8>, T9: GradientType<U9, GradientType = G9>, T10: GradientType<U10, GradientType = G10>, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10): Clone + PartialEq, (U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10): Clone + PartialEq,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, U, G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10> GradientType<AutoTuple<(U,)>> for AutoTuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>
where T0: GradientType<U, GradientType = G0>, T1: GradientType<U, GradientType = G1>, T2: GradientType<U, GradientType = G2>, T3: GradientType<U, GradientType = G3>, T4: GradientType<U, GradientType = G4>, T5: GradientType<U, GradientType = G5>, T6: GradientType<U, GradientType = G6>, T7: GradientType<U, GradientType = G7>, T8: GradientType<U, GradientType = G8>, T9: GradientType<U, GradientType = G9>, T10: GradientType<U, GradientType = G10>, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10): Clone + PartialEq, (U,): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10): Clone + PartialEq,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, G0, G1, G2, G3, G4, G5, G6, G7, G8, G9> GradientType<AutoTuple<(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9)>> for AutoTuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)>
where T0: GradientType<U0, GradientType = G0>, T1: GradientType<U1, GradientType = G1>, T2: GradientType<U2, GradientType = G2>, T3: GradientType<U3, GradientType = G3>, T4: GradientType<U4, GradientType = G4>, T5: GradientType<U5, GradientType = G5>, T6: GradientType<U6, GradientType = G6>, T7: GradientType<U7, GradientType = G7>, T8: GradientType<U8, GradientType = G8>, T9: GradientType<U9, GradientType = G9>, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9): Clone + PartialEq, (U0, U1, U2, U3, U4, U5, U6, U7, U8, U9): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7, G8, G9): Clone + PartialEq,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, U, G0, G1, G2, G3, G4, G5, G6, G7, G8, G9> GradientType<AutoTuple<(U,)>> for AutoTuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)>
where T0: GradientType<U, GradientType = G0>, T1: GradientType<U, GradientType = G1>, T2: GradientType<U, GradientType = G2>, T3: GradientType<U, GradientType = G3>, T4: GradientType<U, GradientType = G4>, T5: GradientType<U, GradientType = G5>, T6: GradientType<U, GradientType = G6>, T7: GradientType<U, GradientType = G7>, T8: GradientType<U, GradientType = G8>, T9: GradientType<U, GradientType = G9>, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9): Clone + PartialEq, (U,): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7, G8, G9): Clone + PartialEq,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, U0, U1, U2, U3, U4, U5, U6, U7, U8, G0, G1, G2, G3, G4, G5, G6, G7, G8> GradientType<AutoTuple<(U0, U1, U2, U3, U4, U5, U6, U7, U8)>> for AutoTuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8)>
where T0: GradientType<U0, GradientType = G0>, T1: GradientType<U1, GradientType = G1>, T2: GradientType<U2, GradientType = G2>, T3: GradientType<U3, GradientType = G3>, T4: GradientType<U4, GradientType = G4>, T5: GradientType<U5, GradientType = G5>, T6: GradientType<U6, GradientType = G6>, T7: GradientType<U7, GradientType = G7>, T8: GradientType<U8, GradientType = G8>, (T0, T1, T2, T3, T4, T5, T6, T7, T8): Clone + PartialEq, (U0, U1, U2, U3, U4, U5, U6, U7, U8): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7, G8): Clone + PartialEq,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, U, G0, G1, G2, G3, G4, G5, G6, G7, G8> GradientType<AutoTuple<(U,)>> for AutoTuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8)>
where T0: GradientType<U, GradientType = G0>, T1: GradientType<U, GradientType = G1>, T2: GradientType<U, GradientType = G2>, T3: GradientType<U, GradientType = G3>, T4: GradientType<U, GradientType = G4>, T5: GradientType<U, GradientType = G5>, T6: GradientType<U, GradientType = G6>, T7: GradientType<U, GradientType = G7>, T8: GradientType<U, GradientType = G8>, (T0, T1, T2, T3, T4, T5, T6, T7, T8): Clone + PartialEq, (U,): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7, G8): Clone + PartialEq,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, U0, U1, U2, U3, U4, U5, U6, U7, G0, G1, G2, G3, G4, G5, G6, G7> GradientType<AutoTuple<(U0, U1, U2, U3, U4, U5, U6, U7)>> for AutoTuple<(T0, T1, T2, T3, T4, T5, T6, T7)>
where T0: GradientType<U0, GradientType = G0>, T1: GradientType<U1, GradientType = G1>, T2: GradientType<U2, GradientType = G2>, T3: GradientType<U3, GradientType = G3>, T4: GradientType<U4, GradientType = G4>, T5: GradientType<U5, GradientType = G5>, T6: GradientType<U6, GradientType = G6>, T7: GradientType<U7, GradientType = G7>, (T0, T1, T2, T3, T4, T5, T6, T7): Clone + PartialEq, (U0, U1, U2, U3, U4, U5, U6, U7): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7): Clone + PartialEq,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, U, G0, G1, G2, G3, G4, G5, G6, G7> GradientType<AutoTuple<(U,)>> for AutoTuple<(T0, T1, T2, T3, T4, T5, T6, T7)>
where T0: GradientType<U, GradientType = G0>, T1: GradientType<U, GradientType = G1>, T2: GradientType<U, GradientType = G2>, T3: GradientType<U, GradientType = G3>, T4: GradientType<U, GradientType = G4>, T5: GradientType<U, GradientType = G5>, T6: GradientType<U, GradientType = G6>, T7: GradientType<U, GradientType = G7>, (T0, T1, T2, T3, T4, T5, T6, T7): Clone + PartialEq, (U,): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7): Clone + PartialEq,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, U0, U1, U2, U3, U4, U5, U6, G0, G1, G2, G3, G4, G5, G6> GradientType<AutoTuple<(U0, U1, U2, U3, U4, U5, U6)>> for AutoTuple<(T0, T1, T2, T3, T4, T5, T6)>
where T0: GradientType<U0, GradientType = G0>, T1: GradientType<U1, GradientType = G1>, T2: GradientType<U2, GradientType = G2>, T3: GradientType<U3, GradientType = G3>, T4: GradientType<U4, GradientType = G4>, T5: GradientType<U5, GradientType = G5>, T6: GradientType<U6, GradientType = G6>, (T0, T1, T2, T3, T4, T5, T6): Clone + PartialEq, (U0, U1, U2, U3, U4, U5, U6): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6): Clone + PartialEq,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, U, G0, G1, G2, G3, G4, G5, G6> GradientType<AutoTuple<(U,)>> for AutoTuple<(T0, T1, T2, T3, T4, T5, T6)>
where T0: GradientType<U, GradientType = G0>, T1: GradientType<U, GradientType = G1>, T2: GradientType<U, GradientType = G2>, T3: GradientType<U, GradientType = G3>, T4: GradientType<U, GradientType = G4>, T5: GradientType<U, GradientType = G5>, T6: GradientType<U, GradientType = G6>, (T0, T1, T2, T3, T4, T5, T6): Clone + PartialEq, (U,): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6): Clone + PartialEq,

Source§

impl<T0, T1, T2, T3, T4, T5, U0, U1, U2, U3, U4, U5, G0, G1, G2, G3, G4, G5> GradientType<AutoTuple<(U0, U1, U2, U3, U4, U5)>> for AutoTuple<(T0, T1, T2, T3, T4, T5)>
where T0: GradientType<U0, GradientType = G0>, T1: GradientType<U1, GradientType = G1>, T2: GradientType<U2, GradientType = G2>, T3: GradientType<U3, GradientType = G3>, T4: GradientType<U4, GradientType = G4>, T5: GradientType<U5, GradientType = G5>, (T0, T1, T2, T3, T4, T5): Clone + PartialEq, (U0, U1, U2, U3, U4, U5): Clone + PartialEq, (G0, G1, G2, G3, G4, G5): Clone + PartialEq,

Source§

impl<T0, T1, T2, T3, T4, T5, U, G0, G1, G2, G3, G4, G5> GradientType<AutoTuple<(U,)>> for AutoTuple<(T0, T1, T2, T3, T4, T5)>
where T0: GradientType<U, GradientType = G0>, T1: GradientType<U, GradientType = G1>, T2: GradientType<U, GradientType = G2>, T3: GradientType<U, GradientType = G3>, T4: GradientType<U, GradientType = G4>, T5: GradientType<U, GradientType = G5>, (T0, T1, T2, T3, T4, T5): Clone + PartialEq, (U,): Clone + PartialEq, (G0, G1, G2, G3, G4, G5): Clone + PartialEq,

Source§

impl<T0, T1, T2, T3, T4, U0, U1, U2, U3, U4, G0, G1, G2, G3, G4> GradientType<AutoTuple<(U0, U1, U2, U3, U4)>> for AutoTuple<(T0, T1, T2, T3, T4)>
where T0: GradientType<U0, GradientType = G0>, T1: GradientType<U1, GradientType = G1>, T2: GradientType<U2, GradientType = G2>, T3: GradientType<U3, GradientType = G3>, T4: GradientType<U4, GradientType = G4>, (T0, T1, T2, T3, T4): Clone + PartialEq, (U0, U1, U2, U3, U4): Clone + PartialEq, (G0, G1, G2, G3, G4): Clone + PartialEq,

Source§

impl<T0, T1, T2, T3, T4, U, G0, G1, G2, G3, G4> GradientType<AutoTuple<(U,)>> for AutoTuple<(T0, T1, T2, T3, T4)>
where T0: GradientType<U, GradientType = G0>, T1: GradientType<U, GradientType = G1>, T2: GradientType<U, GradientType = G2>, T3: GradientType<U, GradientType = G3>, T4: GradientType<U, GradientType = G4>, (T0, T1, T2, T3, T4): Clone + PartialEq, (U,): Clone + PartialEq, (G0, G1, G2, G3, G4): Clone + PartialEq,

Source§

impl<T0, T1, T2, T3, U0, U1, U2, U3, G0, G1, G2, G3> GradientType<AutoTuple<(U0, U1, U2, U3)>> for AutoTuple<(T0, T1, T2, T3)>
where T0: GradientType<U0, GradientType = G0>, T1: GradientType<U1, GradientType = G1>, T2: GradientType<U2, GradientType = G2>, T3: GradientType<U3, GradientType = G3>, (T0, T1, T2, T3): Clone + PartialEq, (U0, U1, U2, U3): Clone + PartialEq, (G0, G1, G2, G3): Clone + PartialEq,

Source§

impl<T0, T1, T2, T3, U, G0, G1, G2, G3> GradientType<AutoTuple<(U,)>> for AutoTuple<(T0, T1, T2, T3)>
where T0: GradientType<U, GradientType = G0>, T1: GradientType<U, GradientType = G1>, T2: GradientType<U, GradientType = G2>, T3: GradientType<U, GradientType = G3>, (T0, T1, T2, T3): Clone + PartialEq, (U,): Clone + PartialEq, (G0, G1, G2, G3): Clone + PartialEq,

Source§

impl<T0, T1, T2, U0, U1, U2, G0, G1, G2> GradientType<AutoTuple<(U0, U1, U2)>> for AutoTuple<(T0, T1, T2)>
where T0: GradientType<U0, GradientType = G0>, T1: GradientType<U1, GradientType = G1>, T2: GradientType<U2, GradientType = G2>, (T0, T1, T2): Clone + PartialEq, (U0, U1, U2): Clone + PartialEq, (G0, G1, G2): Clone + PartialEq,

Source§

impl<T0, T1, T2, U, G0, G1, G2> GradientType<AutoTuple<(U,)>> for AutoTuple<(T0, T1, T2)>
where T0: GradientType<U, GradientType = G0>, T1: GradientType<U, GradientType = G1>, T2: GradientType<U, GradientType = G2>, (T0, T1, T2): Clone + PartialEq, (U,): Clone + PartialEq, (G0, G1, G2): Clone + PartialEq,

Source§

impl<T0, T1, U0, U1, G0, G1> GradientType<AutoTuple<(U0, U1)>> for AutoTuple<(T0, T1)>
where T0: GradientType<U0, GradientType = G0>, T1: GradientType<U1, GradientType = G1>, (T0, T1): Clone + PartialEq, (U0, U1): Clone + PartialEq, (G0, G1): Clone + PartialEq,

Source§

impl<T0, T1, U, G0, G1> GradientType<AutoTuple<(U,)>> for AutoTuple<(T0, T1)>
where T0: GradientType<U, GradientType = G0>, T1: GradientType<U, GradientType = G1>, (T0, T1): Clone + PartialEq, (U,): Clone + PartialEq, (G0, G1): Clone + PartialEq,

Source§

impl<T0, U0, G0> GradientType<AutoTuple<(U0,)>> for AutoTuple<(T0,)>
where T0: GradientType<U0, GradientType = G0>, (T0,): Clone + PartialEq, (U0,): Clone + PartialEq, (G0,): Clone + PartialEq,

Source§

impl<T, U0, U1, G0, G1> GradientType<AutoTuple<(U0, U1)>> for AutoTuple<(T,)>
where T: GradientType<U0, GradientType = G0> + GradientType<U1, GradientType = G1>, (T,): Clone + PartialEq, (U0, U1): Clone + PartialEq, (G0, G1): Clone + PartialEq,

Source§

impl<T, U0, U1, U2, G0, G1, G2> GradientType<AutoTuple<(U0, U1, U2)>> for AutoTuple<(T,)>
where T: GradientType<U0, GradientType = G0> + GradientType<U1, GradientType = G1> + GradientType<U2, GradientType = G2>, (T,): Clone + PartialEq, (U0, U1, U2): Clone + PartialEq, (G0, G1, G2): Clone + PartialEq,

Source§

impl<T, U0, U1, U2, U3, G0, G1, G2, G3> GradientType<AutoTuple<(U0, U1, U2, U3)>> for AutoTuple<(T,)>
where T: GradientType<U0, GradientType = G0> + GradientType<U1, GradientType = G1> + GradientType<U2, GradientType = G2> + GradientType<U3, GradientType = G3>, (T,): Clone + PartialEq, (U0, U1, U2, U3): Clone + PartialEq, (G0, G1, G2, G3): Clone + PartialEq,

Source§

impl<T, U0, U1, U2, U3, U4, G0, G1, G2, G3, G4> GradientType<AutoTuple<(U0, U1, U2, U3, U4)>> for AutoTuple<(T,)>
where T: GradientType<U0, GradientType = G0> + GradientType<U1, GradientType = G1> + GradientType<U2, GradientType = G2> + GradientType<U3, GradientType = G3> + GradientType<U4, GradientType = G4>, (T,): Clone + PartialEq, (U0, U1, U2, U3, U4): Clone + PartialEq, (G0, G1, G2, G3, G4): Clone + PartialEq,

Source§

impl<T, U0, U1, U2, U3, U4, U5, G0, G1, G2, G3, G4, G5> GradientType<AutoTuple<(U0, U1, U2, U3, U4, U5)>> for AutoTuple<(T,)>
where T: GradientType<U0, GradientType = G0> + GradientType<U1, GradientType = G1> + GradientType<U2, GradientType = G2> + GradientType<U3, GradientType = G3> + GradientType<U4, GradientType = G4> + GradientType<U5, GradientType = G5>, (T,): Clone + PartialEq, (U0, U1, U2, U3, U4, U5): Clone + PartialEq, (G0, G1, G2, G3, G4, G5): Clone + PartialEq,

Source§

impl<T, U0, U1, U2, U3, U4, U5, U6, G0, G1, G2, G3, G4, G5, G6> GradientType<AutoTuple<(U0, U1, U2, U3, U4, U5, U6)>> for AutoTuple<(T,)>
where T: GradientType<U0, GradientType = G0> + GradientType<U1, GradientType = G1> + GradientType<U2, GradientType = G2> + GradientType<U3, GradientType = G3> + GradientType<U4, GradientType = G4> + GradientType<U5, GradientType = G5> + GradientType<U6, GradientType = G6>, (T,): Clone + PartialEq, (U0, U1, U2, U3, U4, U5, U6): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6): Clone + PartialEq,

Source§

impl<T, U0, U1, U2, U3, U4, U5, U6, U7, G0, G1, G2, G3, G4, G5, G6, G7> GradientType<AutoTuple<(U0, U1, U2, U3, U4, U5, U6, U7)>> for AutoTuple<(T,)>
where T: GradientType<U0, GradientType = G0> + GradientType<U1, GradientType = G1> + GradientType<U2, GradientType = G2> + GradientType<U3, GradientType = G3> + GradientType<U4, GradientType = G4> + GradientType<U5, GradientType = G5> + GradientType<U6, GradientType = G6> + GradientType<U7, GradientType = G7>, (T,): Clone + PartialEq, (U0, U1, U2, U3, U4, U5, U6, U7): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7): Clone + PartialEq,

Source§

impl<T, U0, U1, U2, U3, U4, U5, U6, U7, U8, G0, G1, G2, G3, G4, G5, G6, G7, G8> GradientType<AutoTuple<(U0, U1, U2, U3, U4, U5, U6, U7, U8)>> for AutoTuple<(T,)>
where T: GradientType<U0, GradientType = G0> + GradientType<U1, GradientType = G1> + GradientType<U2, GradientType = G2> + GradientType<U3, GradientType = G3> + GradientType<U4, GradientType = G4> + GradientType<U5, GradientType = G5> + GradientType<U6, GradientType = G6> + GradientType<U7, GradientType = G7> + GradientType<U8, GradientType = G8>, (T,): Clone + PartialEq, (U0, U1, U2, U3, U4, U5, U6, U7, U8): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7, G8): Clone + PartialEq,

Source§

impl<T, U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, G0, G1, G2, G3, G4, G5, G6, G7, G8, G9> GradientType<AutoTuple<(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9)>> for AutoTuple<(T,)>
where T: GradientType<U0, GradientType = G0> + GradientType<U1, GradientType = G1> + GradientType<U2, GradientType = G2> + GradientType<U3, GradientType = G3> + GradientType<U4, GradientType = G4> + GradientType<U5, GradientType = G5> + GradientType<U6, GradientType = G6> + GradientType<U7, GradientType = G7> + GradientType<U8, GradientType = G8> + GradientType<U9, GradientType = G9>, (T,): Clone + PartialEq, (U0, U1, U2, U3, U4, U5, U6, U7, U8, U9): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7, G8, G9): Clone + PartialEq,

Source§

impl<T, U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10> GradientType<AutoTuple<(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10)>> for AutoTuple<(T,)>
where T: GradientType<U0, GradientType = G0> + GradientType<U1, GradientType = G1> + GradientType<U2, GradientType = G2> + GradientType<U3, GradientType = G3> + GradientType<U4, GradientType = G4> + GradientType<U5, GradientType = G5> + GradientType<U6, GradientType = G6> + GradientType<U7, GradientType = G7> + GradientType<U8, GradientType = G8> + GradientType<U9, GradientType = G9> + GradientType<U10, GradientType = G10>, (T,): Clone + PartialEq, (U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10): Clone + PartialEq,

Source§

impl<T, U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11> GradientType<AutoTuple<(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11)>> for AutoTuple<(T,)>
where T: GradientType<U0, GradientType = G0> + GradientType<U1, GradientType = G1> + GradientType<U2, GradientType = G2> + GradientType<U3, GradientType = G3> + GradientType<U4, GradientType = G4> + GradientType<U5, GradientType = G5> + GradientType<U6, GradientType = G6> + GradientType<U7, GradientType = G7> + GradientType<U8, GradientType = G8> + GradientType<U9, GradientType = G9> + GradientType<U10, GradientType = G10> + GradientType<U11, GradientType = G11>, (T,): Clone + PartialEq, (U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11): Clone + PartialEq,

Source§

impl<T, U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11, G12> GradientType<AutoTuple<(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12)>> for AutoTuple<(T,)>
where T: GradientType<U0, GradientType = G0> + GradientType<U1, GradientType = G1> + GradientType<U2, GradientType = G2> + GradientType<U3, GradientType = G3> + GradientType<U4, GradientType = G4> + GradientType<U5, GradientType = G5> + GradientType<U6, GradientType = G6> + GradientType<U7, GradientType = G7> + GradientType<U8, GradientType = G8> + GradientType<U9, GradientType = G9> + GradientType<U10, GradientType = G10> + GradientType<U11, GradientType = G11> + GradientType<U12, GradientType = G12>, (T,): Clone + PartialEq, (U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11, G12): Clone + PartialEq,

Source§

impl<T, U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11, G12, G13> GradientType<AutoTuple<(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13)>> for AutoTuple<(T,)>
where T: GradientType<U0, GradientType = G0> + GradientType<U1, GradientType = G1> + GradientType<U2, GradientType = G2> + GradientType<U3, GradientType = G3> + GradientType<U4, GradientType = G4> + GradientType<U5, GradientType = G5> + GradientType<U6, GradientType = G6> + GradientType<U7, GradientType = G7> + GradientType<U8, GradientType = G8> + GradientType<U9, GradientType = G9> + GradientType<U10, GradientType = G10> + GradientType<U11, GradientType = G11> + GradientType<U12, GradientType = G12> + GradientType<U13, GradientType = G13>, (T,): Clone + PartialEq, (U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11, G12, G13): Clone + PartialEq,

Source§

impl<T, U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11, G12, G13, G14> GradientType<AutoTuple<(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14)>> for AutoTuple<(T,)>
where T: GradientType<U0, GradientType = G0> + GradientType<U1, GradientType = G1> + GradientType<U2, GradientType = G2> + GradientType<U3, GradientType = G3> + GradientType<U4, GradientType = G4> + GradientType<U5, GradientType = G5> + GradientType<U6, GradientType = G6> + GradientType<U7, GradientType = G7> + GradientType<U8, GradientType = G8> + GradientType<U9, GradientType = G9> + GradientType<U10, GradientType = G10> + GradientType<U11, GradientType = G11> + GradientType<U12, GradientType = G12> + GradientType<U13, GradientType = G13> + GradientType<U14, GradientType = G14>, (T,): Clone + PartialEq, (U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11, G12, G13, G14): Clone + PartialEq,

Source§

impl<T, U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11, G12, G13, G14, G15> GradientType<AutoTuple<(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15)>> for AutoTuple<(T,)>
where T: GradientType<U0, GradientType = G0> + GradientType<U1, GradientType = G1> + GradientType<U2, GradientType = G2> + GradientType<U3, GradientType = G3> + GradientType<U4, GradientType = G4> + GradientType<U5, GradientType = G5> + GradientType<U6, GradientType = G6> + GradientType<U7, GradientType = G7> + GradientType<U8, GradientType = G8> + GradientType<U9, GradientType = G9> + GradientType<U10, GradientType = G10> + GradientType<U11, GradientType = G11> + GradientType<U12, GradientType = G12> + GradientType<U13, GradientType = G13> + GradientType<U14, GradientType = G14> + GradientType<U15, GradientType = G15>, (T,): Clone + PartialEq, (U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15): Clone + PartialEq, (G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11, G12, G13, G14, G15): Clone + PartialEq,