summaryrefslogtreecommitdiff
path: root/volk
diff options
context:
space:
mode:
authorNick Foster2011-01-21 11:20:08 -0800
committerNick Foster2011-01-21 11:25:15 -0800
commitb6850bbdaeab5ce85d2414cfa9c8344fb6f91883 (patch)
treea734ff207bf91945bc7157dba35829a11a7653a8 /volk
parente3600f59e76c3dc08aedfd77629b7c5c48df86af (diff)
parentd429522b8cc0916c0dd8167284e9f7373f8c1663 (diff)
downloadgnuradio-b6850bbdaeab5ce85d2414cfa9c8344fb6f91883.tar.gz
gnuradio-b6850bbdaeab5ce85d2414cfa9c8344fb6f91883.tar.bz2
gnuradio-b6850bbdaeab5ce85d2414cfa9c8344fb6f91883.zip
Merge branch 'next' of http://gnuradio.org/git/gnuradio into volk_rename
Conflicts: volk/lib/Makefile.am
Diffstat (limited to 'volk')
-rw-r--r--volk/Makefile.am2
-rw-r--r--volk/Makefile.common30
-rw-r--r--volk/configure.ac9
-rw-r--r--volk/include/volk/Makefile.am26
-rw-r--r--volk/include/volk/make_cpuid_generic_c.py26
-rw-r--r--volk/include/volk/make_cpuid_h.py25
-rw-r--r--volk/include/volk/make_cpuid_powerpc_c.py26
-rw-r--r--volk/include/volk/make_cpuid_x86_c.py27
-rw-r--r--volk/include/volk/make_proccpu_sim.py22
-rw-r--r--volk/lib/Makefile.am80
-rw-r--r--volk/lib/testqa.cc101
11 files changed, 266 insertions, 108 deletions
diff --git a/volk/Makefile.am b/volk/Makefile.am
index 271d495cd..03c5aac35 100644
--- a/volk/Makefile.am
+++ b/volk/Makefile.am
@@ -1,5 +1,5 @@
#
-# Copyright 2004,2008 Free Software Foundation, Inc.
+# Copyright 2004,2008,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
diff --git a/volk/Makefile.common b/volk/Makefile.common
index 083f6f710..daa8d78b6 100644
--- a/volk/Makefile.common
+++ b/volk/Makefile.common
@@ -1,6 +1,6 @@
# -*- Makefile -*-
#
-# Copyright 2010 Free Software Foundation, Inc.
+# Copyright 2010,2011 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -20,6 +20,33 @@
# Boston, MA 02110-1301, USA.
#
+if MD_CPU_generic
+ platform_CODE = \
+ $(top_srcdir)/lib/volk_cpu_generic.c
+endif
+
+if MD_CPU_x86
+if MD_SUBCPU_x86_64
+ platform_CODE = \
+ $(top_srcdir)/lib/volk_cpu_x86.c \
+ $(top_srcdir)/lib/cpuid_x86_64.S
+endif
+endif
+
+if MD_CPU_x86
+if !MD_SUBCPU_x86_64
+ platform_CODE = \
+ $(top_srcdir)/lib/volk_cpu_x86.c \
+ $(top_srcdir)/lib/cpuid_x86.S
+endif
+endif
+
+if MD_CPU_powerpc
+ platform_CODE = \
+ $(top_srcdir)/lib/volk_cpu_powerpc.c
+endif
+
+
ourincludedir = $(includedir)/volk
# swig includes
@@ -44,3 +71,4 @@ STD_DEFINES_AND_INCLUDES=-I$(top_srcdir)/include -I$(top_srcdir)/lib $(GNURADIO
# not. We define it now in configure.ac using AM_PATH_PROG, but now
# here have to add a -f to be like GNU make.
RM=$(RM_PROG) -f
+
diff --git a/volk/configure.ac b/volk/configure.ac
index 5a1eac3f2..ebbebb7d2 100644
--- a/volk/configure.ac
+++ b/volk/configure.ac
@@ -1,5 +1,5 @@
dnl
-dnl Copyright 2010 Free Software Foundation, Inc.
+dnl Copyright 2010,2011 Free Software Foundation, Inc.
dnl
dnl This program is free software: you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
@@ -63,13 +63,6 @@ dnl AX_BOOST_WSERIALIZATION
AC_CONFIG_HEADERS([volk_config.h])
LV_SET_SIMD_FLAGS
-# FIXME: Not very extensible to supporting more processors easily
-AM_CONDITIONAL([MYCPU_X86], [test "$MD_CPU" = "x86"])
-AM_CONDITIONAL([MYSUBCPU_X86], [test "$MD_SUBCPU" = "x86"])
-AM_CONDITIONAL([MYSUBCPU_X86_64], [test "$MD_SUBCPU" = "x86_64"])
-AM_CONDITIONAL([MYSUBCPU_POWERPC], [test "$MD_SUBCPU" = "powerpc"])
-AM_CONDITIONAL([MYSUBCPU_GENERIC], [test "$MD_SUBCPU" != "powerpc" && test "$MD_SUBCPU" != "x86" && test "$MD_SUBCPU" != "x86_64"])
-
AC_CONFIG_FILES([\
Makefile \
config/Makefile \
diff --git a/volk/include/volk/Makefile.am b/volk/include/volk/Makefile.am
index 43c8ae9df..83f386c6c 100644
--- a/volk/include/volk/Makefile.am
+++ b/volk/include/volk/Makefile.am
@@ -1,5 +1,5 @@
#
-# Copyright 2010 Free Software Foundation, Inc.
+# Copyright 2010,2011 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -130,33 +130,11 @@ volkinclude_HEADERS = \
volk_8i_s32f_convert_32f_u.h
VOLK_MKTABLES_SOURCES = \
+ $(platform_CODE) \
$(top_srcdir)/lib/volk_rank_archs.c \
$(top_srcdir)/lib/volk_mktables.c
-# FIXME: Not very extensible to supporting more processors easily
-if MYSUBCPU_X86_64
- VOLK_MKTABLES_SOURCES += \
- $(top_srcdir)/lib/volk_cpu_x86.c \
- $(top_srcdir)/lib/cpuid_x86_64.S
-endif
-
-if MYSUBCPU_X86
- VOLK_MKTABLES_SOURCES += \
- $(top_srcdir)/lib/volk_cpu_x86.c \
- $(top_srcdir)/lib/cpuid_x86.S
-endif
-
-if MYSUBCPU_POWERPC
- VOLK_MKTABLES_SOURCES += \
- $(top_srcdir)/lib/volk_cpu_powerpc.c
-endif
-
-if MYSUBCPU_GENERIC
- VOLK_MKTABLES_SOURCES += \
- $(top_srcdir)/lib/volk_cpu_generic.c
-endif
-
volk_mktables$(EXEEXT): $(VOLK_MKTABLES_SOURCES)
$(CC) -o $@ $^ $(AM_CPPFLAGS) -I$(top_builddir)/include
diff --git a/volk/include/volk/make_cpuid_generic_c.py b/volk/include/volk/make_cpuid_generic_c.py
index 3ba225fca..c682d4138 100644
--- a/volk/include/volk/make_cpuid_generic_c.py
+++ b/volk/include/volk/make_cpuid_generic_c.py
@@ -1,11 +1,33 @@
+#!/usr/bin/env python
+#
+# Copyright 2011 Free Software Foundation, Inc.
+#
+# This file is part of GNU Radio
+#
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Radio; see the file COPYING. If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+#
+
from xml.dom import minidom
def make_cpuid_generic_c(dom) :
tempstring = "";
tempstring = tempstring + "/*this file is auto_generated by volk_register.py*/\n\n";
tempstring = tempstring + "#include <volk/volk_cpu.h>\n"
- tempstring = tempstring + "#include <volk/volk_config_fixed.h>\n"
- tempstring = tempstring + "\n\n"
+ tempstring = tempstring + "#include <volk/volk_config_fixed.h>\n\n"
+ tempstring = tempstring + "struct VOLK_CPU volk_cpu;\n\n"
for domarch in dom:
if str(domarch.attributes["type"].value) == "all":
diff --git a/volk/include/volk/make_cpuid_h.py b/volk/include/volk/make_cpuid_h.py
index 823e3b2c0..cd3da2455 100644
--- a/volk/include/volk/make_cpuid_h.py
+++ b/volk/include/volk/make_cpuid_h.py
@@ -1,3 +1,25 @@
+#!/usr/bin/env python
+#
+# Copyright 2011 Free Software Foundation, Inc.
+#
+# This file is part of GNU Radio
+#
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Radio; see the file COPYING. If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+#
+
from xml.dom import minidom
from emit_omnilog import *
@@ -13,7 +35,8 @@ def make_cpuid_h(dom) :
for domarch in dom:
arch = str(domarch.attributes["name"].value);
tempstring = tempstring + " int (*has_" + arch + ") ();\n";
- tempstring = tempstring + "}volk_cpu;\n\n";
+ tempstring = tempstring + "};\n\n";
+ tempstring = tempstring + "extern struct VOLK_CPU volk_cpu;\n\n";
tempstring = tempstring + "void volk_cpu_init ();\n"
tempstring = tempstring + "unsigned int volk_get_lvarch ();\n"
diff --git a/volk/include/volk/make_cpuid_powerpc_c.py b/volk/include/volk/make_cpuid_powerpc_c.py
index 443a58488..0b0ea84e7 100644
--- a/volk/include/volk/make_cpuid_powerpc_c.py
+++ b/volk/include/volk/make_cpuid_powerpc_c.py
@@ -1,11 +1,33 @@
+#!/usr/bin/env python
+#
+# Copyright 2011 Free Software Foundation, Inc.
+#
+# This file is part of GNU Radio
+#
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Radio; see the file COPYING. If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+#
+
from xml.dom import minidom
def make_cpuid_powerpc_c(dom) :
tempstring = "";
tempstring = tempstring + "/*this file is auto_generated by volk_register.py*/\n\n";
tempstring = tempstring + "#include <volk/volk_cpu.h>\n"
- tempstring = tempstring + "#include <volk/volk_config_fixed.h>\n"
- tempstring = tempstring + "\n\n"
+ tempstring = tempstring + "#include <volk/volk_config_fixed.h>\n\n"
+ tempstring = tempstring + "struct VOLK_CPU volk_cpu;\n\n"
#just assume it has them for powerpc
for domarch in dom:
diff --git a/volk/include/volk/make_cpuid_x86_c.py b/volk/include/volk/make_cpuid_x86_c.py
index 8ebe243e5..48a406fa4 100644
--- a/volk/include/volk/make_cpuid_x86_c.py
+++ b/volk/include/volk/make_cpuid_x86_c.py
@@ -1,11 +1,34 @@
+#!/usr/bin/env python
+#
+# Copyright 2011 Free Software Foundation, Inc.
+#
+# This file is part of GNU Radio
+#
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Radio; see the file COPYING. If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+#
+
from xml.dom import minidom
def make_cpuid_x86_c(dom) :
tempstring = "";
tempstring = tempstring + "/*this file is auto_generated by volk_register.py*/\n\n";
tempstring = tempstring + "#include <volk/volk_cpu.h>\n"
- tempstring = tempstring + "#include <volk/volk_config_fixed.h>\n"
- tempstring = tempstring + "\n\n"
+ tempstring = tempstring + "#include <volk/volk_config_fixed.h>\n\n"
+ tempstring = tempstring + "struct VOLK_CPU volk_cpu;\n\n"
+
tempstring = tempstring + "extern void cpuid_x86 (unsigned int op, unsigned int result[4]);\n\n"
tempstring = tempstring + "static inline unsigned int cpuid_eax(unsigned int op) {\n";
tempstring = tempstring + " unsigned int regs[4];\n"
diff --git a/volk/include/volk/make_proccpu_sim.py b/volk/include/volk/make_proccpu_sim.py
index c75a4d5fb..029dacfcc 100644
--- a/volk/include/volk/make_proccpu_sim.py
+++ b/volk/include/volk/make_proccpu_sim.py
@@ -1,3 +1,25 @@
+#!/usr/bin/env python
+#
+# Copyright 2011 Free Software Foundation, Inc.
+#
+# This file is part of GNU Radio
+#
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Radio; see the file COPYING. If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+#
+
from xml.dom import minidom
def make_proccpu_sim(dom) :
diff --git a/volk/lib/Makefile.am b/volk/lib/Makefile.am
index f609f5bf9..63df85244 100644
--- a/volk/lib/Makefile.am
+++ b/volk/lib/Makefile.am
@@ -1,5 +1,5 @@
#
-# Copyright 2010 Free Software Foundation, Inc.
+# Copyright 2010,2011 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -63,76 +63,17 @@ EXTRA_DIST = \
# The main library
# ----------------------------------------------------------------
-universal_runtime_CODE = \
- volk_runtime.c \
- volk_init.c \
+libvolk_runtime_la_SOURCES = \
+ $(platform_CODE) \
+ volk_runtime.c \
+ volk_init.c \
volk_rank_archs.c
-universal_CODE = \
+libvolk_la_SOURCES = \
+ $(platform_CODE) \
volk.c \
volk_environment_init.c
-generic_CODE = \
- volk_cpu_generic.c
-
-x86_CODE = \
- volk_cpu_x86.c
-
-x86_SUBCODE = \
- cpuid_x86.S
-
-x86_64_SUBCODE = \
- cpuid_x86_64.S
-
-powerpc_CODE = \
- volk_cpu_powerpc.c
-
-
-if MD_CPU_generic
-libvolk_la_SOURCES = \
- $(generic_CODE) \
- $(universal_CODE)
-libvolk_runtime_la_SOURCES = \
- $(generic_CODE) \
- $(universal_runtime_CODE)
-
-endif
-
-if MD_CPU_x86
-if MD_SUBCPU_x86_64
-libvolk_la_SOURCES = \
- $(x86_CODE) \
- $(x86_64_SUBCODE) \
- $(universal_CODE)
-
-libvolk_runtime_la_SOURCES = \
- $(x86_CODE) \
- $(x86_64_SUBCODE) \
- $(universal_runtime_CODE)
-else
-libvolk_la_SOURCES = \
- $(x86_CODE) \
- $(x86_SUBCODE) \
- $(universal_CODE)
-
-libvolk_runtime_la_SOURCES = \
- $(x86_CODE) \
- $(x86_SUBCODE) \
- $(universal_runtime_CODE)
-endif
-endif
-
-
-if MD_CPU_powerpc
-libvolk_la_SOURCES = \
- $(powerpc_CODE) \
- $(universal_CODE)
-
-libvolk_runtime_la_SOURCES = \
- $(powerpc_CODE) \
- $(universal_runtime_CODE)
-endif
-
volk_orc_LDFLAGS = \
$(ORC_LDFLAGS) \
-lorc-0.4
@@ -182,11 +123,16 @@ noinst_PROGRAMS = \
testqa_SOURCES = testqa.cc qa_utils.cc
testqa_CPPFLAGS = -DBOOST_TEST_DYN_LINK -DBOOST_TEST_MAIN
testqa_LDFLAGS = -lboost_unit_test_framework
+if LV_HAVE_ORC
testqa_LDADD = \
libvolk.la \
libvolk_runtime.la \
../orc/libvolk_orc.la
-
+else
+testqa_LDADD = \
+ libvolk.la \
+ libvolk_runtime.la
+endif
distclean-local:
rm -f volk.c
diff --git a/volk/lib/testqa.cc b/volk/lib/testqa.cc
new file mode 100644
index 000000000..1ee264fb4
--- /dev/null
+++ b/volk/lib/testqa.cc
@@ -0,0 +1,101 @@
+#include "qa_utils.h"
+#include "../include/volk/volk.h"
+#include "../include/volk/volk_registry.h"
+#include <boost/test/unit_test.hpp>
+
+BOOST_AUTO_TEST_CASE(volk_test_all) {
+ //in order...
+// VOLK_RUN_TESTS(volk_16i_x5_add_quad_16i_x4_a16, 1e-4, 2046, 10000);
+// VOLK_RUN_TESTS(volk_16i_branch_4_state_8_a16, 1e-4, 2046, 10000);
+// VOLK_RUN_TESTS(volk_16ic_deinterleave_16i_x2_a16, 1e-4, 2046, 10000);
+// VOLK_RUN_TESTS(volk_16ic_s32f_deinterleave_32f_x2_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_16ic_deinterleave_real_16i_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_16ic_s32f_deinterleave_real_32f_a16, 1e-5, 2046, 10000);
+ VOLK_RUN_TESTS(volk_16ic_deinterleave_real_8i_a16, 1e-4, 2046, 10000);
+// VOLK_RUN_TESTS(volk_16ic_deinterleave_16i_x2_a16, 1e-4, 2046, 10000);
+// VOLK_RUN_TESTS(volk_16ic_s32f_deinterleave_32f_x2_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_16ic_deinterleave_real_16i_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_16ic_s32f_deinterleave_real_32f_a16, 1e-5, 2046, 10000);
+ VOLK_RUN_TESTS(volk_16ic_deinterleave_real_8i_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_16ic_magnitude_16i_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_16ic_s32f_magnitude_32f_a16, 1e-5, 2046, 10000);
+ VOLK_RUN_TESTS(volk_16i_s32f_convert_32f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_16i_s32f_convert_32f_u, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_16i_convert_8i_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_16i_convert_8i_u, 1e-4, 2046, 10000);
+// VOLK_RUN_TESTS(volk_16i_max_star_16i_a16, 1e-4, 2046, 10000);
+// VOLK_RUN_TESTS(volk_16i_max_star_horizontal_16i_a16, 1e-4, 2046, 10000);
+// VOLK_RUN_TESTS(volk_16i_permute_and_scalar_add_a16, 1e-4, 2046, 10000);
+// VOLK_RUN_TESTS(volk_16i_x4_quad_max_star_16i_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_16u_byteswap_a16, 1e-4, 2046, 10000);
+// VOLK_RUN_TESTS(volk_32f_accumulator_s32f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_x2_add_32f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32fc_32f_multiply_32fc_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32fc_32f_power_32fc_a16, 1e-4, 2046, 1000);
+// VOLK_RUN_TESTS(volk_32f_calc_spectral_noise_floor_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32fc_s32f_atan2_32f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32fc_x2_conjugate_dot_prod_32fc_a16, 1e-4, 2046, 10000);
+// VOLK_RUN_TESTS(volk_32fc_deinterleave_32f_x2_a16, 1e-4, 2046, 10000);
+// VOLK_RUN_TESTS(volk_32fc_deinterleave_64f_x2_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32fc_deinterleave_real_16i_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32fc_deinterleave_real_32f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32fc_deinterleave_real_64f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32fc_x2_dot_prod_32fc_a16, 1e-4, 2046, 10000);
+// VOLK_RUN_TESTS(volk_32fc_index_max_16u_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32fc_s32f_magnitude_16i_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32fc_magnitude_32f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32fc_x2_multiply_32fc_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_s32f_convert_16i_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_s32f_convert_16i_u, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_s32f_convert_32i_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_s32f_convert_32i_u, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_convert_64f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_convert_64f_u, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_s32f_convert_8i_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_s32f_convert_8i_u, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32fc_s32f_x2_power_spectral_density_32f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32fc_s32f_power_spectrum_32f_a16, 1e-4, 2046, 10000);
+// VOLK_RUN_TESTS(volk_32fc_x2_square_dist_32f_a16, 1e-4, 2046, 10000);
+// VOLK_RUN_TESTS(volk_32fc_x2_s32f_square_dist_scalar_mult_32f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_x2_divide_32f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_x2_dot_prod_32f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_x2_dot_prod_32f_u, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_s32f_32f_fm_detect_32f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_index_max_16u_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_x2_s32f_interleave_16ic_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_x2_interleave_32fc_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_x2_max_32f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_x2_min_32f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_x2_multiply_32f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_s32f_normalize_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_s32f_power_32f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_sqrt_32f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_s32f_stddev_32f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_stddev_and_mean_32f_x2_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_x2_subtract_32f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32f_x3_sum_of_poly_32f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32i_x2_and_32i_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32i_s32f_convert_32f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32i_s32f_convert_32f_u, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32i_x2_or_32i_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_32u_byteswap_a16, 1e-4, 2046, 10000);
+// VOLK_RUN_TESTS(volk_32u_popcnt_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_64f_convert_32f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_64f_convert_32f_u, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_64f_x2_max_64f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_64f_x2_min_64f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_64u_byteswap_a16, 1e-4, 2046, 10000);
+// VOLK_RUN_TESTS(volk_64u_popcnt_a16, 1e-4, 2046, 10000);
+// VOLK_RUN_TESTS(volk_8ic_deinterleave_16i_x2_a16, 1e-4, 2046, 10000);
+// VOLK_RUN_TESTS(volk_8ic_s32f_deinterleave_32f_x2_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_8ic_deinterleave_real_16i_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_8ic_s32f_deinterleave_real_32f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_8ic_deinterleave_real_8i_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_8ic_x2_multiply_conjugate_16ic_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_8ic_x2_s32f_multiply_conjugate_32fc_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_8i_convert_16i_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_8i_convert_16i_u, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_8i_s32f_convert_32f_a16, 1e-4, 2046, 10000);
+ VOLK_RUN_TESTS(volk_8i_s32f_convert_32f_u, 1e-4, 2046, 10000);
+
+}