public static <R> Stream<R> zip(final double[] a, final double[] b, final double[] c, final double valueForNoneA, final double valueForNoneB,
            final double valueForNoneC, final DoubleTriFunction<R> zipFunction) {
        return zip(DoubleIteratorEx.of(a), DoubleIteratorEx.of(b), DoubleIteratorEx.of(c), valueForNoneA, valueForNoneB, valueForNoneC, zipFunction);
    }
public static < R > Stream < R > zip ( final double [ ] a , final double [ ] b , final double [ ] c , final double valueForNoneA , final double valueForNoneB , final double valueForNoneC , final DoubleTriFunction < R > zipFunction ) { return zip ( DoubleIteratorEx . of ( a ) , DoubleIteratorEx . of ( b ) , DoubleIteratorEx . of ( c ) , valueForNoneA , valueForNoneB , valueForNoneC , zipFunction ) ; }
Zip together the "a", "b" and "c" iterators until all of them runs out of values.
Each triple of values is combined into a single value using the supplied zipFunction function.

@param a
@param b
@param c
@param valueForNoneA value to fill if "a" runs out of values.
@param valueForNoneB value to fill if "b" runs out of values.
@param valueForNoneC value to fill if "c" runs out of values.
@param zipFunction
@return