Function beagle::scalar_array::fold2_ref [] [src]

pub fn fold2_ref<'a, S, T, F0, F, O>(s: &'a S, t: &'a T, f0: F0, f: F) -> O where
    S: ScalarArrayRef,
    S::Row: DimRef<S::Scalar> + DimRef<T::Scalar>,
    S::Dim: TwoDimRef<S::Scalar, S::Row> + TwoDimRef<T::Scalar, S::Row>,
    T: ScalarArrayRef<Row = S::Row, Dim = S::Dim>,
    F0: FnOnce(&'a S::Scalar, &'a T::Scalar) -> O,
    F: FnMut(O, &'a S::Scalar, &'a T::Scalar) -> O,
    <S::Row as HasSmaller>::Smaller: Array<S::Scalar> + Array<T::Scalar> + Array<&'a S::Scalar> + Array<&'a T::Scalar>,
    <S::Dim as HasSmaller>::Smaller: Array<<S::Row as Array<S::Scalar>>::Type> + Array<<S::Row as Array<T::Scalar>>::Type> + Array<<S::Row as Array<&'a S::Scalar>>::Type> + Array<<S::Row as Array<&'a 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.