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

Function MakeSimilarIntDictFodder

cpp/src/arrow/builder_benchmark.cc:274–286  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

272// entries as only their highest bits differ.
273template <class Integer = ValueType>
274static std::vector<Integer> MakeSimilarIntDictFodder() {
275 std::default_random_engine gen(42);
276 std::vector<Integer> values(kNumberOfElements);
277 {
278 std::uniform_int_distribution<Integer> values_dist(0, kDistinctElements - 1);
279 auto max_int = std::numeric_limits<Integer>::max();
280 auto multiplier =
281 static_cast<Integer>(bit_util::NextPower2(max_int / kDistinctElements / 2));
282 std::generate(values.begin(), values.end(),
283 [&]() { return multiplier * values_dist(gen); });
284 }
285 return values;
286}
287
288// Make a vector out of `n_distinct` random int values
289template <class Integer = ValueType>

Callers 1

Calls 3

NextPower2Function · 0.85
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected