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

Method ProcessLastStripe

cpp/src/arrow/compute/key_hash_internal.cc:73–89  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

71}
72
73inline void Hashing32::ProcessLastStripe(uint32_t mask1, uint32_t mask2, uint32_t mask3,
74 uint32_t mask4, const uint8_t* last_stripe,
75 uint32_t* acc1, uint32_t* acc2, uint32_t* acc3,
76 uint32_t* acc4) {
77 uint32_t stripe1 = util::SafeLoadAs<const uint32_t>(last_stripe);
78 uint32_t stripe2 = util::SafeLoadAs<const uint32_t>(last_stripe + sizeof(uint32_t));
79 uint32_t stripe3 = util::SafeLoadAs<const uint32_t>(last_stripe + 2 * sizeof(uint32_t));
80 uint32_t stripe4 = util::SafeLoadAs<const uint32_t>(last_stripe + 3 * sizeof(uint32_t));
81 stripe1 &= mask1;
82 stripe2 &= mask2;
83 stripe3 &= mask3;
84 stripe4 &= mask4;
85 *acc1 = Round(*acc1, stripe1);
86 *acc2 = Round(*acc2, stripe2);
87 *acc3 = Round(*acc3, stripe3);
88 *acc4 = Round(*acc4, stripe4);
89}
90
91inline void Hashing32::StripeMask(int i, uint32_t* mask1, uint32_t* mask2,
92 uint32_t* mask3, uint32_t* mask4) {

Callers

nothing calls this directly

Calls 1

RoundFunction · 0.70

Tested by

no test coverage detected