pub trait ArrowNativeTypeOp: ArrowNativeType {
    const ZERO: Self;
    const ONE: Self;
Show 22 methods fn add_checked(self, rhs: Self) -> Result<Self, ArrowError>; fn add_wrapping(self, rhs: Self) -> Self; fn sub_checked(self, rhs: Self) -> Result<Self, ArrowError>; fn sub_wrapping(self, rhs: Self) -> Self; fn mul_checked(self, rhs: Self) -> Result<Self, ArrowError>; fn mul_wrapping(self, rhs: Self) -> Self; fn div_checked(self, rhs: Self) -> Result<Self, ArrowError>; fn div_wrapping(self, rhs: Self) -> Self; fn mod_checked(self, rhs: Self) -> Result<Self, ArrowError>; fn mod_wrapping(self, rhs: Self) -> Self; fn neg_checked(self) -> Result<Self, ArrowError>; fn neg_wrapping(self) -> Self; fn pow_checked(self, exp: u32) -> Result<Self, ArrowError>; fn pow_wrapping(self, exp: u32) -> Self; fn is_zero(self) -> bool; fn compare(self, rhs: Self) -> Ordering; fn is_eq(self, rhs: Self) -> bool; fn is_ne(self, rhs: Self) -> bool { ... } fn is_lt(self, rhs: Self) -> bool { ... } fn is_le(self, rhs: Self) -> bool { ... } fn is_gt(self, rhs: Self) -> bool { ... } fn is_ge(self, rhs: Self) -> bool { ... }
}
Expand description

Trait for ArrowNativeType that adds checked and unchecked arithmetic operations, and totally ordered comparison operations

The APIs with _wrapping suffix do not perform overflow-checking. For integer types they will wrap around the boundary of the type. For floating point types they will overflow to INF or -INF preserving the expected sign value

Note div_wrapping and mod_wrapping will panic for integer types if rhs is zero although this may be subject to change https://github.com/apache/arrow-rs/issues/2647

The APIs with _checked suffix perform overflow-checking. For integer types these will return Err instead of wrapping. For floating point types they will overflow to INF or -INF preserving the expected sign value

Comparison of integer types is as per normal integer comparison rules, floating point values are compared as per IEEE 754’s totalOrder predicate see f32::total_cmp

Required Associated Constants§

The additive identity

The multiplicative identity

Required Methods§

Checked addition operation

Wrapping addition operation

Checked subtraction operation

Wrapping subtraction operation

Checked multiplication operation

Wrapping multiplication operation

Checked division operation

Wrapping division operation

Checked remainder operation

Wrapping remainder operation

Checked negation operation

Wrapping negation operation

Checked exponentiation operation

Wrapping exponentiation operation

Returns true if zero else false

Compare operation

Equality operation

Provided Methods§

Not equal operation

Less than operation

Less than equals operation

Greater than operation

Greater than equals operation

Implementations on Foreign Types§

Implementors§