23#ifndef MONTECARLO_1_BENCHMARKS_HPP
24#define MONTECARLO_1_BENCHMARKS_HPP
70void saveResults(
const std::string &filename,
const std::vector<results> &
results,
const std::string &function_expr);
139void runBenchmarks(
const std::string& expression,
bool useGnuplot);
Genetic Algorithm (GA) interface and data structures.
Importance sampling Monte Carlo integration engine.
Classic Monte Carlo integration engine.
Metropolis-Hastings MCMC Monte Carlo integration engine.
Particle Swarm Optimization (PSO) interface and data structures.
void runBenchmarks(bool useGnuplot)
Run integration benchmarks with hardcoded integrands.
void cylinderIntegration()
3D cylindrical integration: hypercylinder base with height
void twelveDimIntegration()
12-dimensional integration benchmark
void runOptimizationBenchmarksGA()
void fourDimIntegration()
4-dimensional integration benchmark
void eightDimIntegration()
8-dimensional integration benchmark
void saveResults(const std::string &filename, const std::vector< results > &results, const std::string &function_expr)
Save benchmark results to a CSV file.
void parallelepipedIntegration()
3D parallelepiped (rectangular box) integration
void fiveDimIntegration()
5-dimensional integration benchmark
const std::vector< size_t > n_samples_vector
Global benchmark configuration.
void sphereIntegration()
3D spherical integration: f(x,y,z) = x²+y²+z² over unit ball
unsigned int n_threads
Global OpenMP thread count (set at runtime)
void runBenchmarksMH()
Run Metropolis-Hastings MCMC integration benchmarks.
void rectangularIntegration()
2D rectangular integration over axis-aligned box
void uniDimIntegration()
1D integration test: f(x) = x²
void circleIntegration()
2D circular integration: f(x,y) = x²+y² over unit disk
void runOptimizationBenchmarksPSO()
Core geometric types for Monte Carlo integration.
N-dimensional hypercylinder (infinite cylinder in discrete dimensions).
Axis-aligned hyperrectangular domain in N dimensions.
N-dimensional hypersphere (solid ball) domain.
Stores benchmark result for a single sample count.
std::string integration_result