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

Function unpack_full

cpp/src/arrow/util/bpacking_dispatch_internal.h:42–53  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

40/// bits.
41template <typename Uint>
42ARROW_FORCE_INLINE void unpack_full(const uint8_t* in, Uint* out, int batch_size) {
43 if constexpr (ARROW_LITTLE_ENDIAN == 1) {
44 std::memcpy(out, in, batch_size * sizeof(Uint));
45 } else {
46 using bit_util::FromLittleEndian;
47 using util::SafeLoadAs;
48
49 for (int k = 0; k < batch_size; k += 1) {
50 out[k] = FromLittleEndian(SafeLoadAs<Uint>(in + (k * sizeof(Uint))));
51 }
52 }
53}
54
55/// Compute the maximum spread in bytes that a packed integer can cover.
56///

Callers 1

unpack_widthFunction · 0.85

Calls 1

FromLittleEndianFunction · 0.70

Tested by

no test coverage detected