[hamradio-commits] [gnss-sdr] 103/149: Fix seg fault on some architectures in gnss-sdr volk 32fc convert to 16ic module

Carles Fernandez carles_fernandez-guest at moszumanska.debian.org
Sat Feb 6 19:43:08 UTC 2016


This is an automated email from the git hooks/post-receive script.

carles_fernandez-guest pushed a commit to branch next
in repository gnss-sdr.

commit 02a6f417946ab135d92fd6340ddc1a06f51917e5
Author: Javier Arribas <javiarribas at gmail.com>
Date:   Thu Jan 21 11:21:25 2016 +0100

    Fix seg fault on some architectures in gnss-sdr volk 32fc convert to
    16ic module
---
 .../volk_gnsssdr/volk_gnsssdr_32fc_convert_16ic.h  | 49 +++++++++++-----------
 1 file changed, 24 insertions(+), 25 deletions(-)

diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_convert_16ic.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_convert_16ic.h
index 1bcf919..21e1503 100644
--- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_convert_16ic.h
+++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_convert_16ic.h
@@ -144,31 +144,6 @@ static inline void volk_gnsssdr_32fc_convert_16ic_u_sse(lv_16sc_t* outputVector,
 }
 #endif /* LV_HAVE_SSE */
 
-#ifdef LV_HAVE_GENERIC
-/*!
- \brief Converts a float vector of 64 bits (32 bits each part) into a 32 integer vector (16 bits each part)
- \param inputVector The floating point input data buffer
- \param outputVector The 16 bit output data buffer
- \param num_points The number of data values to be converted
- */
-static inline void volk_gnsssdr_32fc_convert_16ic_generic(lv_16sc_t* outputVector, const lv_32fc_t* inputVector, unsigned int num_points)
-{
-    float* inputVectorPtr = (float*)inputVector;
-    int16_t* outputVectorPtr = (int16_t*)outputVector;
-    float min_val = -32768;
-    float max_val = 32767;
-
-    for(unsigned int i = 0; i < num_points*2; i++)
-        {
-            if(inputVectorPtr[i] > max_val)
-                inputVectorPtr[i] = max_val;
-            else if(inputVectorPtr[i] < min_val)
-                inputVectorPtr[i] = min_val;
-            outputVectorPtr[i] = (int16_t)rintf(inputVectorPtr[i]);
-        }
-}
-#endif /* LV_HAVE_GENERIC */
-
 
 #ifdef LV_HAVE_SSE2
 #include <emmintrin.h>
@@ -276,4 +251,28 @@ static inline void volk_gnsssdr_32fc_convert_16ic_a_sse(lv_16sc_t* outputVector,
 }
 #endif /* LV_HAVE_SSE */
 
+#ifdef LV_HAVE_GENERIC
+/*!
+ \brief Converts a float vector of 64 bits (32 bits each part) into a 32 integer vector (16 bits each part)
+ \param inputVector The floating point input data buffer
+ \param outputVector The 16 bit output data buffer
+ \param num_points The number of data values to be converted
+ */
+static inline void volk_gnsssdr_32fc_convert_16ic_generic(lv_16sc_t* outputVector, const lv_32fc_t* inputVector, unsigned int num_points)
+{
+    float* inputVectorPtr = (float*)inputVector;
+    int16_t* outputVectorPtr = (int16_t*)outputVector;
+    float min_val = -32768;
+    float max_val = 32767;
+
+    for(unsigned int i = 0; i < num_points*2; i++)
+        {
+            if(inputVectorPtr[i] > max_val)
+                inputVectorPtr[i] = max_val;
+            else if(inputVectorPtr[i] < min_val)
+                inputVectorPtr[i] = min_val;
+            outputVectorPtr[i] = (int16_t)rintf(inputVectorPtr[i]);
+        }
+}
+#endif /* LV_HAVE_GENERIC */
 #endif /* INCLUDED_volk_gnsssdr_32fc_convert_16ic_H */

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-hamradio/gnss-sdr.git



More information about the pkg-hamradio-commits mailing list