1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-12-14 20:20:35 +00:00

Workaround for volk-gnsssdr-windows CI job

This commit is contained in:
Carles Fernandez 2021-04-17 14:10:14 +02:00
parent 765d547e3b
commit 5f1268959e
No known key found for this signature in database
GPG Key ID: 4C583C52B0C3877D

View File

@ -72,6 +72,9 @@ static inline void volk_gnsssdr_32fc_32f_high_dynamic_rotator_dot_prod_32fc_xn_g
lv_32fc_t phase_doppler = (*phase); lv_32fc_t phase_doppler = (*phase);
int n_vec; int n_vec;
unsigned int n; unsigned int n;
#if _WIN32
const float arga = cargf(phase_inc_rate);
#endif
for (n_vec = 0; n_vec < num_a_vectors; n_vec++) for (n_vec = 0; n_vec < num_a_vectors; n_vec++)
{ {
result[n_vec] = lv_cmake(0.0f, 0.0f); result[n_vec] = lv_cmake(0.0f, 0.0f);
@ -89,8 +92,13 @@ static inline void volk_gnsssdr_32fc_32f_high_dynamic_rotator_dot_prod_32fc_xn_g
} }
tmp32_1 = *in_common++ * (*phase); tmp32_1 = *in_common++ * (*phase);
phase_doppler *= phase_inc; phase_doppler *= phase_inc;
#if _WIN32
const float theta = (float)(n * n) * arga;
phase_doppler_rate = lv_cmake(cosf(theta), sinf(theta));
#else
phase_doppler_rate = cpowf(phase_inc_rate, lv_cmake((float)(n * n), 0.0f)); phase_doppler_rate = cpowf(phase_inc_rate, lv_cmake((float)(n * n), 0.0f));
phase_doppler_rate /= hypotf(lv_creal(phase_doppler_rate), lv_cimag(phase_doppler_rate)); phase_doppler_rate /= hypotf(lv_creal(phase_doppler_rate), lv_cimag(phase_doppler_rate));
#endif
(*phase) = phase_doppler * phase_doppler_rate; (*phase) = phase_doppler * phase_doppler_rate;
for (n_vec = 0; n_vec < num_a_vectors; n_vec++) for (n_vec = 0; n_vec < num_a_vectors; n_vec++)