#include "utk/metrics/PCF.hpp" #include "utk/metrics/RDF_Heck.hpp" #include "utk/samplers/SamplerStep_Custom.hpp" #include #include #include #include #include #include #include #include #define DIMENSION 1025 #define NSAMPLES 4096 #define NBINS 1000 #define SEED 8970 template void writeSpectrumToFile(const std::string &filename, std::vector spectrum) { std::ofstream file; file.open(filename); file << DIMENSION << std::endl; for (auto freq: spectrum) { file << std::setprecision(std::numeric_limits::digits10 + 2) << std::fixed; file << freq << std::endl; } } template void writePCFToFile(const std::string &filename, std::vector spectrum) { std::ofstream file; file.open(filename); for (auto freq: spectrum) { file << std::setprecision(std::numeric_limits::digits10 + 2) << std::fixed; file << freq << std::endl; } } template void writeRadspecToFile(const std::string &filename, std::pair, std::vector> radspec) { std::ofstream file; file.open(filename); auto xs = radspec.first; auto ys = radspec.second; if (xs.size() != ys.size()) { std::cerr << "Dimensions of radial spactrum are unequal: xDim: " << xs.size() << " yDim: " << ys.size() << std::endl; std::terminate(); } for (int i = 0; i < xs.size(); ++i) { file << std::setprecision(std::numeric_limits::digits10 + 2) << std::fixed; file << xs[i] << ", " << ys[i] << std::endl; } } template void writeRDFtoFile(const std::string &filename, std::pair, std::vector> radspec) { std::ofstream file; file.open(filename); auto xs = radspec.first; auto ys = radspec.second; if (xs.size() != ys.size()) { std::cerr << "Dimensions of radial spectrum are unequal: xDim: " << xs.size() << " yDim: " << ys.size() << std::endl; std::terminate(); } for (int i = 0; i < xs.size(); ++i) { file << std::setprecision(std::numeric_limits::digits10 + 2) << std::fixed; file << xs[i] << ", " << ys[i] << std::endl; } } int main() { utk::Pointset blueNoise{}; utk::Pointset whiteNoise{}; utk::Pointset pointset; float criticalFrequency = 0.606f; float smoothing = 8.f; utk::CustomHeckSampler sampler(criticalFrequency, smoothing, 0.5); sampler.setRandomSeed(1024); if (!sampler.generateSamples(pointset, 512)) { std::cerr << "Sampler returned non-zero output" << std::endl;// No log here, must be visible whatsoever return 1; } return 0; }