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 ScalarArray
s. The first elements are mapped with f0
,
then folding continues with f
for other elements.