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

Function MakeDistinctStrings

cpp/src/arrow/util/hashing_test.cc:68–86  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

66}
67
68static std::unordered_set<std::string> MakeDistinctStrings(int32_t n_values) {
69 std::unordered_set<std::string> values;
70 values.reserve(n_values);
71
72 // Generate strings between 0 and 24 bytes, with ASCII characters
73 std::default_random_engine gen(42);
74 std::uniform_int_distribution<int32_t> length_dist(0, 24);
75 std::uniform_int_distribution<uint32_t> char_dist('0', 'z');
76
77 while (values.size() < static_cast<uint32_t>(n_values)) {
78 auto length = length_dist(gen);
79 std::string s(length, 'X');
80 for (int32_t i = 0; i < length; ++i) {
81 s[i] = static_cast<uint8_t>(char_dist(gen));
82 }
83 values.insert(std::move(s));
84 }
85 return values;
86}
87
88template <typename T>
89static void CheckScalarHashQuality(const std::unordered_set<T>& distinct_values) {

Callers 1

TESTFunction · 0.85

Calls 3

reserveMethod · 0.45
sizeMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected