MCPcopy Create free account
hub / github.com/apache/arrow / VisitTwoArrayValuesInline

Function VisitTwoArrayValuesInline

cpp/src/arrow/compute/kernels/codegen_internal.h:507–524  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

505
506template <typename Arg0Type, typename Arg1Type, typename VisitFunc, typename NullFunc>
507static void VisitTwoArrayValuesInline(const ArraySpan& arr0, const ArraySpan& arr1,
508 VisitFunc&& valid_func, NullFunc&& null_func) {
509 ArrayIterator<Arg0Type> arr0_it(arr0);
510 ArrayIterator<Arg1Type> arr1_it(arr1);
511
512 auto visit_valid = [&](int64_t i) {
513 valid_func(GetViewType<Arg0Type>::LogicalValue(arr0_it()),
514 GetViewType<Arg1Type>::LogicalValue(arr1_it()));
515 };
516 auto visit_null = [&]() {
517 arr0_it();
518 arr1_it();
519 null_func();
520 };
521 VisitTwoBitBlocksVoid(arr0.buffers[0].data, arr0.offset, arr1.buffers[0].data,
522 arr1.offset, arr0.length, std::move(visit_valid),
523 std::move(visit_null));
524}
525
526// ----------------------------------------------------------------------
527// Reusable type resolvers

Callers

nothing calls this directly

Calls 1

VisitTwoBitBlocksVoidFunction · 0.85

Tested by

no test coverage detected