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

Function TEST

cpp/src/arrow/util/align_util_test.cc:88–130  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

86}
87
88TEST(BitmapWordAlign, AlignedDataStart) {
89 alignas(8) char buf[136] = {0};
90
91 // A 8-byte aligned pointer
92 const uint8_t* P = reinterpret_cast<const uint8_t*>(buf);
93 const uint8_t* A = P;
94
95 // {leading_bits, trailing_bits, trailing_bit_offset,
96 // aligned_start, aligned_bits, aligned_words}
97 CheckBitmapWordAlign<8>(P, 0, 0, {0, 0, 0, A, 0, 0});
98 CheckBitmapWordAlign<8>(P, 0, 13, {0, 13, 0, A, 0, 0});
99 CheckBitmapWordAlign<8>(P, 0, 63, {0, 63, 0, A, 0, 0});
100
101 CheckBitmapWordAlign<8>(P, 0, 64, {0, 0, 0, A, 64, 1});
102 CheckBitmapWordAlign<8>(P, 0, 73, {0, 9, 64, A, 64, 1});
103 CheckBitmapWordAlign<8>(P, 0, 191, {0, 63, 128, A, 128, 2});
104
105 CheckBitmapWordAlign<8>(P, 5, 0, {0, 0, 0, A, 0, 0});
106 CheckBitmapWordAlign<8>(P, 5, 13, {13, 0, 0, A, 0, 0});
107 CheckBitmapWordAlign<8>(P, 5, 59, {59, 0, 0, A, 0, 0});
108 CheckBitmapWordAlign<8>(P, 5, 60, {59, 1, 64, A, 0, 0});
109 CheckBitmapWordAlign<8>(P, 5, 64, {59, 5, 64, A, 0, 0});
110 CheckBitmapWordAlign<8>(P, 5, 122, {59, 63, 64, A, 0, 0});
111 CheckBitmapWordAlign<8>(P, 5, 123, {59, 0, 64, A + 8, 64, 1});
112 CheckBitmapWordAlign<8>(P, 5, 314, {59, 63, 256, A + 8, 192, 3});
113 CheckBitmapWordAlign<8>(P, 5, 315, {59, 0, 320, A + 8, 256, 4});
114
115 CheckBitmapWordAlign<8>(P, 63, 0, {0, 0, 0, A, 0, 0});
116 CheckBitmapWordAlign<8>(P, 63, 1, {1, 0, 0, A, 0, 0});
117 CheckBitmapWordAlign<8>(P, 63, 2, {1, 1, 64, A, 0, 0});
118 CheckBitmapWordAlign<8>(P, 63, 64, {1, 63, 64, A, 0, 0});
119 CheckBitmapWordAlign<8>(P, 63, 65, {1, 0, 128, A + 8, 64, 1});
120 CheckBitmapWordAlign<8>(P, 63, 128, {1, 63, 128, A + 8, 64, 1});
121 CheckBitmapWordAlign<8>(P, 63, 129, {1, 0, 192, A + 8, 128, 2});
122
123 CheckBitmapWordAlign<8>(P, 1024, 0, {0, 0, 0, A, 0, 0});
124 CheckBitmapWordAlign<8>(P, 1024, 130, {0, 2, 1152, A + 128, 128, 2});
125
126 CheckBitmapWordAlign<8>(P, 1025, 1, {1, 0, 0, A, 0, 0});
127 CheckBitmapWordAlign<8>(P, 1025, 63, {63, 0, 0, A, 0, 0});
128 CheckBitmapWordAlign<8>(P, 1025, 64, {63, 1, 1088, A, 0, 0});
129 CheckBitmapWordAlign<8>(P, 1025, 128, {63, 1, 1152, A + 136, 64, 1});
130}
131
132TEST(BitmapWordAlign, UnalignedDataStart) {
133 alignas(8) char buf[136] = {0};

Callers

nothing calls this directly

Calls 13

SliceBufferFunction · 0.85
EnsureAlignmentFunction · 0.85
default_memory_poolFunction · 0.85
RaisesFunction · 0.85
CreateUnalignedArrayFunction · 0.85
UInt8Method · 0.80
ASSERT_OK_AND_ASSIGNFunction · 0.70
CheckAlignmentFunction · 0.70
MakeFunction · 0.70
AllocateBufferFunction · 0.50
fieldFunction · 0.50
schemaFunction · 0.50

Tested by

no test coverage detected