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

Method TestUnaligned

cpp/src/arrow/util/bitmap_test.cc:1101–1130  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1099 }
1100
1101 void TestUnaligned(const BitmapOperation& op, const std::vector<int>& left_bits,
1102 const std::vector<int>& right_bits,
1103 const std::vector<int>& result_bits) {
1104 std::shared_ptr<Buffer> left, right, out;
1105 int64_t length;
1106 auto offset_values = {0, 1, 3, 5, 7, 8, 13, 21, 38, 75, 120, 65536};
1107
1108 for (int64_t left_offset : offset_values) {
1109 BitmapFromVector(left_bits, left_offset, &left, &length);
1110
1111 for (int64_t right_offset : offset_values) {
1112 BitmapFromVector(right_bits, right_offset, &right, &length);
1113
1114 for (int64_t out_offset : offset_values) {
1115 ASSERT_OK_AND_ASSIGN(
1116 out, op.Call(default_memory_pool(), left->mutable_data(), left_offset,
1117 right->mutable_data(), right_offset, length, out_offset));
1118 auto reader = BitmapReader(out->mutable_data(), out_offset, length);
1119 ASSERT_READER_VALUES(reader, result_bits);
1120
1121 // Clear out buffer and try non-allocating version
1122 std::memset(out->mutable_data(), 0, out->size());
1123 ASSERT_OK(op.Call(left->mutable_data(), left_offset, right->mutable_data(),
1124 right_offset, length, out_offset, out->mutable_data()));
1125 reader = BitmapReader(out->mutable_data(), out_offset, length);
1126 ASSERT_READER_VALUES(reader, result_bits);
1127 }
1128 }
1129 }
1130 }
1131};
1132
1133TEST_F(BitmapOp, And) {

Callers

nothing calls this directly

Calls 8

default_memory_poolFunction · 0.85
ASSERT_READER_VALUESFunction · 0.85
BitmapFromVectorFunction · 0.70
ASSERT_OK_AND_ASSIGNFunction · 0.70
BitmapReaderClass · 0.70
CallMethod · 0.45
mutable_dataMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected