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

View File

@@ -65,7 +65,7 @@ class Server final
internal::Command::load({"web/internal/crypto.C"}); internal::Command::load({"web/internal/crypto.C"});
internal::g_HTTPServer->RegisterCommand( internal::g_HTTPServer->RegisterCommand(
"/rng_sample", "/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"}); internal::Command::load({"web/internal/meta.C"});