Function arrow2::compute::arithmetics::decimal::checked_div
source · [−]pub fn checked_div(
lhs: &PrimitiveArray<i128>,
rhs: &PrimitiveArray<i128>
) -> PrimitiveArray<i128>
Expand description
Checked division of two decimal primitive arrays with the same precision and scale. If the precision and scale is different, then an InvalidArgumentError is returned. If the divisor is zero, then the validity for that index is changed to None
Examples
use arrow2::compute::arithmetics::decimal::checked_div;
use arrow2::array::PrimitiveArray;
use arrow2::datatypes::DataType;
let a = PrimitiveArray::from([Some(1_00i128), Some(4_00i128), Some(6_00i128)]).to(DataType::Decimal(5, 2));
let b = PrimitiveArray::from([Some(000_00i128), None, Some(2_00i128)]).to(DataType::Decimal(5, 2));
let result = checked_div(&a, &b);
let expected = PrimitiveArray::from([None, None, Some(3_00i128)]).to(DataType::Decimal(5, 2));
assert_eq!(result, expected);