[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);
- [Commit-gnuradio] [gnuradio] 27/28: basic: added dynamic delay block, (continued)
- [Commit-gnuradio] [gnuradio] 27/28: basic: added dynamic delay block, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 13/28: Volk: whoops, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 17/28: core: squashed in-place block work, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 07/28: basic add/mult const, needs test, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 15/28: basic: added super fast signal source, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 26/28: basic: use set_output_alignment in the basic math blocks, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 19/28: core: make in-place buffering enabled per port, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 22/28: filter: added 32f decimating fir + tweaks, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 18/28: basic: added stream selector block, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 05/28: basic: whoops, wrong operator, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 12/28: Volk: 32f_s32f_multiply_32f,
git <=
- [Commit-gnuradio] [gnuradio] 03/28: basic: added int16 data types and filled in float32, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 08/28: basic: working add/mult const blocks, block magic2 for static make, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 20/28: core: enable inplace on some core math blocks, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 28/28: just a bunch of tweaks, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 21/28: filter: initial commit of gr filter, made fir decim block, git, 2016/08/14