1 #ifndef BENCHMARK_UTILITIES_H
2 #define BENCHMARK_UTILITIES_H
5 #include <benchmark/benchmark.h>
8 #include <sopt/mpi/communicator.h>
15 void Arguments(benchmark::internal::Benchmark* b);
17 double duration(std::chrono::high_resolution_clock::time_point start,
18 std::chrono::high_resolution_clock::time_point end);
20 bool updateImage(t_uint newSize, Image<t_complex>& image, t_uint& sizex, t_uint& sizey);
21 bool updateEmptyImage(t_uint newSize, Vector<t_complex>& image, t_uint& sizex, t_uint& sizey);
25 Image<t_complex>& image);
28 Image<t_complex>
const& ground_truth_image, t_uint number_of_vis, t_real snr,
29 const t_real& cellsize);
32 const bool cache_visibilities =
false);
34 double duration(std::chrono::high_resolution_clock::time_point start,
35 std::chrono::high_resolution_clock::time_point end,
36 sopt::mpi::Communicator
const& comm);
39 Image<t_complex>& image, sopt::mpi::Communicator& comm);
41 Image<t_complex>
const& ground_truth_image, t_uint number_of_vis, t_real snr,
42 const t_real& cellsize, sopt::mpi::Communicator
const& comm);
45 void update_comm(sopt::mpi::Communicator& comm);
bool updateMeasurements(t_uint newSize, utilities::vis_params &data)
bool updateImage(t_uint newSize, Image< t_complex > &image, t_uint &sizex, t_uint &sizey)
std::tuple< utilities::vis_params, t_real > dirty_measurements(Image< t_complex > const &ground_truth_image, t_uint number_of_vis, t_real snr, const t_real &cellsize)
bool updateEmptyImage(t_uint newSize, Vector< t_complex > &image, t_uint &sizex, t_uint &sizey)
void Arguments(benchmark::internal::Benchmark *b)
double duration(std::chrono::high_resolution_clock::time_point start, std::chrono::high_resolution_clock::time_point end)
utilities::vis_params random_measurements(t_int size, const t_real max_w, const t_int id, const bool cache_visibilities)