Wayverb
simulation_parameters.h
1 #pragma once
2 
3 #include <cstdlib>
4 #include <tuple>
5 
6 namespace wayverb {
7 namespace raytracer {
8 
9 struct simulation_parameters final {
13  size_t rays;
14 
24 
29  double receiver_radius = 0.1;
30 
33  double histogram_sample_rate = 1000;
34 };
35 
36 constexpr auto to_tuple(const simulation_parameters& x) {
37  return std::tie(x.rays, x.maximum_image_source_order);
38 }
39 
40 constexpr bool operator==(const simulation_parameters& a,
41  const simulation_parameters& b) {
42  return to_tuple(a) == to_tuple(b);
43 }
44 
45 constexpr bool operator!=(const simulation_parameters& a,
46  const simulation_parameters& b) {
47  return !(a == b);
48 }
49 
50 } // namespace raytracer
51 } // namespace wayverb
double histogram_sample_rate
Definition: simulation_parameters.h:33
double receiver_radius
Definition: simulation_parameters.h:29
size_t maximum_image_source_order
Definition: simulation_parameters.h:23
size_t rays
Definition: simulation_parameters.h:13
Definition: pressure.h:22
Definition: capsule_base.h:9
Definition: simulation_parameters.h:9