From 791c9790630d43a08d651c1927ae3539a97f25ad Mon Sep 17 00:00:00 2001 From: Xavier Arteaga Date: Wed, 21 Oct 2020 17:10:54 +0200 Subject: [PATCH] Vector: fix cf to cs conjugate conversion --- lib/src/phy/utils/test/vector_test.c | 2 +- lib/src/phy/utils/vector_simd.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/src/phy/utils/test/vector_test.c b/lib/src/phy/utils/test/vector_test.c index 0f4fa9176..9b659d216 100644 --- a/lib/src/phy/utils/test/vector_test.c +++ b/lib/src/phy/utils/test/vector_test.c @@ -414,7 +414,7 @@ TEST( short gold_re; short gold_im; - for (int i = 0; i < block_size; i++) { x[i] = (float)RANDOM_CF(); } + for (int i = 0; i < block_size; i++) { x[i] = RANDOM_CF(); } TEST_CALL(srslte_vec_convert_conj_cs(x, scale, z, block_size)) diff --git a/lib/src/phy/utils/vector_simd.c b/lib/src/phy/utils/vector_simd.c index 4e15cae39..1a37d75d2 100644 --- a/lib/src/phy/utils/vector_simd.c +++ b/lib/src/phy/utils/vector_simd.c @@ -513,7 +513,9 @@ void srslte_vec_convert_conj_cs_simd(const cf_t* x_, int16_t* z, const float sca #endif /* SRSLTE_SIMD_F_SIZE && SRSLTE_SIMD_S_SIZE */ for (; i < len; i++) { - z[i] = (int16_t)(conjf(x[i]) * scale); + z[i] = (int16_t)(x[i] * scale); + i++; + z[i] = (int16_t)(x[i] * -scale); } }