Function arrow_arith::arity::binary_mut

source ·
pub fn binary_mut<T, F>(
    a: PrimitiveArray<T>,
    b: &PrimitiveArray<T>,
    op: F
) -> Result<Result<PrimitiveArray<T>, ArrowError>, PrimitiveArray<T>>where
    T: ArrowPrimitiveType,
    F: Fn(T::Native, T::Native) -> T::Native,
Expand description

Given two arrays of length len, calls op(a[i], b[i]) for i in 0..len, mutating the mutable PrimitiveArray a. If any index is null in either a or b, the corresponding index in the result will also be null.

Mutable primitive array means that the buffer is not shared with other arrays. As a result, this mutates the buffer directly without allocating new buffer.

Like unary the provided function is evaluated for every index, ignoring validity. This is beneficial when the cost of the operation is low compared to the cost of branching, and especially when the operation can be vectorised, however, requires op to be infallible for all possible values of its inputs

Error

This function gives error if the arrays have different lengths. This function gives error of original PrimitiveArray a if it is not a mutable primitive array.