@@ -18,7 +18,6 @@ struct sample {
1818 double x;
1919 double y;
2020 double mag;
21- double phase;
2221};
2322
2423double normalize_phase (double phase) {
@@ -47,7 +46,6 @@ std::vector<sample> make_samples(std::size_t count) {
4746 value.x = radius * std::cos (angle);
4847 value.y = radius * std::sin (angle);
4948 value.mag = radius;
50- value.phase = normalize_phase (angle);
5149 }
5250 return samples;
5351}
@@ -64,29 +62,6 @@ double time_loop(const std::vector<sample>& samples, Func func, double& sink) {
6462 return std::chrono::duration<double >(stop - start).count ();
6563}
6664
67- #if BRUUN_LEVEL >= 1
68- double time_vec5_pair_loop (const std::vector<sample>& samples, double & sink) {
69- const auto start = std::chrono::steady_clock::now ();
70- double total = 0.0 ;
71- std::size_t i = 0 ;
72- for (; i + 1 < samples.size (); i += 2 ) {
73- double phase0;
74- double phase1;
75- bruun::bruun_phase_atan2_mag_pair (samples[i].y , samples[i].x , samples[i].mag ,
76- samples[i + 1 ].y , samples[i + 1 ].x , samples[i + 1 ].mag ,
77- &phase0, &phase1);
78- total += phase0 + phase1;
79- }
80- for (; i < samples.size (); ++i) {
81- total += bruun::bruun_phase_atan2_core (samples[i].y , samples[i].x , samples[i].mag ,
82- bruun::bruun_phase_first_octant_vec5_cubic);
83- }
84- const auto stop = std::chrono::steady_clock::now ();
85- sink += total;
86- return std::chrono::duration<double >(stop - start).count ();
87- }
88- #endif
89-
9065} // namespace
9166
9267int main (int argc, char ** argv) {
@@ -111,15 +86,6 @@ int main(int argc, char** argv) {
11186 return bruun::bruun_phase_atan2_mag (value.y , value.x , value.mag );
11287 }, sink);
11388
114- const double bfft_vec_double_seconds = time_loop (samples, [](const sample& value) {
115- return bruun::bruun_phase_atan2_core (value.y , value.x , value.mag ,
116- bruun::bruun_phase_first_octant_vec5_cubic);
117- }, sink);
118-
119- #if BRUUN_LEVEL >= 1
120- const double bfft_vec_pair_double_seconds = time_vec5_pair_loop (samples, sink);
121- #endif
122-
12389 const double std_float_seconds = time_loop (samples, [](const sample& value) {
12490 const float y = static_cast <float >(value.y );
12591 const float x = static_cast <float >(value.x );
@@ -136,20 +102,7 @@ int main(int argc, char** argv) {
136102 const float y = static_cast <float >(value.y );
137103 const float x = static_cast <float >(value.x );
138104 const float mag = static_cast <float >(value.mag );
139- const double phase = bruun::bruun_phase_atan2_core (y, x, mag,
140- bruun::bruun_phase_first_octant_vec5_cubic);
141- return static_cast <float >(phase);
142- }, sink);
143-
144- const double std_sincos_seconds = time_loop (samples, [](const sample& value) {
145- return std::sin (value.phase ) + std::cos (value.phase );
146- }, sink);
147-
148- const double bfft_sincos_seconds = time_loop (samples, [](const sample& value) {
149- double s_value;
150- double c_value;
151- bruun::bruun_table256_poly3_sincos (value.phase , &s_value, &c_value);
152- return s_value + c_value;
105+ return bruun::bruun_phase_atan2_mag_f32 (y, x, mag);
153106 }, sink);
154107
155108 const double std_sincos_seconds = time_loop (samples, [](const sample& value) {
0 commit comments