Function arrow::compute::multiply_fixed_point
source · pub fn multiply_fixed_point(
left: &PrimitiveArray<Decimal128Type>,
right: &PrimitiveArray<Decimal128Type>,
required_scale: i8,
) -> Result<PrimitiveArray<Decimal128Type>, ArrowError>
Expand description
Perform left * right
operation on two decimal arrays. If either left or right value is
null then the result is also null.
This performs decimal multiplication which allows precision loss if an exact representation is not possible for the result, according to the required scale. In the case, the result will be rounded to the required scale.
If the required scale is greater than the product scale, an error is returned.
This doesn’t detect overflow. Once overflowing, the result will wrap around.
For an overflow-checking variant, use multiply_fixed_point_checked
instead.
It is implemented for compatibility with precision loss multiply
function provided by
other data processing engines. For multiplication with precision loss detection, use
multiply
or multiply_checked
instead.