root: macro: web: crypto: refactor class name

Intended to be used only for RNG.
This commit is contained in:
2024-07-20 21:38:38 -07:00
parent aeacc69788
commit 8eda51c6bc
2 changed files with 22 additions and 22 deletions

View File

@@ -56,19 +56,19 @@ namespace web
namespace internal
{
//! \ingroup cpp_macro_impl
//! \brief Cryptographical macro class
//! \brief RNG analysis macro
//! \since docker-finance 1.0.0
class Crypto final
class Random final
{
public:
Crypto() = default;
~Crypto() = default;
Random() = default;
~Random() = default;
Crypto(const Crypto&) = default;
Crypto& operator=(const Crypto&) = default;
Random(const Random&) = default;
Random& operator=(const Random&) = default;
Crypto(Crypto&&) = default;
Crypto& operator=(Crypto&&) = default;
Random(Random&&) = default;
Random& operator=(Random&&) = default;
private:
//! \since docker-finance 1.0.0
@@ -115,7 +115,7 @@ class Crypto final
//! \brief Make graph of values from given canvas data
//! \param canvas Previously instantiated canvas
//! \param data Populated canvas data for graph
static void graph_value(::TCanvas* canvas, const Crypto::CanvasData& data)
static void graph_value(::TCanvas* canvas, const Random::CanvasData& data)
{
// Graph: w/ lines
auto* gr1 = new ::TGraph(data.n, data.x.data(), data.y.data());
@@ -148,7 +148,7 @@ class Crypto final
//! \brief Make graph of value occurrences from given canvas data
//! \param canvas Previously instantiated canvas
//! \param data Populated canvas data for graph
static void graph_frequency(::TCanvas* canvas, const Crypto::CanvasData& data)
static void graph_frequency(::TCanvas* canvas, const Random::CanvasData& data)
{
// x = [0..0xffffffff]
// y = frequency of number (max = nbins)
@@ -186,7 +186,7 @@ class Crypto final
//! \brief Make 2D graph of prime numbers within given canvas data
//! \param canvas Previously instantiated canvas
//! \param data Populated canvas data for graph
static void graph_prime(::TCanvas* canvas, const Crypto::CanvasData& data)
static void graph_prime(::TCanvas* canvas, const Random::CanvasData& data)
{
canvas->cd(4);
auto* gr1 = new ::TGraph2D();
@@ -235,7 +235,7 @@ class Crypto final
template <typename t_generator>
static void histo_gauss(
::TCanvas* canvas,
const Crypto::CanvasData& data,
const Random::CanvasData& data,
const t_generator& generator)
{
canvas->cd(1);
@@ -250,7 +250,7 @@ class Crypto final
5.0); // TODO(unassigned): looks the best, would prefer more mathematical soundness
// Shove a CSPRNG into a Gaussian distribution
const Crypto::Generator<decltype(generator), uint32_t> gen(generator);
const Random::Generator<decltype(generator), uint32_t> gen(generator);
std::normal_distribution dist{0.0, 1.0};
for (size_t i{}; i < data.n; ++i)
@@ -261,7 +261,7 @@ class Crypto final
h1->Draw();
}
static void fun_facts(::TCanvas* canvas, const Crypto::CanvasData& data)
static void fun_facts(::TCanvas* canvas, const Random::CanvasData& data)
{
// TODO(unassigned): percent of prime / composite
@@ -305,7 +305,7 @@ class Crypto final
// TODO(unassigned): put in a `Random` subdir to separate from other functions
static void rng_sample(const std::string& size)
{
Crypto::CanvasData data{};
Random::CanvasData data{};
// TODO(unassigned): sanitize because:
// 1. only unsigned is desired
@@ -315,7 +315,7 @@ class Crypto final
data.y.resize(data.n);
auto random =
([](Crypto::CanvasData /* make copy */ data, const auto& generator) {
([](Random::CanvasData /* make copy */ data, const auto& generator) {
auto* c1 = new ::TCanvas(
std::string{"c1_" + data.title}.c_str(), "RNG analysis");
@@ -330,17 +330,17 @@ class Crypto final
data.y.at(i) = generator();
}
Crypto::graph_value(c1, data);
Crypto::graph_frequency(c1, data);
Crypto::graph_prime(c1, data);
Random::graph_value(c1, data);
Random::graph_frequency(c1, data);
Random::graph_prime(c1, data);
auto* c2 = new ::TCanvas(
std::string{"c2_" + data.title}.c_str(), "RNG analysis");
// TODO(unassigned): shift plots to the right so there's more space on the left and less on the right
c2->Divide(0, 2);
Crypto::histo_gauss<decltype(generator)>(c2, data, generator);
Crypto::fun_facts(c2, data);
Random::histo_gauss<decltype(generator)>(c2, data, generator);
Random::fun_facts(c2, data);
});
namespace utility = ::docker_finance::macro::internal::utility;

View File

@@ -65,7 +65,7 @@ class Server final
internal::Command::load({"web/internal/crypto.C"});
internal::g_HTTPServer->RegisterCommand(
"/rng_sample",
"::docker_finance::macro::web::internal::Crypto::rng_sample(\"%arg1%"
"::docker_finance::macro::web::internal::Random::rng_sample(\"%arg1%"
"\")");
internal::Command::load({"web/internal/meta.C"});