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

Method TestUnaligned

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

Source from the content-addressed store, hash-verified

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