pub fn div(
    lhs: &PrimitiveArray<i128>,
    rhs: &PrimitiveArray<i128>
) -> PrimitiveArray<i128>
Available on crate feature compute_arithmetics only.
Expand description

Divide two decimal primitive arrays with the same precision and scale. If the precision and scale is different, then an InvalidArgumentError is returned. This function panics if the dividend is divided by 0 or None. This function also panics if the division produces a number larger than the possible number for the array precision.

Examples

use arrow2::compute::arithmetics::decimal::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(1_00i128), Some(2_00i128), Some(2_00i128)]).to(DataType::Decimal(5, 2));

let result = div(&a, &b);
let expected = PrimitiveArray::from([Some(1_00i128), Some(2_00i128), Some(3_00i128)]).to(DataType::Decimal(5, 2));

assert_eq!(result, expected);