Function beagle::scalar_array::fold2 [] [src]

pub fn fold2<S, T, F0, F, O>(s: S, t: T, f0: F0, f: F) -> O where
    S: ScalarArrayVal,
    S::Row: Dim<T::Scalar>,
    S::Dim: TwoDim<T::Scalar, S::Row>,
    T: ScalarArrayVal<Row = S::Row, Dim = S::Dim>,
    F0: FnOnce(S::Scalar, T::Scalar) -> O,
    F: FnMut(O, S::Scalar, T::Scalar) -> O,
    <S::Row as HasSmaller>::Smaller: Array<S::Scalar> + Array<T::Scalar>,
    <S::Dim as HasSmaller>::Smaller: Array<<S::Row as Array<S::Scalar>>::Type> + Array<<S::Row as Array<T::Scalar>>::Type>, 

Fold all the scalars in two ScalarArrays. The first elements are mapped with f0, then folding continues with f for other elements.