Function arrow_ord::cmp::not_distinct
source ยท pub fn not_distinct(
lhs: &dyn Datum,
rhs: &dyn Datum,
) -> Result<BooleanArray, ArrowError>
Expand description
Perform left IS NOT DISTINCT FROM right
operation on two Datum
not_distinct
is similar to eq
, only differing in null handling. In particular, two
operands are considered NOT DISTINCT
if they have the same value or if both of them
is NULL. The result of not_distinct
is never NULL.
For floating values like f32 and f64, this comparison produces an ordering in accordance to
the totalOrder predicate as defined in the IEEE 754 (2008 revision) floating point standard.
Note that totalOrder treats positive and negative zeros as different. If it is necessary
to treat them as equal, please normalize zeros before calling this kernel. See
f32::total_cmp
and f64::total_cmp
.
Nested types, such as lists, are not supported as the null semantics are not well-defined.
For comparisons involving nested types see crate::ord::make_comparator