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.