9 static constexpr int32_t num_warehouses = 10;
10 static constexpr int32_t districts_per_warehouse = 10;
11 static constexpr int32_t customers_per_district = 10;
12 static constexpr int32_t num_items = 100;
15 static constexpr int DATETIME_SIZE = 14;
16 static constexpr std::array<char, tpcc::DATETIME_SIZE + 1> tx_time = {
20 static void make_last_name(
int num,
char* name)
22 static const char*
const SYLLABLES[] = {
34 static const int LENGTHS[] = {
47 int indicies[] = {num / 100, (num / 10) % 10, num % 10};
50 for (uint32_t i = 0; i <
sizeof(indicies) /
sizeof(*indicies); ++i)
54 SYLLABLES[indicies[i]],
55 static_cast<size_t>(LENGTHS[indicies[i]]));
56 offset += LENGTHS[indicies[i]];
61 static float random_float(
float min,
float max, std::mt19937& rand_generator)
67 std::uniform_real_distribution<float> dist(min, max);
68 return dist(rand_generator);
71 static uint32_t random_int(
72 uint32_t min, uint32_t max, std::mt19937& rand_generator)
78 std::uniform_int_distribution<uint32_t> dist(min, max - 1);
79 return dist(rand_generator);
82 static int32_t random_int_excluding(
83 int lower,
int upper,
int excluding, std::mt19937& rand_generator)
85 int num = random_int(lower, upper - 1, rand_generator);