ampsci
High-precision calculations for one- and two-valence atomic systems
Random.hpp
1#pragma once
2#include <iostream>
3#include <random>
4#include <string>
5
6namespace qip {
7
8//! Returns a random alphanumeric string of the given length.
9inline std::string random_string(std::size_t length) {
10 std::string out;
11 out.reserve(length);
12 const std::string chars{
13 "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"};
14 std::uniform_int_distribution<std::size_t> rint(0, chars.size() - 1);
15 std::random_device rd;
16 std::mt19937 gen(rd());
17 for (std::size_t i = 0; i < length; ++i) {
18 out.push_back(chars[rint(gen)]);
19 }
20 return out;
21}
22
23} // namespace qip
General-purpose utility library.
Definition Array.hpp:23
std::string random_string(std::size_t length)
Returns a random alphanumeric string of the given length.
Definition Random.hpp:9