commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] [gnuradio] 12/28: Volk: 32f_s32f_multiply_32f


From: git
Subject: [Commit-gnuradio] [gnuradio] 12/28: Volk: 32f_s32f_multiply_32f
Date: Mon, 15 Aug 2016 00:47:05 +0000 (UTC)

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

nwest pushed a commit to annotated tag gr_basic_work
in repository gnuradio.

commit 3faa77883170ff4f3ddde1162eb1fb82f78b2254
Author: Nick Foster <address@hidden>
Date:   Wed Nov 9 12:46:00 2011 -0800

    Volk: 32f_s32f_multiply_32f
---
 volk/apps/volk_profile.cc                        |  1 +
 volk/include/volk/volk_32f_s32f_multiply_32f_a.h | 44 ++++++++++++++++++++++++
 volk/lib/testqa.cc                               |  1 +
 3 files changed, 46 insertions(+)

diff --git a/volk/apps/volk_profile.cc b/volk/apps/volk_profile.cc
index 86bf721..674ab71 100644
--- a/volk/apps/volk_profile.cc
+++ b/volk/apps/volk_profile.cc
@@ -103,6 +103,7 @@ int main(int argc, char *argv[]) {
     VOLK_PROFILE(volk_8i_s32f_convert_32f_a, 1e-4, 100, 204600, 2000, 
&results);
     VOLK_PROFILE(volk_8i_s32f_convert_32f_u, 1e-4, 100, 204600, 2000, 
&results);
     VOLK_PROFILE(volk_32fc_s32fc_multiply_32fc_a, 1e-4, 0, 204600, 1000, 
&results);
+    VOLK_PROFILE(volk_32f_s32f_multiply_32f_a, 1e-4, 0, 204600, 1000, 
&results);
 
     char path[256];
     get_config_path(path);
diff --git a/volk/include/volk/volk_32f_s32f_multiply_32f_a.h 
b/volk/include/volk/volk_32f_s32f_multiply_32f_a.h
new file mode 100644
index 0000000..6aef173
--- /dev/null
+++ b/volk/include/volk/volk_32f_s32f_multiply_32f_a.h
@@ -0,0 +1,44 @@
+#ifndef INCLUDED_volk_32f_s32f_multiply_32f_a_H
+#define INCLUDED_volk_32f_s32f_multiply_32f_a_H
+
+#include <inttypes.h>
+#include <stdio.h>
+
+#ifdef LV_HAVE_GENERIC
+/*!
+  \brief Scalar float multiply
+  \param cVector The vector where the results will be stored
+  \param aVector One of the vectors to be multiplied
+  \param scalar the scalar value
+  \param num_points The number of values in aVector and bVector to be 
multiplied together and stored into cVector
+*/
+static inline void volk_32f_s32f_multiply_32f_a_generic(float* cVector, float* 
aVector, const float scalar, unsigned int num_points){
+  unsigned int number = 0;
+  float* inputPtr = aVector;
+  float* outputPtr = cVector;
+  for(number = 0; number < num_points; number++){
+    *outputPtr = (*inputPtr) * scalar;
+    inputPtr++;
+    outputPtr++;
+  }
+}
+#endif /* LV_HAVE_GENERIC */
+
+#ifdef LV_HAVE_ORC
+/*!
+  \brief Scalar float multiply
+  \param cVector The vector where the results will be stored
+  \param aVector One of the vectors to be multiplied
+  \param scalar the scalar value
+  \param num_points The number of values in aVector and bVector to be 
multiplied together and stored into cVector
+*/
+extern void volk_32f_s32f_multiply_32f_a_orc_impl(float* dst, float* src, 
const float scalar, unsigned int num_points);
+static inline void volk_32f_s32f_multiply_32f_a_orc(float* cVector, float* 
aVector, const float scalar, unsigned int num_points){
+    volk_32f_s32f_multiply_32f_a_orc_impl(cVector, aVector, scalar, 
num_points);
+}
+#endif /* LV_HAVE_GENERIC */
+
+
+
+
+#endif /* INCLUDED_volk_32f_s32f_multiply_32f_a_H */
diff --git a/volk/lib/testqa.cc b/volk/lib/testqa.cc
index 9d1d1bc..cd9f38d 100644
--- a/volk/lib/testqa.cc
+++ b/volk/lib/testqa.cc
@@ -4,6 +4,7 @@
 
 //VOLK_RUN_TESTS(volk_16i_x5_add_quad_16i_x4_a, 1e-4, 2046, 10000);
 //VOLK_RUN_TESTS(volk_16i_branch_4_state_8_a, 1e-4, 2046, 10000);
+VOLK_RUN_TESTS(volk_32f_s32f_multiply_32f_a, 1e-4, 0, 204600, 10000);
 VOLK_RUN_TESTS(volk_32fc_s32fc_multiply_32fc_a, 1e-4, 0, 20460, 10000);
 VOLK_RUN_TESTS(volk_16ic_s32f_deinterleave_real_32f_a, 1e-5, 32768.0, 204600, 
10000);
 VOLK_RUN_TESTS(volk_16ic_deinterleave_real_8i_a, 0, 0, 20460, 10000);



reply via email to

[Prev in Thread] Current Thread [Next in Thread]