MCPcopy Create free account
hub / github.com/apache/arrow-rs / equal_values

Function equal_values

arrow-data/src/equal/mod.rs:62–129  ·  view source on GitHub ↗
(
    lhs: &ArrayData,
    rhs: &ArrayData,
    lhs_start: usize,
    rhs_start: usize,
    len: usize,
)

Source from the content-addressed store, hash-verified

60/// for `len` slots.
61#[inline]
62fn equal_values(
63 lhs: &ArrayData,
64 rhs: &ArrayData,
65 lhs_start: usize,
66 rhs_start: usize,
67 len: usize,
68) -> bool {
69 match lhs.data_type() {
70 DataType::Null => null_equal(lhs, rhs, lhs_start, rhs_start, len),
71 DataType::Boolean => boolean_equal(lhs, rhs, lhs_start, rhs_start, len),
72 DataType::UInt8 => primitive_equal::<u8>(lhs, rhs, lhs_start, rhs_start, len),
73 DataType::UInt16 => primitive_equal::<u16>(lhs, rhs, lhs_start, rhs_start, len),
74 DataType::UInt32 => primitive_equal::<u32>(lhs, rhs, lhs_start, rhs_start, len),
75 DataType::UInt64 => primitive_equal::<u64>(lhs, rhs, lhs_start, rhs_start, len),
76 DataType::Int8 => primitive_equal::<i8>(lhs, rhs, lhs_start, rhs_start, len),
77 DataType::Int16 => primitive_equal::<i16>(lhs, rhs, lhs_start, rhs_start, len),
78 DataType::Int32 => primitive_equal::<i32>(lhs, rhs, lhs_start, rhs_start, len),
79 DataType::Int64 => primitive_equal::<i64>(lhs, rhs, lhs_start, rhs_start, len),
80 DataType::Float32 => primitive_equal::<f32>(lhs, rhs, lhs_start, rhs_start, len),
81 DataType::Float64 => primitive_equal::<f64>(lhs, rhs, lhs_start, rhs_start, len),
82 DataType::Decimal32(_, _) => primitive_equal::<i32>(lhs, rhs, lhs_start, rhs_start, len),
83 DataType::Decimal64(_, _) => primitive_equal::<i64>(lhs, rhs, lhs_start, rhs_start, len),
84 DataType::Decimal128(_, _) => primitive_equal::<i128>(lhs, rhs, lhs_start, rhs_start, len),
85 DataType::Decimal256(_, _) => primitive_equal::<i256>(lhs, rhs, lhs_start, rhs_start, len),
86 DataType::Date32 | DataType::Time32(_) | DataType::Interval(IntervalUnit::YearMonth) => {
87 primitive_equal::<i32>(lhs, rhs, lhs_start, rhs_start, len)
88 }
89 DataType::Date64
90 | DataType::Interval(IntervalUnit::DayTime)
91 | DataType::Time64(_)
92 | DataType::Timestamp(_, _)
93 | DataType::Duration(_) => primitive_equal::<i64>(lhs, rhs, lhs_start, rhs_start, len),
94 DataType::Interval(IntervalUnit::MonthDayNano) => {
95 primitive_equal::<i128>(lhs, rhs, lhs_start, rhs_start, len)
96 }
97 DataType::Utf8 | DataType::Binary => {
98 variable_sized_equal::<i32>(lhs, rhs, lhs_start, rhs_start, len)
99 }
100 DataType::LargeUtf8 | DataType::LargeBinary => {
101 variable_sized_equal::<i64>(lhs, rhs, lhs_start, rhs_start, len)
102 }
103 DataType::FixedSizeBinary(_) => fixed_binary_equal(lhs, rhs, lhs_start, rhs_start, len),
104 DataType::BinaryView | DataType::Utf8View => {
105 byte_view_equal(lhs, rhs, lhs_start, rhs_start, len)
106 }
107 DataType::List(_) => list_equal::<i32>(lhs, rhs, lhs_start, rhs_start, len),
108 DataType::LargeList(_) => list_equal::<i64>(lhs, rhs, lhs_start, rhs_start, len),
109 DataType::ListView(_) => list_view_equal::<i32>(lhs, rhs, lhs_start, rhs_start, len),
110 DataType::LargeListView(_) => list_view_equal::<i64>(lhs, rhs, lhs_start, rhs_start, len),
111 DataType::FixedSizeList(_, _) => fixed_list_equal(lhs, rhs, lhs_start, rhs_start, len),
112 DataType::Struct(_) => struct_equal(lhs, rhs, lhs_start, rhs_start, len),
113 DataType::Union(_, _) => union_equal(lhs, rhs, lhs_start, rhs_start, len),
114 DataType::Dictionary(data_type, _) => match data_type.as_ref() {
115 DataType::Int8 => dictionary_equal::<i8>(lhs, rhs, lhs_start, rhs_start, len),
116 DataType::Int16 => dictionary_equal::<i16>(lhs, rhs, lhs_start, rhs_start, len),
117 DataType::Int32 => dictionary_equal::<i32>(lhs, rhs, lhs_start, rhs_start, len),
118 DataType::Int64 => dictionary_equal::<i64>(lhs, rhs, lhs_start, rhs_start, len),
119 DataType::UInt8 => dictionary_equal::<u8>(lhs, rhs, lhs_start, rhs_start, len),

Callers 3

equal_rangeFunction · 0.85
equalFunction · 0.85
list_view_equalFunction · 0.85

Calls 10

null_equalFunction · 0.85
boolean_equalFunction · 0.85
fixed_binary_equalFunction · 0.85
byte_view_equalFunction · 0.85
fixed_list_equalFunction · 0.85
struct_equalFunction · 0.85
union_equalFunction · 0.85
run_equalFunction · 0.85
data_typeMethod · 0.45
as_refMethod · 0.45

Tested by

no test coverage detected