Expand description

Defines basic arithmetic kernels for PrimitiveArrays.

These kernels can leverage SIMD if available on your system. Currently no runtime detection is provided, you should enable the specific SIMD intrinsics using RUSTFLAGS="-C target-feature=+avx2" for example. See the documentation here for more information.

Functions

Perform left + right operation on two arrays. If either left or right value is null then the result is also null.

Perform left + right operation on two arrays. If either left or right value is null then the result is also null.

Add every value in an array by a scalar. If any value in the array is null then the result is also null.

Add every value in an array by a scalar. If any value in the array is null then the result is also null. The given array must be a PrimitiveArray of the type same as the scalar, or a DictionaryArray of the value type same as the scalar.

Perform left / right operation on two arrays. If either left or right value is null then the result is also null. If any right hand value is zero then the result of this operation will be Err(ArrowError::DivideByZero).

Perform left / right operation on two arrays. If either left or right value is null then the result is also null. If any right hand value is zero then the result of this operation will be Err(ArrowError::DivideByZero).

Divide every value in an array by a scalar. If any value in the array is null then the result is also null. If the scalar is zero then the result of this operation will be Err(ArrowError::DivideByZero).

Divide every value in an array by a scalar. If any value in the array is null then the result is also null. If the scalar is zero then the result of this operation will be Err(ArrowError::DivideByZero). The given array must be a PrimitiveArray of the type same as the scalar, or a DictionaryArray of the value type same as the scalar.

Perform left / right operation on two arrays without checking for division by zero. The result of dividing by zero follows normal floating point rules. If either left or right value is null then the result is also null. If any right hand value is zero then the result of this

Helper function to perform math lambda function on values from two arrays. If either left or right value is null then the output value is also null, so 1 + null is null.

Perform left % right operation on two arrays. If either left or right value is null then the result is also null. If any right hand value is zero then the result of this operation will be Err(ArrowError::DivideByZero).

Modulus every value in an array by a scalar. If any value in the array is null then the result is also null. If the scalar is zero then the result of this operation will be Err(ArrowError::DivideByZero).

Perform left * right operation on two arrays. If either left or right value is null then the result is also null.

Perform left * right operation on two arrays. If either left or right value is null then the result is also null.

Multiply every value in an array by a scalar. If any value in the array is null then the result is also null.

Multiply every value in an array by a scalar. If any value in the array is null then the result is also null. The given array must be a PrimitiveArray of the type same as the scalar, or a DictionaryArray of the value type same as the scalar.

Perform - operation on an array. If value is null then the result is also null.

Raise array with floating point values to the power of a scalar.

Perform left - right operation on two arrays. If either left or right value is null then the result is also null.

Perform left - right operation on two arrays. If either left or right value is null then the result is also null.

Subtract every value in an array by a scalar. If any value in the array is null then the result is also null.

Subtract every value in an array by a scalar. If any value in the array is null then the result is also null. The given array must be a PrimitiveArray of the type same as the scalar, or a DictionaryArray of the value type same as the scalar.