/// Checked remainder of two primitive arrays. If the result from the remainder
/// overflows, the result for the operation will change the validity array
/// making this operation None
///
/// # Examples
/// ```
/// use arrow2::compute::arithmetics::basic::checked_rem;
/// use arrow2::array::Int8Array;
///
/// let a = Int8Array::from(&[Some(-100i8), Some(10i8)]);
/// let b = Int8Array::from(&[Some(100i8), Some(0i8)]);
/// let result = checked_rem(&a, &b).unwrap();
/// let expected = Int8Array::from(&[Some(-0i8), None]);
/// assert_eq!(result, expected);
/// ```
Checked remainder of two primitive arrays. If the result from the remainder
overflows, the result for the operation will change the validity array
making this operation None
Checked remainder of two primitive arrays . If the result from the remainder overflows the result for the operation will change the validity array making this operation None
pub fn checked_rem<T>(lhs: &PrimitiveArray<T>, rhs: &PrimitiveArray<T>) -> Result<PrimitiveArray<T>>
where
    T: NativeType + CheckedRem<Output = T> + Zero,
{
    check_same_type(lhs, rhs)?;
    let op = move |a: T, b: T| a.checked_rem(&b);
    binary_checked(lhs, rhs, lhs.data_type().clone(), op)
}
pub fn checked_rem < T > ( lhs : & PrimitiveArray < T > , rhs : & PrimitiveArray < T > ) -> Result < PrimitiveArray < T > > where T : NativeType + CheckedRem < Output = T > + Zero , { check_same_type ( lhs , rhs ) ? ; let op = move | a : T , b : T | a . checked_rem ( & b ) ; binary_checked ( lhs , rhs , lhs . data_type ( ) . clone ( ) , op ) }
Checked remainder of two primitive arrays.
Checked remainder of two primitive arrays .
lhs
&PrimitiveArray<T>
rhs
&PrimitiveArray<T>
examples
```
use arrow2::compute::arithmetics::basic::checked_rem;
use arrow2::array::Int8Array.


` ` ` use arrow2 :: compute :: arithmetics :: basic :: checked_rem ; use arrow2 :: array :: Int8Array .