From: A. Maitland Bottoms Date: Sat, 12 May 2018 19:25:04 +0000 (+0100) Subject: volk (1.4-3) unstable; urgency=medium X-Git-Tag: archive/raspbian/1.4-3+rpi1^2~13 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=4136ba969ed6d4d208817309eeed052556dbb037;p=volk.git volk (1.4-3) unstable; urgency=medium * update to v1.4-9-g297fefd Added an AVX protokernel for volk_32fc_x2_32f_square_dist_scalar_mult_32f fixed a buffer over-read and over-write in volk_32fc_x2_s32f_square_dist_scalar_mult_32f_a_avx Fix 32u_reverse_32u for ARM [dgit import unpatched volk 1.4-3] --- 4136ba969ed6d4d208817309eeed052556dbb037 diff --cc debian/changelog index 0000000,0000000..a23bb22 new file mode 100644 --- /dev/null +++ b/debian/changelog @@@ -1,0 -1,0 +1,349 @@@ ++volk (1.4-3) unstable; urgency=medium ++ ++ * update to v1.4-9-g297fefd ++ Added an AVX protokernel for volk_32fc_x2_32f_square_dist_scalar_mult_32f ++ fixed a buffer over-read and over-write in ++ volk_32fc_x2_s32f_square_dist_scalar_mult_32f_a_avx ++ Fix 32u_reverse_32u for ARM ++ ++ -- A. Maitland Bottoms Sat, 12 May 2018 15:25:04 -0400 ++ ++volk (1.4-2) unstable; urgency=medium ++ ++ * Upload to unstable, needed by gnuradio (>= 3.7.12.0) ++ ++ -- A. Maitland Bottoms Tue, 03 Apr 2018 01:03:19 -0400 ++ ++volk (1.4-1) experimental; urgency=medium ++ ++ * New upstream release ++ upstream changelog http://libvolk.org/release-v14.html ++ ++ -- A. Maitland Bottoms Tue, 27 Mar 2018 22:57:42 -0400 ++ ++volk (1.3.1-1) unstable; urgency=medium ++ ++ * New upstream bugfix release ++ * Refresh all debian patches for use with git am ++ ++ -- A. Maitland Bottoms Tue, 27 Mar 2018 21:54:29 -0400 ++ ++volk (1.3-3) unstable; urgency=medium ++ ++ * update to v1.3-23-g0109b2e ++ * update debian/libvolk1-dev.abi.tar.gz.amd64 ++ * Add breaks/replaces gnuradio (<=3.7.2.1) (LP: #1614235) ++ ++ -- A. Maitland Bottoms Sun, 04 Feb 2018 13:12:21 -0500 ++ ++volk (1.3-2) unstable; urgency=medium ++ ++ * update to v1.3-16-g28b03a9 ++ apps: fix profile update reading end of lines ++ qa: lower tolerance for 32fc_mag to fix issue #96 ++ * include upstream master patch to sort input files ++ ++ -- A. Maitland Bottoms Sun, 27 Aug 2017 13:44:55 -0400 ++ ++volk (1.3-1) unstable; urgency=medium ++ ++ * New upstream release ++ * The index_max kernels were named with the wrong output datatype. To ++ fix this there are new kernels that return a 32u (int32_t) and the ++ existing kernels had their signatures changed to return 16u (int16_t). ++ * The output to stdout and stderr has been shuffled around. There is no ++ longer a message that prints what VOLK machine is being used and the ++ warning messages go to stderr rather than stdout. ++ * The 32fc_index_max kernels previously were only accurate to the SSE ++ register width (4 points). This was a pretty serious and long-lived ++ bug that's been fixed and the QA updated appropriately. ++ ++ -- A. Maitland Bottoms Sat, 02 Jul 2016 16:30:47 -0400 ++ ++volk (1.2.2-2) unstable; urgency=medium ++ ++ * update to v1.2.2-11-g78c8bc4 (to follow gnuradio maint branch) ++ ++ -- A. Maitland Bottoms Sun, 19 Jun 2016 14:44:15 -0400 ++ ++volk (1.2.2-1) unstable; urgency=medium ++ ++ * New upstream release ++ ++ -- A. Maitland Bottoms Fri, 08 Apr 2016 00:12:10 -0400 ++ ++volk (1.2.1-2) unstable; urgency=medium ++ ++ * Upstream patches: ++ Fix some CMake complaints ++ The fix for compilation with cmake 3.5 ++ ++ -- A. Maitland Bottoms Wed, 23 Mar 2016 17:47:54 -0400 ++ ++volk (1.2.1-1) unstable; urgency=medium ++ ++ * New upstream release ++ ++ -- A. Maitland Bottoms Sun, 07 Feb 2016 19:38:32 -0500 ++ ++volk (1.2-1) unstable; urgency=medium ++ ++ * New upstream release ++ ++ -- A. Maitland Bottoms Thu, 24 Dec 2015 20:28:13 -0500 ++ ++volk (1.1.1-5) experimental; urgency=medium ++ ++ * update to v1.1.1-22-gef53547 to support gnuradio 3.7.9 ++ ++ -- A. Maitland Bottoms Fri, 11 Dec 2015 13:12:55 -0500 ++ ++volk (1.1.1-4) unstable; urgency=medium ++ ++ * more lintian fixes ++ ++ -- A. Maitland Bottoms Wed, 25 Nov 2015 21:49:58 -0500 ++ ++volk (1.1.1-3) unstable; urgency=medium ++ ++ * Lintian fixes Pre-Depends ++ ++ -- A. Maitland Bottoms Thu, 19 Nov 2015 21:24:27 -0500 ++ ++volk (1.1.1-2) unstable; urgency=medium ++ ++ * Note that libvolk1-dev replaces files in gnuradio-dev versions <<3.7.8 ++ (Closes: #802646) again. Thanks Andreas Beckmann. ++ ++ -- A. Maitland Bottoms Fri, 13 Nov 2015 18:45:49 -0500 ++ ++volk (1.1.1-1) unstable; urgency=medium ++ ++ * New upstream release ++ * New architectures exist for the AVX2 and FMA ISAs. ++ * The profiler now generates buffers that are vlen + a tiny amount and ++ generates random data to fill buffers. This is intended to catch bugs ++ in protokernels that write beyond num_points. ++ * Note that libvolk1-dev replaces files in earlier gnuradio-dev versions ++ (Closes: #802646) ++ ++ -- A. Maitland Bottoms Sun, 01 Nov 2015 18:45:43 -0500 ++ ++volk (1.1-4) unstable; urgency=medium ++ ++ * update to v1.1-12-g264addc ++ ++ -- A. Maitland Bottoms Tue, 29 Sep 2015 23:41:50 -0400 ++ ++volk (1.1-3) unstable; urgency=low ++ ++ * drop dh_acc to get reproducible builds ++ ++ -- A. Maitland Bottoms Fri, 11 Sep 2015 22:57:06 -0400 ++ ++volk (1.1-2) unstable; urgency=low ++ ++ * use dh-acc ++ ++ -- A. Maitland Bottoms Mon, 07 Sep 2015 15:45:20 -0400 ++ ++volk (1.1-1) unstable; urgency=medium ++ ++ * re-organize package naming convention ++ * New upstream release tag v1.1 ++ New architectures exist for the AVX2 and FMA ISAs. Along ++ with the build-system support the following kernels have ++ no proto-kernels taking advantage of these architectures: ++ ++ * 32f_x2_dot_prod_32f ++ * 32fc_x2_multiply_32fc ++ * 64_byteswap ++ * 32f_binary_slicer_8i ++ * 16u_byteswap ++ * 32u_byteswap ++ ++ QA/profiler ++ ----------- ++ ++ The profiler now generates buffers that are vlen + a tiny ++ amount and generates random data to fill buffers. This is ++ intended to catch bugs in protokernels that write beyond ++ num_points. ++ ++ -- A. Maitland Bottoms Wed, 26 Aug 2015 09:22:48 -0400 ++ ++volk (1.0.2-2) unstable; urgency=low ++ ++ * Use SOURCE_DATE_EPOCH from the environment, if defined, ++ rather than current date and time to implement volk_build_date() ++ (embedding build date in a library does not help reproducible builds) ++ * add watch file ++ ++ -- A. Maitland Bottoms Sat, 15 Aug 2015 17:43:15 -0400 ++ ++volk (1.0.2-1) unstable; urgency=medium ++ ++ * Maintenance release 24 Jul 2015 by Nathan West ++ * The major change is the CMake logic to add ASM protokernels. Rather ++ than depending on CFLAGS and ASMFLAGS we use the results of VOLK's ++ built in has_ARCH tests. All configurations should work the same as ++ before, but manually specifying CFLAGS and ASMFLAGS on the cmake call ++ for ARM native builds should no longer be necessary. ++ * The 32fc_s32fc_x2_rotator_32fc generic protokernel now includes a ++ previously implied header. ++ * Finally, there is a fix to return the "best" protokernel to the ++ dispatcher when no volk_config exists. Thanks to Alexandre Raymond for ++ pointing this out. ++ * with maint branch patch: ++ kernels-add-missing-include-arm_neon.h ++ * removed unused build-dependency on liboil0.3-dev (closes: #793626) ++ ++ -- A. Maitland Bottoms Wed, 05 Aug 2015 00:43:40 -0400 ++ ++volk (1.0.1-1) unstable; urgency=low ++ ++ * Maintenance Release v1.0.1 08 Jul 2015 by Nathan West ++ This is a maintenance release with bug fixes since the initial release of ++ v1.0 in April. ++ ++ * Contributors ++ ++ The following authors have contributed code to this release: ++ ++ Doug Geiger doug.geiger@bioradiation.net ++ Elliot Briggs elliot.briggs@gmail.com ++ Marcus Mueller marcus@hostalia.de ++ Nathan West nathan.west@okstate.edu ++ Tom Rondeau tom@trondeau.com ++ ++ * Kernels ++ ++ Several bug fixes in different kernels. The NEON implementations of the ++ following kernels have been fixed: ++ ++ 32f_x2_add_32f ++ 32f_x2_dot_prod_32f ++ 32fc_s32fc_multiply_32fc ++ 32fc_x2_multiply_32fc ++ ++ Additionally the NEON asm based 32f_x2_add_32f protokernels were not being ++ used and are now included and available for use via the dispatcher. ++ ++ The 32f_s32f_x2_fm_detect_32f kernel now has a puppet. This solves QA seg ++ faults on 32-bit machines and provide a better test for this kernel. ++ ++ The 32fc_s32fc_x2_rotator_32fc generic protokernel replaced cabsf with ++ hypotf for better Android support. ++ ++ * Building ++ ++ Static builds now trigger the applications (volk_profile and ++ volk-config-info) to be statically linked. ++ ++ The file gcc_x86_cpuid.h has been removed since it was no longer being ++ used. Previously it provided cpuid functionality for ancient compilers ++ that we do not support. ++ ++ All build types now use -Wall. ++ ++ * QA and Testing ++ ++ The documentation around the --update option to volk_profile now makes it ++ clear that the option will only profile kernels without entries in ++ volk_profile. The signature of run_volk_tests with expanded args changed ++ signed types to unsigned types to reflect the actual input. ++ ++ The remaining changes are all non-functional changes to address issues ++ from Coverity. ++ ++ -- A. Maitland Bottoms Fri, 10 Jul 2015 17:57:42 -0400 ++ ++volk (1.0-5) unstable; urgency=medium ++ ++ * native-armv7-build-support skips neon on Debian armel (Closes: #789972) ++ ++ -- A. Maitland Bottoms Sat, 04 Jul 2015 12:36:36 -0400 ++ ++volk (1.0-4) unstable; urgency=low ++ ++ * update native-armv7-build-support patch from gnuradio volk package ++ ++ -- A. Maitland Bottoms Thu, 25 Jun 2015 16:38:49 -0400 ++ ++volk (1.0-3) unstable; urgency=medium ++ ++ * Add Breaks/Replaces (Closes: #789893, #789894) ++ * Allow failing tests ++ ++ -- A. Maitland Bottoms Thu, 25 Jun 2015 12:46:06 -0400 ++ ++volk (1.0-2) unstable; urgency=medium ++ ++ * kernels-add-missing-math.h-include-to-rotator ++ ++ -- A. Maitland Bottoms Wed, 24 Jun 2015 21:09:32 -0400 ++ ++volk (1.0-1) unstable; urgency=low ++ ++ * Initial package (Closes: #782417) ++ Initial Release 11 Apr 2015 by Nathan West ++ ++ VOLK 1.0 is available. This is the first release of VOLK as an independently ++ tracked sub-project of GNU Radio. ++ ++ * Contributors ++ ++ VOLK has been tracked separately from GNU Radio since 2014 Dec 23. ++ Contributors between the split and the initial release are ++ ++ Albert Holguin aholguin_77@yahoo.com ++ Doug Geiger doug.geiger@bioradiation.net ++ Elliot Briggs elliot.briggs@gmail.com ++ Julien Olivain julien.olivain@lsv.ens-cachan.fr ++ Michael Dickens michael.dickens@ettus.com ++ Nathan West nathan.west@okstate.edu ++ Tom Rondeau tom@trondeau.com ++ ++ * QA ++ ++ The test and profiler have significantly changed. The profiler supports ++ run-time changes to vlen and iters to help kernel development and provide ++ more flexibility on embedded systems. Additionally there is a new option ++ to update an existing volk_profile results file with only new kernels which ++ will save time when updating to newer versions of VOLK ++ ++ The QA system creates a static list of kernels and test cases. The QA ++ testing and profiler iterate over this static list rather than each source ++ file keeping its own list. The QA also emits XML results to ++ lib/.unittest/kernels.xml which is formatted similarly to JUnit results. ++ ++ * Modtool ++ ++ Modtool was updated to support the QA and profiler changes. ++ ++ * Kernels ++ ++ New proto-kernels: ++ ++ 16ic_deinterleave_real_8i_neon ++ 16ic_s32f_deinterleave_32f_neon ++ fix preprocessor errors for some compilers on byteswap and popcount puppets ++ ++ ORC was moved to the asm kernels directory. ++ volk_malloc ++ ++ The posix_memalign implementation of Volk_malloc now falls back to a standard ++ malloc if alignment is 1. ++ ++ * Miscellaneous ++ ++ Several build system and cmake changes have made it possible to build VOLK ++ both independently with proper soname versions and in-tree for projects ++ such as GNU Radio. ++ ++ The static builds take advantage of cmake object libraries to speed up builds. ++ ++ Finally, there are a number of changes to satisfy compiler warnings and make ++ QA work on multiple machines. ++ ++ -- A. Maitland Bottoms Sun, 12 Apr 2015 23:20:41 -0400 diff --cc debian/compat index 0000000,0000000..ec63514 new file mode 100644 --- /dev/null +++ b/debian/compat @@@ -1,0 -1,0 +1,1 @@@ ++9 diff --cc debian/control index 0000000,0000000..6891b13 new file mode 100644 --- /dev/null +++ b/debian/control @@@ -1,0 -1,0 +1,72 @@@ ++Source: volk ++Section: libdevel ++Priority: optional ++Maintainer: A. Maitland Bottoms ++Build-Depends: cmake, ++ debhelper (>= 9.0.0~), ++ dh-python, ++ doxygen, ++ libboost-filesystem-dev, ++ libboost-program-options-dev, ++ libboost-system-dev, ++ libboost-test-dev, ++ liborc-0.4-dev, ++ pkg-config, ++ python, ++ python3, ++ python-mako, ++ python3-mako, ++ python-six, ++ python3-six ++Standards-Version: 4.1.4 ++Homepage: http://libvolk.org ++Vcs-Browser: https://salsa.debian.org/bottoms/pkg-volk ++Vcs-Git: https://salsa.debian.org/bottoms/pkg-volk.git ++ ++Package: libvolk1.4 ++Section: libs ++Architecture: any ++Pre-Depends: ${misc:Pre-Depends} ++Depends: ${misc:Depends}, ${shlibs:Depends} ++Multi-Arch: same ++Recommends: libvolk1-bin ++Suggests: libvolk1-dev ++Description: vector optimized functions ++ Vector-Optimized Library of Kernels is designed to help ++ applications work with the processor's SIMD instruction sets. These are ++ very powerful vector operations that can give signal processing a ++ huge boost in performance. ++ ++Package: libvolk1-dev ++Architecture: any ++Pre-Depends: ${misc:Pre-Depends} ++Depends: libvolk1.4 (=${binary:Version}), ${misc:Depends} ++Breaks: gnuradio-dev (<<3.7.8), libvolk-dev, libvolk1.0-dev ++Replaces: gnuradio-dev (<<3.7.8), libvolk-dev, libvolk1.0-dev ++Multi-Arch: same ++Description: vector optimized function headers ++ Vector-Optimized Library of Kernels is designed to help ++ applications work with the processor's SIMD instruction sets. These are ++ very powerful vector operations that can give signal processing a ++ huge boost in performance. ++ . ++ This package contains the header files. ++ For documentation, see libvolk-doc. ++ ++Package: libvolk1-bin ++Section: libs ++Architecture: any ++Pre-Depends: ${misc:Pre-Depends} ++Depends: libvolk1.4 (=${binary:Version}), ++ ${misc:Depends}, ++ ${python:Depends}, ++ ${shlibs:Depends} ++Breaks: libvolk-bin, libvolk1.0-bin, gnuradio (<=3.7.2.1) ++Replaces: libvolk-bin, libvolk1.0-bin, gnuradio (<=3.7.2.1) ++Description: vector optimized runtime tools ++ Vector-Optimized Library of Kernels is designed to help ++ applications work with the processor's SIMD instruction sets. These are ++ very powerful vector operations that can give signal processing a ++ huge boost in performance. ++ . ++ This package includes the volk_profile tool. diff --cc debian/copyright index 0000000,0000000..34e4faf new file mode 100644 --- /dev/null +++ b/debian/copyright @@@ -1,0 -1,0 +1,191 @@@ ++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ ++Upstream-Name: volk ++Upstream-Contact: http://libvolk.org/ ++Source: ++ https://github.com/gnuradio/volk ++Comment: ++ Debian packages by A. Maitland Bottoms ++ . ++ Upstream Authors: ++ Albert Holguin ++ Doug Geiger ++ Elliot Briggs ++ Julien Olivain ++ Michael Dickens ++ Nathan West ++ Tom Rondeau ++Copyright: 2014-2015 Free Software Foundation, Inc. ++License: GPL-3+ ++ ++Files: * ++Copyright: 2006, 2009-2016, Free Software Foundation, Inc. ++License: GPL-3+ ++ ++Files: Doxyfile.in ++ DoxygenLayout.xml ++ volk.pc.in ++Copyright: 2014-2015 Free Software Foundation, Inc. ++License: GPL-3+ ++ ++Files: apps/volk_profile.h ++Copyright: 2014-2015 Free Software Foundation, Inc. ++License: GPL-3+ ++ ++Files: appveyor.yml ++Copyright: 2016 Paul Cercueil ++License: GPL-3+ ++ ++Files: cmake/* ++Copyright: 2014-2015 Free Software Foundation, Inc. ++License: GPL-3+ ++ ++Files: cmake/Modules/* ++Copyright: 2006, 2009-2016, Free Software Foundation, Inc. ++License: GPL-3+ ++ ++Files: cmake/Modules/CMakeParseArgumentsCopy.cmake ++Copyright: 2010 Alexander Neundorf ++License: Kitware-BSD ++ All rights reserved. ++ . ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions ++ are met: ++ . ++ * Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ . ++ * Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ . ++ * Neither the names of Kitware, Inc., the Insight Software Consortium, ++ nor the names of their contributors may be used to endorse or promote ++ products derived from this software without specific prior written ++ permission. ++ . ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++Files: cmake/Modules/FindORC.cmake ++ cmake/Modules/VolkConfig.cmake.in ++Copyright: 2014-2015 Free Software Foundation, Inc. ++License: GPL-3+ ++ ++Files: cmake/msvc/* ++Copyright: 2006-2008, Alexander Chemeris ++License: BSD-2-clause ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are met: ++ . ++ 1. Redistributions of source code must retain the above copyright notice, ++ this list of conditions and the following disclaimer. ++ . ++ 2. Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ . ++ 3. The name of the author may be used to endorse or promote products ++ derived from this software without specific prior written permission. ++ . ++ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED ++ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ++ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO ++ EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, ++ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; ++ OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, ++ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR ++ OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ++ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++Files: cmake/msvc/config.h ++Copyright: 2005, 2006 Apple Computer, Inc. ++License: LGPL-2+ ++ ++Files: cmake/msvc/stdbool.h ++Copyright: 2005, 2006, Apple Computer, Inc. ++License: LGPL-2+ ++ ++Files: debian/* ++Copyright: 2015 Free Software Foundation, Inc ++License: GPL-3+ ++Comment: assigned by A. Maitland Bottoms ++ ++Files: debian/libvolk1-dev.abi.tar.gz.amd64 ++Copyright: 2016 Free Software Foundation, Inc ++License: GPL-3+ ++ ++Files: docs/* ++Copyright: 2014-2015 Free Software Foundation, Inc. ++License: GPL-3+ ++ ++Files: gen/archs.xml ++ gen/machines.xml ++Copyright: 2014-2015 Free Software Foundation, Inc. ++License: GPL-3+ ++ ++Files: include/volk/volk_common.h ++ include/volk/volk_complex.h ++ include/volk/volk_prefs.h ++Copyright: 2014-2015 Free Software Foundation, Inc. ++License: GPL-3+ ++ ++Files: kernels/volk/asm/* ++Copyright: 2014-2015 Free Software Foundation, Inc. ++License: GPL-3+ ++ ++Files: kernels/volk/volk_16u_byteswappuppet_16u.h ++ kernels/volk/volk_32u_byteswappuppet_32u.h ++ kernels/volk/volk_64u_byteswappuppet_64u.h ++Copyright: 2014-2015 Free Software Foundation, Inc. ++License: GPL-3+ ++ ++Files: lib/kernel_tests.h ++ lib/qa_utils.cc ++ lib/qa_utils.h ++ lib/volk_prefs.c ++Copyright: 2014-2015 Free Software Foundation, Inc. ++License: GPL-3+ ++ ++License: LGPL-2+ ++ This library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Library General Public ++ License as published by the Free Software Foundation; either ++ version 2 of the License, or (at your option) any later version. ++ . ++ This library 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 ++ Library General Public License for more details. ++ . ++ You should have received a copy of the GNU Library General Public License ++ along with this library; see the file COPYING.LIB. If not, write to ++ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ++ Boston, MA 02110-1301, USA. ++ ++License: GPL-3+ ++ This program 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 of the License, or ++ (at your option) any later version. ++ . ++ This program 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 this program. If not, see . ++ . ++ On Debian systems, the complete text of the GNU General ++ Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". diff --cc debian/libvolk1-bin.install index 0000000,0000000..b8fc484 new file mode 100644 --- /dev/null +++ b/debian/libvolk1-bin.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/bin/volk* diff --cc debian/libvolk1-bin.manpages index 0000000,0000000..95bae9e new file mode 100644 --- /dev/null +++ b/debian/libvolk1-bin.manpages @@@ -1,0 -1,0 +1,3 @@@ ++debian/volk-config-info.1 ++debian/volk_modtool.1 ++debian/volk_profile.1 diff --cc debian/libvolk1-dev.abi.tar.gz.amd64 index 0000000,0000000..ddc5bdd new file mode 100644 Binary files differ diff --cc debian/libvolk1-dev.acc index 0000000,0000000..c8503c6 new file mode 100644 --- /dev/null +++ b/debian/libvolk1-dev.acc @@@ -1,0 -1,0 +1,12 @@@ ++ ++ ++ ++ ++debian/libvolk1-dev/usr/include/ ++ ++ ++ ++debian/libvolk1.4/usr/lib/ ++ ++ ++ diff --cc debian/libvolk1-dev.install index 0000000,0000000..4b391be new file mode 100644 --- /dev/null +++ b/debian/libvolk1-dev.install @@@ -1,0 -1,0 +1,4 @@@ ++usr/include/* ++usr/lib/*/*volk*so ++usr/lib/*/cmake/volk ++usr/lib/*/pkgconfig/*volk* diff --cc debian/libvolk1-dev_1.4-1_report.html index 0000000,0000000..f9614d6 new file mode 100644 --- /dev/null +++ b/debian/libvolk1-dev_1.4-1_report.html @@@ -1,0 -1,0 +1,1069 @@@ ++ ++ ++ ++ ++ ++ ++ ++ ++libvolk1-dev: 1.3-3 to 1.4-1 compatibility report ++ ++ ++ ++

API compatibility report for the libvolk1-dev library between 1.3-3 and 1.4-1 versions on x86_64

++ ++
++
++

Test Info


++ ++ ++ ++ ++ ++ ++ ++
Library Namelibvolk1-dev
Version #11.3-3
Version #21.4-1
Archx86_64
GCC Version7
SubjectBinary Compatibility
++

Test Results


++ ++ ++ ++ ++ ++ ++
Total Header Files135
Total Libraries1
Total Symbols / Types614 / 233
Compatibility99.8%
++

Problem Summary


++ ++ ++ ++ ++ ++ ++ ++ ++ ++
SeverityCount
Added Symbols-45
Removed SymbolsHigh0
Problems with
Data Types
High0
Medium0
Low1
Problems with
Symbols
High1
Medium0
Low0
Problems with
Constants
Low1
++ ++

Added Symbols  45 


++volk.h, libvolk.so.1.4
++volk_32f_64f_add_64f [data]
++volk_32f_64f_add_64f_a [data]
++volk_32f_64f_add_64f_get_func_desc ( )
++volk_32f_64f_add_64f_manual ( double* cVector, float const* aVector, double const* bVector, unsigned int num_points, char const* impl_name )
++volk_32f_64f_add_64f_u [data]
++volk_32f_64f_multiply_64f [data]
++volk_32f_64f_multiply_64f_a [data]
++volk_32f_64f_multiply_64f_get_func_desc ( )
++volk_32f_64f_multiply_64f_manual ( double* cVector, float const* aVector, double const* bVector, unsigned int num_points, char const* impl_name )
++volk_32f_64f_multiply_64f_u [data]
++volk_32f_s32f_mod_rangepuppet_32f [data]
++volk_32f_s32f_mod_rangepuppet_32f_a [data]
++volk_32f_s32f_mod_rangepuppet_32f_get_func_desc ( )
++volk_32f_s32f_mod_rangepuppet_32f_manual ( float* output, float const* input, float bound, unsigned int num_points, char const* impl_name )
++volk_32f_s32f_mod_rangepuppet_32f_u [data]
++volk_32f_s32f_s32f_mod_range_32f [data]
++volk_32f_s32f_s32f_mod_range_32f_a [data]
++volk_32f_s32f_s32f_mod_range_32f_get_func_desc ( )
++volk_32f_s32f_s32f_mod_range_32f_manual ( float* outputVector, float const* inputVector, float const lower_bound, float const upper_bound, unsigned int num_points, char const* impl_name )
++volk_32f_s32f_s32f_mod_range_32f_u [data]
++volk_32fc_32f_add_32fc [data]
++volk_32fc_32f_add_32fc_a [data]
++volk_32fc_32f_add_32fc_get_func_desc ( )
++volk_32fc_32f_add_32fc_manual ( lv_32fc_t* cVector, lv_32fc_t const* aVector, float const* bVector, unsigned int num_points, char const* impl_name )
++volk_32fc_32f_add_32fc_u [data]
++volk_32fc_x2_add_32fc [data]
++volk_32fc_x2_add_32fc_a [data]
++volk_32fc_x2_add_32fc_get_func_desc ( )
++volk_32fc_x2_add_32fc_manual ( lv_32fc_t* cVector, lv_32fc_t const* aVector, lv_32fc_t const* bVector, unsigned int num_points, char const* impl_name )
++volk_32fc_x2_add_32fc_u [data]
++volk_32u_reverse_32u [data]
++volk_32u_reverse_32u_a [data]
++volk_32u_reverse_32u_get_func_desc ( )
++volk_32u_reverse_32u_manual ( uint32_t* out, uint32_t const* in, unsigned int num_points, char const* impl_name )
++volk_32u_reverse_32u_u [data]
++volk_64f_x2_add_64f [data]
++volk_64f_x2_add_64f_a [data]
++volk_64f_x2_add_64f_get_func_desc ( )
++volk_64f_x2_add_64f_manual ( double* cVector, double const* aVector, double const* bVector, unsigned int num_points, char const* impl_name )
++volk_64f_x2_add_64f_u [data]
++volk_64f_x2_multiply_64f [data]
++volk_64f_x2_multiply_64f_a [data]
++volk_64f_x2_multiply_64f_get_func_desc ( )
++volk_64f_x2_multiply_64f_manual ( double* cVector, double const* aVector, double const* bVector, unsigned int num_points, char const* impl_name )
++volk_64f_x2_multiply_64f_u [data]
++
++to the top
++ ++

Problems with Symbols, High Severity  1 


++volk.h, libvolk.so.1.3
++ ++[+] volk_32f_8u_polarbutterfly_32f_manual ( float* llrs, unsigned char* u, int const frame_size, int const frame_exp, int const stage, int const u_num, int const row, char const* impl_name )  1  ++
++ ++
++to the top
++ ++

Problems with Data Types, Low Severity  1 


++volk_typedefs.h
++ ++[+] typedef p_32f_8u_polarbutterfly_32f  1  ++
++ ++ ++
++to the top
++ ++

Problems with Constants, Low Severity  1 


++volk_32f_log2_32f.h
++ ++[+] LOG_POLY_DEGREE ++
++ ++ ++
++to the top
++

Header Files  135 


++
++constants.h
++saturation_arithmetic.h
++volk.h
++volk_16i_32fc_dot_prod_32fc.h
++volk_16i_branch_4_state_8.h
++volk_16i_convert_8i.h
++volk_16i_max_star_16i.h
++volk_16i_max_star_horizontal_16i.h
++volk_16i_permute_and_scalar_add.h
++volk_16i_s32f_convert_32f.h
++volk_16i_x4_quad_max_star_16i.h
++volk_16i_x5_add_quad_16i_x4.h
++volk_16ic_convert_32fc.h
++volk_16ic_deinterleave_16i_x2.h
++volk_16ic_deinterleave_real_16i.h
++volk_16ic_deinterleave_real_8i.h
++volk_16ic_magnitude_16i.h
++volk_16ic_s32f_deinterleave_32f_x2.h
++volk_16ic_s32f_deinterleave_real_32f.h
++volk_16ic_s32f_magnitude_32f.h
++volk_16ic_x2_dot_prod_16ic.h
++volk_16ic_x2_multiply_16ic.h
++volk_16u_byteswap.h
++volk_16u_byteswappuppet_16u.h
++volk_32f_8u_polarbutterfly_32f.h
++volk_32f_8u_polarbutterflypuppet_32f.h
++volk_32f_accumulator_s32f.h
++volk_32f_acos_32f.h
++volk_32f_asin_32f.h
++volk_32f_atan_32f.h
++volk_32f_binary_slicer_32i.h
++volk_32f_binary_slicer_8i.h
++volk_32f_convert_64f.h
++volk_32f_cos_32f.h
++volk_32f_expfast_32f.h
++volk_32f_index_max_16u.h
++volk_32f_index_max_32u.h
++volk_32f_invsqrt_32f.h
++volk_32f_log2_32f.h
++volk_32f_null_32f.h
++volk_32f_s32f_32f_fm_detect_32f.h
++volk_32f_s32f_calc_spectral_noise_floor_32f.h
++volk_32f_s32f_convert_16i.h
++volk_32f_s32f_convert_32i.h
++volk_32f_s32f_convert_8i.h
++volk_32f_s32f_multiply_32f.h
++volk_32f_s32f_normalize.h
++volk_32f_s32f_power_32f.h
++volk_32f_s32f_stddev_32f.h
++volk_32f_sin_32f.h
++volk_32f_sqrt_32f.h
++volk_32f_stddev_and_mean_32f_x2.h
++volk_32f_tan_32f.h
++volk_32f_tanh_32f.h
++volk_32f_x2_add_32f.h
++volk_32f_x2_divide_32f.h
++volk_32f_x2_dot_prod_16i.h
++volk_32f_x2_dot_prod_32f.h
++volk_32f_x2_fm_detectpuppet_32f.h
++volk_32f_x2_interleave_32fc.h
++volk_32f_x2_max_32f.h
++volk_32f_x2_min_32f.h
++volk_32f_x2_multiply_32f.h
++volk_32f_x2_pow_32f.h
++volk_32f_x2_s32f_interleave_16ic.h
++volk_32f_x2_subtract_32f.h
++volk_32f_x3_sum_of_poly_32f.h
++volk_32fc_32f_dot_prod_32fc.h
++volk_32fc_32f_multiply_32fc.h
++volk_32fc_conjugate_32fc.h
++volk_32fc_convert_16ic.h
++volk_32fc_deinterleave_32f_x2.h
++volk_32fc_deinterleave_64f_x2.h
++volk_32fc_deinterleave_imag_32f.h
++volk_32fc_deinterleave_real_32f.h
++volk_32fc_deinterleave_real_64f.h
++volk_32fc_index_max_16u.h
++volk_32fc_index_max_32u.h
++volk_32fc_magnitude_32f.h
++volk_32fc_magnitude_squared_32f.h
++volk_32fc_s32f_atan2_32f.h
++volk_32fc_s32f_deinterleave_real_16i.h
++volk_32fc_s32f_magnitude_16i.h
++volk_32fc_s32f_power_32fc.h
++volk_32fc_s32f_power_spectrum_32f.h
++volk_32fc_s32f_x2_power_spectral_density_32f.h
++volk_32fc_s32fc_multiply_32fc.h
++volk_32fc_s32fc_rotatorpuppet_32fc.h
++volk_32fc_s32fc_x2_rotator_32fc.h
++volk_32fc_x2_conjugate_dot_prod_32fc.h
++volk_32fc_x2_divide_32fc.h
++volk_32fc_x2_dot_prod_32fc.h
++volk_32fc_x2_multiply_32fc.h
++volk_32fc_x2_multiply_conjugate_32fc.h
++volk_32fc_x2_s32f_square_dist_scalar_mult_32f.h
++volk_32fc_x2_square_dist_32f.h
++volk_32i_s32f_convert_32f.h
++volk_32i_x2_and_32i.h
++volk_32i_x2_or_32i.h
++volk_32u_byteswap.h
++volk_32u_byteswappuppet_32u.h
++volk_32u_popcnt.h
++volk_32u_popcntpuppet_32u.h
++volk_64f_convert_32f.h
++volk_64f_x2_max_64f.h
++volk_64f_x2_min_64f.h
++volk_64u_byteswap.h
++volk_64u_byteswappuppet_64u.h
++volk_64u_popcnt.h
++volk_64u_popcntpuppet_64u.h
++volk_8i_convert_16i.h
++volk_8i_s32f_convert_32f.h
++volk_8ic_deinterleave_16i_x2.h
++volk_8ic_deinterleave_real_16i.h
++volk_8ic_deinterleave_real_8i.h
++volk_8ic_s32f_deinterleave_32f_x2.h
++volk_8ic_s32f_deinterleave_real_32f.h
++volk_8ic_x2_multiply_conjugate_16ic.h
++volk_8ic_x2_s32f_multiply_conjugate_32fc.h
++volk_8u_conv_k7_r2puppet_8u.h
++volk_8u_x2_encodeframepolar_8u.h
++volk_8u_x3_encodepolar_8u_x2.h
++volk_8u_x3_encodepolarpuppet_8u.h
++volk_8u_x4_conv_k7_r2_8u.h
++volk_avx_intrinsics.h
++volk_common.h
++volk_complex.h
++volk_config_fixed.h
++volk_cpu.h
++volk_malloc.h
++volk_neon_intrinsics.h
++volk_prefs.h
++volk_sse3_intrinsics.h
++volk_sse_intrinsics.h
++volk_typedefs.h
++
++
to the top
++

Libraries  1 


++
++libvolk.so.1.3
++
++
to the top
++


++

Test Info


++ ++ ++ ++ ++ ++ ++
Library Namelibvolk1-dev
Version #11.3-3
Version #21.4-1
Archx86_64
SubjectSource Compatibility
++

Test Results


++ ++ ++ ++ ++ ++ ++
Total Header Files135
Total Libraries1
Total Symbols / Types660 / 235
Compatibility99.1%
++

Problem Summary


++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++
SeverityCount
Added Symbols-46
Removed SymbolsHigh5
Problems with
Data Types
High0
Medium0
Low1
Problems with
Symbols
High1
Medium0
Low0
Problems with
Constants
Low1
Other Changes
in Constants
-2
++ ++

Added Symbols  46 


++volk.h
++volk_32f_64f_add_64f [data]
++volk_32f_64f_add_64f_a [data]
++volk_32f_64f_add_64f_get_func_desc ( )
++volk_32f_64f_add_64f_manual ( double* cVector, float const* aVector, double const* bVector, unsigned int num_points, char const* impl_name )
++volk_32f_64f_add_64f_u [data]
++volk_32f_64f_multiply_64f [data]
++volk_32f_64f_multiply_64f_a [data]
++volk_32f_64f_multiply_64f_get_func_desc ( )
++volk_32f_64f_multiply_64f_manual ( double* cVector, float const* aVector, double const* bVector, unsigned int num_points, char const* impl_name )
++volk_32f_64f_multiply_64f_u [data]
++volk_32f_s32f_mod_rangepuppet_32f [data]
++volk_32f_s32f_mod_rangepuppet_32f_a [data]
++volk_32f_s32f_mod_rangepuppet_32f_get_func_desc ( )
++volk_32f_s32f_mod_rangepuppet_32f_manual ( float* output, float const* input, float bound, unsigned int num_points, char const* impl_name )
++volk_32f_s32f_mod_rangepuppet_32f_u [data]
++volk_32f_s32f_s32f_mod_range_32f [data]
++volk_32f_s32f_s32f_mod_range_32f_a [data]
++volk_32f_s32f_s32f_mod_range_32f_get_func_desc ( )
++volk_32f_s32f_s32f_mod_range_32f_manual ( float* outputVector, float const* inputVector, float const lower_bound, float const upper_bound, unsigned int num_points, char const* impl_name )
++volk_32f_s32f_s32f_mod_range_32f_u [data]
++volk_32fc_32f_add_32fc [data]
++volk_32fc_32f_add_32fc_a [data]
++volk_32fc_32f_add_32fc_get_func_desc ( )
++volk_32fc_32f_add_32fc_manual ( lv_32fc_t* cVector, lv_32fc_t const* aVector, float const* bVector, unsigned int num_points, char const* impl_name )
++volk_32fc_32f_add_32fc_u [data]
++volk_32fc_x2_add_32fc [data]
++volk_32fc_x2_add_32fc_a [data]
++volk_32fc_x2_add_32fc_get_func_desc ( )
++volk_32fc_x2_add_32fc_manual ( lv_32fc_t* cVector, lv_32fc_t const* aVector, lv_32fc_t const* bVector, unsigned int num_points, char const* impl_name )
++volk_32fc_x2_add_32fc_u [data]
++volk_32u_reverse_32u [data]
++volk_32u_reverse_32u_a [data]
++volk_32u_reverse_32u_get_func_desc ( )
++volk_32u_reverse_32u_manual ( uint32_t* out, uint32_t const* in, unsigned int num_points, char const* impl_name )
++volk_32u_reverse_32u_u [data]
++volk_64f_x2_add_64f [data]
++volk_64f_x2_add_64f_a [data]
++volk_64f_x2_add_64f_get_func_desc ( )
++volk_64f_x2_add_64f_manual ( double* cVector, double const* aVector, double const* bVector, unsigned int num_points, char const* impl_name )
++volk_64f_x2_add_64f_u [data]
++volk_64f_x2_multiply_64f [data]
++volk_64f_x2_multiply_64f_a [data]
++volk_64f_x2_multiply_64f_get_func_desc ( )
++volk_64f_x2_multiply_64f_manual ( double* cVector, double const* aVector, double const* bVector, unsigned int num_points, char const* impl_name )
++volk_64f_x2_multiply_64f_u [data]
++
++volk_32u_reverse_32u.h
++ ++BitReverseTable256 [data] ++
++ ++ ++
++to the top
++

Removed Symbols  5 


++constants.h
++volk_available_machines ( )
++volk_c_compiler ( )
++volk_compiler_flags ( )
++volk_prefix ( )
++volk_version ( )
++
++to the top
++ ++

Problems with Symbols, High Severity  1 


++volk.h
++ ++[+] volk_32f_8u_polarbutterfly_32f_manual ( float* llrs, unsigned char* u, int const frame_size, int const frame_exp, int const stage, int const u_num, int const row, char const* impl_name )  1  ++
++ ++
++to the top
++ ++

Problems with Data Types, Low Severity  1 


++volk_typedefs.h
++ ++[+] typedef p_32f_8u_polarbutterfly_32f  1  ++
++ ++ ++
++to the top
++ ++

Problems with Constants, Low Severity  1 


++volk_32f_log2_32f.h
++ ++[+] LOG_POLY_DEGREE ++
++ ++ ++
++to the top
++ ++

Other Changes in Constants  2 


++volk_common.h
++ ++[+] __VOLK_ASM ++
++ ++ ++ ++[+] __VOLK_VOLATILE ++
++ ++ ++
++to the top
++

Header Files  135 


++
++constants.h
++saturation_arithmetic.h
++volk.h
++volk_16i_32fc_dot_prod_32fc.h
++volk_16i_branch_4_state_8.h
++volk_16i_convert_8i.h
++volk_16i_max_star_16i.h
++volk_16i_max_star_horizontal_16i.h
++volk_16i_permute_and_scalar_add.h
++volk_16i_s32f_convert_32f.h
++volk_16i_x4_quad_max_star_16i.h
++volk_16i_x5_add_quad_16i_x4.h
++volk_16ic_convert_32fc.h
++volk_16ic_deinterleave_16i_x2.h
++volk_16ic_deinterleave_real_16i.h
++volk_16ic_deinterleave_real_8i.h
++volk_16ic_magnitude_16i.h
++volk_16ic_s32f_deinterleave_32f_x2.h
++volk_16ic_s32f_deinterleave_real_32f.h
++volk_16ic_s32f_magnitude_32f.h
++volk_16ic_x2_dot_prod_16ic.h
++volk_16ic_x2_multiply_16ic.h
++volk_16u_byteswap.h
++volk_16u_byteswappuppet_16u.h
++volk_32f_8u_polarbutterfly_32f.h
++volk_32f_8u_polarbutterflypuppet_32f.h
++volk_32f_accumulator_s32f.h
++volk_32f_acos_32f.h
++volk_32f_asin_32f.h
++volk_32f_atan_32f.h
++volk_32f_binary_slicer_32i.h
++volk_32f_binary_slicer_8i.h
++volk_32f_convert_64f.h
++volk_32f_cos_32f.h
++volk_32f_expfast_32f.h
++volk_32f_index_max_16u.h
++volk_32f_index_max_32u.h
++volk_32f_invsqrt_32f.h
++volk_32f_log2_32f.h
++volk_32f_null_32f.h
++volk_32f_s32f_32f_fm_detect_32f.h
++volk_32f_s32f_calc_spectral_noise_floor_32f.h
++volk_32f_s32f_convert_16i.h
++volk_32f_s32f_convert_32i.h
++volk_32f_s32f_convert_8i.h
++volk_32f_s32f_multiply_32f.h
++volk_32f_s32f_normalize.h
++volk_32f_s32f_power_32f.h
++volk_32f_s32f_stddev_32f.h
++volk_32f_sin_32f.h
++volk_32f_sqrt_32f.h
++volk_32f_stddev_and_mean_32f_x2.h
++volk_32f_tan_32f.h
++volk_32f_tanh_32f.h
++volk_32f_x2_add_32f.h
++volk_32f_x2_divide_32f.h
++volk_32f_x2_dot_prod_16i.h
++volk_32f_x2_dot_prod_32f.h
++volk_32f_x2_fm_detectpuppet_32f.h
++volk_32f_x2_interleave_32fc.h
++volk_32f_x2_max_32f.h
++volk_32f_x2_min_32f.h
++volk_32f_x2_multiply_32f.h
++volk_32f_x2_pow_32f.h
++volk_32f_x2_s32f_interleave_16ic.h
++volk_32f_x2_subtract_32f.h
++volk_32f_x3_sum_of_poly_32f.h
++volk_32fc_32f_dot_prod_32fc.h
++volk_32fc_32f_multiply_32fc.h
++volk_32fc_conjugate_32fc.h
++volk_32fc_convert_16ic.h
++volk_32fc_deinterleave_32f_x2.h
++volk_32fc_deinterleave_64f_x2.h
++volk_32fc_deinterleave_imag_32f.h
++volk_32fc_deinterleave_real_32f.h
++volk_32fc_deinterleave_real_64f.h
++volk_32fc_index_max_16u.h
++volk_32fc_index_max_32u.h
++volk_32fc_magnitude_32f.h
++volk_32fc_magnitude_squared_32f.h
++volk_32fc_s32f_atan2_32f.h
++volk_32fc_s32f_deinterleave_real_16i.h
++volk_32fc_s32f_magnitude_16i.h
++volk_32fc_s32f_power_32fc.h
++volk_32fc_s32f_power_spectrum_32f.h
++volk_32fc_s32f_x2_power_spectral_density_32f.h
++volk_32fc_s32fc_multiply_32fc.h
++volk_32fc_s32fc_rotatorpuppet_32fc.h
++volk_32fc_s32fc_x2_rotator_32fc.h
++volk_32fc_x2_conjugate_dot_prod_32fc.h
++volk_32fc_x2_divide_32fc.h
++volk_32fc_x2_dot_prod_32fc.h
++volk_32fc_x2_multiply_32fc.h
++volk_32fc_x2_multiply_conjugate_32fc.h
++volk_32fc_x2_s32f_square_dist_scalar_mult_32f.h
++volk_32fc_x2_square_dist_32f.h
++volk_32i_s32f_convert_32f.h
++volk_32i_x2_and_32i.h
++volk_32i_x2_or_32i.h
++volk_32u_byteswap.h
++volk_32u_byteswappuppet_32u.h
++volk_32u_popcnt.h
++volk_32u_popcntpuppet_32u.h
++volk_64f_convert_32f.h
++volk_64f_x2_max_64f.h
++volk_64f_x2_min_64f.h
++volk_64u_byteswap.h
++volk_64u_byteswappuppet_64u.h
++volk_64u_popcnt.h
++volk_64u_popcntpuppet_64u.h
++volk_8i_convert_16i.h
++volk_8i_s32f_convert_32f.h
++volk_8ic_deinterleave_16i_x2.h
++volk_8ic_deinterleave_real_16i.h
++volk_8ic_deinterleave_real_8i.h
++volk_8ic_s32f_deinterleave_32f_x2.h
++volk_8ic_s32f_deinterleave_real_32f.h
++volk_8ic_x2_multiply_conjugate_16ic.h
++volk_8ic_x2_s32f_multiply_conjugate_32fc.h
++volk_8u_conv_k7_r2puppet_8u.h
++volk_8u_x2_encodeframepolar_8u.h
++volk_8u_x3_encodepolar_8u_x2.h
++volk_8u_x3_encodepolarpuppet_8u.h
++volk_8u_x4_conv_k7_r2_8u.h
++volk_avx_intrinsics.h
++volk_common.h
++volk_complex.h
++volk_config_fixed.h
++volk_cpu.h
++volk_malloc.h
++volk_neon_intrinsics.h
++volk_prefs.h
++volk_sse3_intrinsics.h
++volk_sse_intrinsics.h
++volk_typedefs.h
++
++
to the top
++

Libraries  1 


++
++libvolk.so.1.3
++
++
to the top
++



++ ++
++ ++ diff --cc debian/libvolk1.4.install index 0000000,0000000..e4252f4 new file mode 100644 --- /dev/null +++ b/debian/libvolk1.4.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/*/libvolk.so.* diff --cc debian/patches/0001-Update-CMakeLists-for-1.5-development-versions.patch index 0000000,0000000..d4a24ac new file mode 100644 --- /dev/null +++ b/debian/patches/0001-Update-CMakeLists-for-1.5-development-versions.patch @@@ -1,0 -1,0 +1,25 @@@ ++From da56e316ca095a09b53ce308a79b522bcb4a6504 Mon Sep 17 00:00:00 2001 ++From: Nathan West ++Date: Tue, 27 Mar 2018 12:50:12 -0400 ++Subject: [PATCH 1/9] Update CMakeLists for 1.5 development versions ++ ++--- ++ CMakeLists.txt | 2 +- ++ 1 file changed, 1 insertion(+), 1 deletion(-) ++ ++diff --git a/CMakeLists.txt b/CMakeLists.txt ++index a02ae80..d0f076c 100644 ++--- a/CMakeLists.txt +++++ b/CMakeLists.txt ++@@ -45,7 +45,7 @@ message(STATUS "Build type set to ${CMAKE_BUILD_TYPE}.") ++ ++ set(VERSION_INFO_MAJOR_VERSION 1) ++ set(VERSION_INFO_MINOR_VERSION 4) ++-set(VERSION_INFO_MAINT_VERSION 0) +++set(VERSION_INFO_MAINT_VERSION 1git) ++ include(VolkVersion) #setup version info ++ ++ ######################################################################## ++-- ++2.11.0 ++ diff --cc debian/patches/0002-Added-an-AVX-protokernel-for-volk_32fc_x2_32f_square.patch index 0000000,0000000..321beda new file mode 100644 --- /dev/null +++ b/debian/patches/0002-Added-an-AVX-protokernel-for-volk_32fc_x2_32f_square.patch @@@ -1,0 -1,0 +1,98 @@@ ++From 83832b2b922cb3ed979aa520ef7ce27557d5f705 Mon Sep 17 00:00:00 2001 ++From: "Brandon P. Enochs" ++Date: Tue, 3 Apr 2018 16:22:16 -0400 ++Subject: [PATCH 2/9] Added an AVX protokernel for ++ volk_32fc_x2_32f_square_dist_scalar_mult_32f. ++ ++--- ++ ...volk_32fc_x2_s32f_square_dist_scalar_mult_32f.h | 63 ++++++++++++++++++++-- ++ 1 file changed, 60 insertions(+), 3 deletions(-) ++ ++diff --git a/kernels/volk/volk_32fc_x2_s32f_square_dist_scalar_mult_32f.h b/kernels/volk/volk_32fc_x2_s32f_square_dist_scalar_mult_32f.h ++index e983578..6180337 100644 ++--- a/kernels/volk/volk_32fc_x2_s32f_square_dist_scalar_mult_32f.h +++++ b/kernels/volk/volk_32fc_x2_s32f_square_dist_scalar_mult_32f.h ++@@ -84,6 +84,65 @@ ++ #include ++ #include ++ +++#ifdef LV_HAVE_AVX +++#include +++ +++static inline void +++volk_32fc_x2_s32f_square_dist_scalar_mult_32f_a_avx( +++ float *target, lv_32fc_t *src0, lv_32fc_t *points, +++ float scalar, unsigned int num_points) { +++ static const unsigned int work_size = 8; +++ unsigned int avx_work_size = num_points / work_size * work_size; +++ int i = 0; +++ +++ for (; i < avx_work_size; i += work_size) { +++ lv_32fc_t src = *src0; +++ __m256 source = _mm256_setr_ps( +++ lv_creal(src), lv_cimag(src), +++ lv_creal(src), lv_cimag(src), +++ lv_creal(src), lv_cimag(src), +++ lv_creal(src), lv_cimag(src) +++ ); +++ __m256 points_low = _mm256_load_ps((const float *) points); +++ __m256 points_high = _mm256_load_ps((const float *) (points + work_size / 2)); +++ __m256 difference_low = _mm256_sub_ps(source, points_low); +++ __m256 difference_high = _mm256_sub_ps(source, points_high); +++ +++ difference_low = _mm256_mul_ps(difference_low, difference_low); +++ difference_high = _mm256_mul_ps(difference_high, difference_high); +++ +++ __m256 magnitudes_squared = _mm256_hadd_ps(difference_low, difference_high); +++ __m128 lower_magnitudes_squared_bottom = _mm256_extractf128_ps(magnitudes_squared, 0); +++ __m128 upper_magnitudes_squared_top = _mm256_extractf128_ps(magnitudes_squared, 1); +++ __m256 lower_magnitudes_squared = _mm256_castps128_ps256(lower_magnitudes_squared_bottom); +++ +++ lower_magnitudes_squared = _mm256_insertf128_ps( +++ lower_magnitudes_squared, _mm_permute_ps(lower_magnitudes_squared_bottom, 0x4E), 1 +++ ); +++ +++ __m256 upper_magnitudes_squared = _mm256_castps128_ps256(upper_magnitudes_squared_top); +++ +++ upper_magnitudes_squared = _mm256_insertf128_ps(upper_magnitudes_squared, upper_magnitudes_squared_top, 1); +++ upper_magnitudes_squared_top = _mm_permute_ps(upper_magnitudes_squared_top, 0x4E); +++ upper_magnitudes_squared = _mm256_insertf128_ps(upper_magnitudes_squared, upper_magnitudes_squared_top, 0); +++ +++ __m256 ordered_magnitudes_squared = _mm256_blend_ps(lower_magnitudes_squared, upper_magnitudes_squared, 0xCC); +++ __m256 scalars = _mm256_set1_ps(scalar); +++ __m256 output = _mm256_mul_ps(ordered_magnitudes_squared, scalars); +++ +++ _mm256_store_ps(target, output); +++ target += work_size; +++ points += work_size; +++ } +++ for (; i < num_points; ++i) { +++ lv_32fc_t diff = src0[0] - points[i]; +++ +++ target[i] = scalar * (lv_creal(diff) * lv_creal(diff) + lv_cimag(diff) * lv_cimag(diff)); +++ } +++} +++ +++#endif /* LV_HAVE_AVX */ +++ ++ #ifdef LV_HAVE_SSE3 ++ #include ++ #include ++@@ -183,13 +242,11 @@ static inline void ++ volk_32fc_x2_s32f_square_dist_scalar_mult_32f_generic(float* target, lv_32fc_t* src0, lv_32fc_t* points, ++ float scalar, unsigned int num_points) ++ { ++- const unsigned int num_bytes = num_points*8; ++- ++ lv_32fc_t diff; ++ float sq_dist; ++ unsigned int i = 0; ++ ++- for(; i < num_bytes >> 3; ++i) { +++ for(; i < num_points; ++i) { ++ diff = src0[0] - points[i]; ++ ++ sq_dist = scalar * (lv_creal(diff) * lv_creal(diff) + lv_cimag(diff) * lv_cimag(diff)); ++-- ++2.11.0 ++ diff --cc debian/patches/0003-extracted-variables-for-the-source-real-and-imaginar.patch index 0000000,0000000..1e64640 new file mode 100644 --- /dev/null +++ b/debian/patches/0003-extracted-variables-for-the-source-real-and-imaginar.patch @@@ -1,0 -1,0 +1,33 @@@ ++From 446c79567fd7b39b9f0fabc72bcb952df8778018 Mon Sep 17 00:00:00 2001 ++From: "Brandon P. Enochs" ++Date: Tue, 3 Apr 2018 16:29:40 -0400 ++Subject: [PATCH 3/9] extracted variables for the source real and imaginary ++ parts in volk_32fc_x2_s32f_square_dist_scalar_mult_32f_a_avx. ++ ++--- ++ kernels/volk/volk_32fc_x2_s32f_square_dist_scalar_mult_32f.h | 9 +++------ ++ 1 file changed, 3 insertions(+), 6 deletions(-) ++ ++diff --git a/kernels/volk/volk_32fc_x2_s32f_square_dist_scalar_mult_32f.h b/kernels/volk/volk_32fc_x2_s32f_square_dist_scalar_mult_32f.h ++index 6180337..0a3f7ca 100644 ++--- a/kernels/volk/volk_32fc_x2_s32f_square_dist_scalar_mult_32f.h +++++ b/kernels/volk/volk_32fc_x2_s32f_square_dist_scalar_mult_32f.h ++@@ -97,12 +97,9 @@ volk_32fc_x2_s32f_square_dist_scalar_mult_32f_a_avx( ++ ++ for (; i < avx_work_size; i += work_size) { ++ lv_32fc_t src = *src0; ++- __m256 source = _mm256_setr_ps( ++- lv_creal(src), lv_cimag(src), ++- lv_creal(src), lv_cimag(src), ++- lv_creal(src), lv_cimag(src), ++- lv_creal(src), lv_cimag(src) ++- ); +++ float src_real = lv_creal(src); +++ float src_imag = lv_cimag(src); +++ __m256 source = _mm256_setr_ps(src_real, src_imag, src_real, src_imag, src_real, src_imag, src_real, src_imag); ++ __m256 points_low = _mm256_load_ps((const float *) points); ++ __m256 points_high = _mm256_load_ps((const float *) (points + work_size / 2)); ++ __m256 difference_low = _mm256_sub_ps(source, points_low); ++-- ++2.11.0 ++ diff --cc debian/patches/0004-fixed-a-buffer-over-read-and-over-write-in-volk_32fc.patch index 0000000,0000000..a05e8d5 new file mode 100644 --- /dev/null +++ b/debian/patches/0004-fixed-a-buffer-over-read-and-over-write-in-volk_32fc.patch @@@ -1,0 -1,0 +1,31 @@@ ++From 3d0f47381454cf6f79fddb081cee0a50b2a684eb Mon Sep 17 00:00:00 2001 ++From: "Brandon P. Enochs" ++Date: Tue, 3 Apr 2018 18:20:53 -0400 ++Subject: [PATCH 4/9] fixed a buffer over-read and over-write in ++ volk_32fc_x2_s32f_square_dist_scalar_mult_32f_a_avx. ++ ++--- ++ kernels/volk/volk_32fc_x2_s32f_square_dist_scalar_mult_32f.h | 6 ++++-- ++ 1 file changed, 4 insertions(+), 2 deletions(-) ++ ++diff --git a/kernels/volk/volk_32fc_x2_s32f_square_dist_scalar_mult_32f.h b/kernels/volk/volk_32fc_x2_s32f_square_dist_scalar_mult_32f.h ++index 0a3f7ca..8f5b02a 100644 ++--- a/kernels/volk/volk_32fc_x2_s32f_square_dist_scalar_mult_32f.h +++++ b/kernels/volk/volk_32fc_x2_s32f_square_dist_scalar_mult_32f.h ++@@ -132,9 +132,11 @@ volk_32fc_x2_s32f_square_dist_scalar_mult_32f_a_avx( ++ points += work_size; ++ } ++ for (; i < num_points; ++i) { ++- lv_32fc_t diff = src0[0] - points[i]; +++ lv_32fc_t diff = src0[0] - *points; ++ ++- target[i] = scalar * (lv_creal(diff) * lv_creal(diff) + lv_cimag(diff) * lv_cimag(diff)); +++ *target = scalar * (lv_creal(diff) * lv_creal(diff) + lv_cimag(diff) * lv_cimag(diff)); +++ ++target; +++ ++points; ++ } ++ } ++ ++-- ++2.11.0 ++ diff --cc debian/patches/0005-cmake-Fix-endif-to-match-if.patch index 0000000,0000000..e471d5e new file mode 100644 --- /dev/null +++ b/debian/patches/0005-cmake-Fix-endif-to-match-if.patch @@@ -1,0 -1,0 +1,23 @@@ ++From 21d86728946b915bfe2f177dfa97fb2c94a5957a Mon Sep 17 00:00:00 2001 ++From: Michael Dickens ++Date: Thu, 5 Apr 2018 14:02:57 -0400 ++Subject: [PATCH 5/9] cmake: Fix 'endif' to match 'if' ++ ++--- ++ cmake/Modules/VolkConfigVersion.cmake.in | 2 +- ++ 1 file changed, 1 insertion(+), 1 deletion(-) ++ ++diff --git a/cmake/Modules/VolkConfigVersion.cmake.in b/cmake/Modules/VolkConfigVersion.cmake.in ++index 265daeb..988336d 100644 ++--- a/cmake/Modules/VolkConfigVersion.cmake.in +++++ b/cmake/Modules/VolkConfigVersion.cmake.in ++@@ -30,5 +30,5 @@ if(${PACKAGE_FIND_VERSION_MAJOR} EQUAL ${MAJOR_VERSION}) ++ set(PACKAGE_VERSION_EXACT 1) # exact match for API version ++ set(PACKAGE_VERSION_COMPATIBLE 1) # compat for minor/patch version ++ endif(NOT ${PACKAGE_FIND_VERSION_PATCH} GREATER ${MINOR_VERSION}) ++- endif(${PACKAGE_FIND_VERSION_MINOR} EQUAL ${API_COMPAT}) +++ endif(${PACKAGE_FIND_VERSION_MINOR} EQUAL ${MINOR_VERSION}) ++ endif(${PACKAGE_FIND_VERSION_MAJOR} EQUAL ${MAJOR_VERSION}) ++-- ++2.11.0 ++ diff --cc debian/patches/0006-Add-sys-time.h-header-copied-from-gnuradio-to-fix-Wi.patch index 0000000,0000000..cd1bf7b new file mode 100644 --- /dev/null +++ b/debian/patches/0006-Add-sys-time.h-header-copied-from-gnuradio-to-fix-Wi.patch @@@ -1,0 -1,0 +1,91 @@@ ++From 1b4604aa51c60c10dc4b1ac11b9d6d6ce5ced21e Mon Sep 17 00:00:00 2001 ++From: Ryan Volz ++Date: Fri, 13 Apr 2018 16:37:23 -0400 ++Subject: [PATCH 6/9] Add header (copied from gnuradio) to fix ++ Windows build. ++ ++--- ++ cmake/msvc/sys/time.h | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++ ++ 1 file changed, 71 insertions(+) ++ create mode 100644 cmake/msvc/sys/time.h ++ ++diff --git a/cmake/msvc/sys/time.h b/cmake/msvc/sys/time.h ++new file mode 100644 ++index 0000000..dca0fdf ++--- /dev/null +++++ b/cmake/msvc/sys/time.h ++@@ -0,0 +1,71 @@ +++#ifndef _MSC_VER // [ +++#error "Use this header only with Microsoft Visual C++ compilers!" +++#endif // _MSC_VER ] +++ +++#ifndef _MSC_SYS_TIME_H_ +++#define _MSC_SYS_TIME_H_ +++ +++//http://social.msdn.microsoft.com/Forums/en/vcgeneral/thread/430449b3-f6dd-4e18-84de-eebd26a8d668 +++#include < time.h > +++#include //I've omitted this line. +++#if defined(_MSC_VER) || defined(_MSC_EXTENSIONS) +++ #define DELTA_EPOCH_IN_MICROSECS 11644473600000000Ui64 +++#else +++ #define DELTA_EPOCH_IN_MICROSECS 11644473600000000ULL +++#endif +++ +++#if _MSC_VER < 1900 +++struct timespec { +++ +++time_t tv_sec; /* Seconds since 00:00:00 GMT, */ +++ +++/* 1 January 1970 */ +++ +++long tv_nsec; /* Additional nanoseconds since */ +++ +++/* tv_sec */ +++ +++}; +++#endif +++ +++struct timezone +++{ +++ int tz_minuteswest; /* minutes W of Greenwich */ +++ int tz_dsttime; /* type of dst correction */ +++}; +++ +++static inline int gettimeofday(struct timeval *tv, struct timezone *tz) +++{ +++ FILETIME ft; +++ unsigned __int64 tmpres = 0; +++ static int tzflag; +++ +++ if (NULL != tv) +++ { +++ GetSystemTimeAsFileTime(&ft); +++ +++ tmpres |= ft.dwHighDateTime; +++ tmpres <<= 32; +++ tmpres |= ft.dwLowDateTime; +++ +++ /*converting file time to unix epoch*/ +++ tmpres -= DELTA_EPOCH_IN_MICROSECS; +++ tv->tv_sec = (long)(tmpres / 1000000UL); +++ tv->tv_usec = (long)(tmpres % 1000000UL); +++ } +++ +++ if (NULL != tz) +++ { +++ if (!tzflag) +++ { +++ _tzset(); +++ tzflag++; +++ } +++ tz->tz_minuteswest = _timezone / 60; +++ tz->tz_dsttime = _daylight; +++ } +++ +++ return 0; +++} +++ +++#endif //_MSC_SYS_TIME_H_ ++-- ++2.11.0 ++ diff --cc debian/patches/0007-Fix-compile-on-Windows-by-avoiding-min-max-macros-in.patch index 0000000,0000000..f84d513 new file mode 100644 --- /dev/null +++ b/debian/patches/0007-Fix-compile-on-Windows-by-avoiding-min-max-macros-in.patch @@@ -1,0 -1,0 +1,29 @@@ ++From 8eef886bb94b927364314877164600701678e864 Mon Sep 17 00:00:00 2001 ++From: Ryan Volz ++Date: Tue, 17 Apr 2018 10:23:32 -0400 ++Subject: [PATCH 7/9] Fix compile on Windows by avoiding min/max macros in ++ windows.h. ++ ++--- ++ cmake/msvc/sys/time.h | 5 +++++ ++ 1 file changed, 5 insertions(+) ++ ++diff --git a/cmake/msvc/sys/time.h b/cmake/msvc/sys/time.h ++index dca0fdf..aa0f5dc 100644 ++--- a/cmake/msvc/sys/time.h +++++ b/cmake/msvc/sys/time.h ++@@ -5,6 +5,11 @@ ++ #ifndef _MSC_SYS_TIME_H_ ++ #define _MSC_SYS_TIME_H_ ++ +++// prevent windows.h from clobbering min and max functions with macros +++#ifndef NOMINMAX +++#define NOMINMAX +++#endif +++ ++ //http://social.msdn.microsoft.com/Forums/en/vcgeneral/thread/430449b3-f6dd-4e18-84de-eebd26a8d668 ++ #include < time.h > ++ #include //I've omitted this line. ++-- ++2.11.0 ++ diff --cc debian/patches/0008-Fix-add_test-for-Windows.patch index 0000000,0000000..cfb01b1 new file mode 100644 --- /dev/null +++ b/debian/patches/0008-Fix-add_test-for-Windows.patch @@@ -1,0 -1,0 +1,71 @@@ ++From c88395979c25a952b2c8deb9a37138fa2dc6e9e7 Mon Sep 17 00:00:00 2001 ++From: Ryan Volz ++Date: Tue, 17 Apr 2018 13:45:38 -0400 ++Subject: [PATCH 8/9] Fix add_test for Windows. ++ ++--- ++ cmake/Modules/VolkAddTest.cmake | 35 +++++++++++++++++++---------------- ++ 1 file changed, 19 insertions(+), 16 deletions(-) ++ ++diff --git a/cmake/Modules/VolkAddTest.cmake b/cmake/Modules/VolkAddTest.cmake ++index 16c04f3..46f35f0 100644 ++--- a/cmake/Modules/VolkAddTest.cmake +++++ b/cmake/Modules/VolkAddTest.cmake ++@@ -176,20 +176,19 @@ function(VOLK_ADD_TEST test_name executable_name) ++ #set them in the PATH to run tests. The following appends the ++ #path of a target dependency. ++ # ++- #NOTE: get_target_property LOCATION is being deprecated as of ++- #CMake 3.2.0, which just prints a warning & notes that this ++- #functionality will be removed in the future. Leave it here for ++- #now until someone can figure out how to do this in Windows. ++- foreach(target ${test_name} ${VOLK_TEST_TARGET_DEPS}) ++- get_target_property(location "${target}" LOCATION) ++- if(location) ++- get_filename_component(path ${location} PATH) ++- string(REGEX REPLACE "\\$\\(.*\\)" ${CMAKE_BUILD_TYPE} path ${path}) ++- list(APPEND libpath ${path}) ++- endif(location) ++- endforeach(target) ++- ++- list(APPEND libpath ${DLL_PATHS} "%PATH%") +++ #create a list of target directories to be determined by the +++ #"add_test" command, via the $ operator; make sure the +++ #test's directory is first, since it ($1) is prepended to PATH. +++ unset(TARGET_DIR_LIST) +++ foreach(target ${executable_name} ${VOLK_TEST_TARGET_DEPS}) +++ list(APPEND TARGET_DIR_LIST "$") +++ endforeach() +++ #replace list separator with the path separator (escaped) +++ string(REPLACE ";" "\\\\;" TARGET_DIR_LIST "${TARGET_DIR_LIST}") +++ +++ #add command line argument (TARGET_DIR_LIST) to path and append current path +++ list(INSERT libpath 0 "%1") +++ list(APPEND libpath "%PATH%") ++ ++ #replace list separator with the path separator (escaped) ++ string(REPLACE ";" "\\;" libpath "${libpath}") ++@@ -204,14 +203,18 @@ function(VOLK_ADD_TEST test_name executable_name) ++ file(APPEND ${bat_file} "SET ${environ}\n") ++ endforeach(environ) ++ +++ set(VOLK_TEST_ARGS "${test_name}") +++ ++ #redo the test args to have a space between each ++ string(REPLACE ";" " " VOLK_TEST_ARGS "${VOLK_TEST_ARGS}") ++ ++ #finally: append the test name to execute ++- file(APPEND ${bat_file} ${test_name} " " ${VOLK_TEST_ARGS} "\n") +++ file(APPEND ${bat_file} "${executable_name} ${VOLK_TEST_ARGS}\n") ++ file(APPEND ${bat_file} "\n") ++ ++- add_test(${test_name} ${bat_file}) +++ add_test(NAME qa_${test_name} +++ COMMAND ${bat_file} ${TARGET_DIR_LIST} +++ ) ++ endif(WIN32) ++ ++ endfunction(VOLK_ADD_TEST) ++-- ++2.11.0 ++ diff --cc debian/patches/0009-Fix-32u_reverse_32u-for-ARM.patch index 0000000,0000000..f57e22e new file mode 100644 --- /dev/null +++ b/debian/patches/0009-Fix-32u_reverse_32u-for-ARM.patch @@@ -1,0 -1,0 +1,31 @@@ ++From 297fefdd16e5a230f094e0f4ac2918f0586154be Mon Sep 17 00:00:00 2001 ++From: Philip Balister ++Date: Fri, 27 Apr 2018 10:54:33 +0000 ++Subject: [PATCH 9/9] Fix 32u_reverse_32u for ARM. ++ ++ * Order of operands in inline asm reversed. ++ * Worked for some tune setting since gcc generated rbit lr, lr so ++ order didn't matter. For other tune settings it generated rbit r3, r2 ++ which would fail QA test. ++ ++Signed-off-by: Philip Balister ++--- ++ kernels/volk/volk_32u_reverse_32u.h | 2 +- ++ 1 file changed, 1 insertion(+), 1 deletion(-) ++ ++diff --git a/kernels/volk/volk_32u_reverse_32u.h b/kernels/volk/volk_32u_reverse_32u.h ++index acdbacd..417a5d1 100644 ++--- a/kernels/volk/volk_32u_reverse_32u.h +++++ b/kernels/volk/volk_32u_reverse_32u.h ++@@ -337,7 +337,7 @@ static inline void volk_32u_reverse_32u_bintree_permute_bottom_up(uint32_t* out, ++ #include ++ ++ #define DO_RBIT \ ++- asm("rbit %1,%0" : "=r" (*out_ptr) : "r" (*in_ptr)); \ +++ asm("rbit %0,%1" : "=r" (*out_ptr) : "r" (*in_ptr)); \ ++ in_ptr++; \ ++ out_ptr++; ++ ++-- ++2.11.0 ++ diff --cc debian/patches/libm-link index 0000000,0000000..b8f6314 new file mode 100644 --- /dev/null +++ b/debian/patches/libm-link @@@ -1,0 -1,0 +1,20 @@@ ++--- a/lib/CMakeLists.txt +++++ b/lib/CMakeLists.txt ++@@ -542,7 +542,7 @@ ++ ++ #Add dynamic library ++ add_library(volk SHARED $) ++- target_link_libraries(volk ${volk_libraries}) +++ target_link_libraries(volk ${volk_libraries} m) ++ target_include_directories(volk ++ PUBLIC ${PROJECT_BINARY_DIR}/include ++ PUBLIC ${PROJECT_SOURCE_DIR}/include ++@@ -584,7 +584,7 @@ ++ else() ++ #create the volk runtime library ++ add_library(volk SHARED ${volk_sources}) ++- target_link_libraries(volk ${volk_libraries}) +++ target_link_libraries(volk ${volk_libraries} m) ++ include_directories(volk ++ PUBLIC ${PROJECT_BINARY_DIR}/include ++ PUBLIC ${PROJECT_SOURCE_DIR}/include diff --cc debian/patches/make-acc-happy index 0000000,0000000..08ebf34 new file mode 100644 --- /dev/null +++ b/debian/patches/make-acc-happy @@@ -1,0 -1,0 +1,69 @@@ ++From 799245ea6e9e05cc0ed0fabe783fbbe1a5054fd4 Mon Sep 17 00:00:00 2001 ++From: "A. Maitland Bottoms" ++Date: Tue, 27 Mar 2018 22:02:59 -0400 ++Subject: [PATCH 2/6] make acc happy ++ ++The abi-compliance-checker grabs all the .h files it finds ++and tries to compile them all. Even though some are not ++appropriate for the architecture being run on. Being careful ++with preprocessor protections avoids problems. ++--- ++ include/volk/volk_neon_intrinsics.h | 2 ++ ++ kernels/volk/volk_32f_8u_polarbutterflypuppet_32f.h | 1 + ++ kernels/volk/volk_8u_x2_encodeframepolar_8u.h | 3 --- ++ 3 files changed, 3 insertions(+), 3 deletions(-) ++ ++diff --git a/include/volk/volk_neon_intrinsics.h b/include/volk/volk_neon_intrinsics.h ++index 3f121a8..ef42dea 100644 ++--- a/include/volk/volk_neon_intrinsics.h +++++ b/include/volk/volk_neon_intrinsics.h ++@@ -27,6 +27,7 @@ ++ ++ #ifndef INCLUDE_VOLK_VOLK_NEON_INTRINSICS_H_ ++ #define INCLUDE_VOLK_VOLK_NEON_INTRINSICS_H_ +++#ifdef LV_HAVE_NEON ++ #include ++ ++ static inline float32x4_t ++@@ -119,4 +120,5 @@ _vlog2q_f32(float32x4_t aval) ++ return log2_approx; ++ } ++ +++#endif /*LV_HAVE_NEON*/ ++ #endif /* INCLUDE_VOLK_VOLK_NEON_INTRINSICS_H_ */ ++diff --git a/kernels/volk/volk_32f_8u_polarbutterflypuppet_32f.h b/kernels/volk/volk_32f_8u_polarbutterflypuppet_32f.h ++index 49a3076..4f84352 100644 ++--- a/kernels/volk/volk_32f_8u_polarbutterflypuppet_32f.h +++++ b/kernels/volk/volk_32f_8u_polarbutterflypuppet_32f.h ++@@ -31,6 +31,7 @@ ++ #include ++ #include ++ #include +++#include ++ ++ ++ static inline void ++diff --git a/kernels/volk/volk_8u_x2_encodeframepolar_8u.h b/kernels/volk/volk_8u_x2_encodeframepolar_8u.h ++index 6a605c6..ff729a8 100644 ++--- a/kernels/volk/volk_8u_x2_encodeframepolar_8u.h +++++ b/kernels/volk/volk_8u_x2_encodeframepolar_8u.h ++@@ -58,8 +58,6 @@ encodepolar_single_stage(unsigned char* frame_ptr, const unsigned char* temp_ptr ++ } ++ } ++ ++-#ifdef LV_HAVE_GENERIC ++- ++ static inline void ++ volk_8u_x2_encodeframepolar_8u_generic(unsigned char* frame, unsigned char* temp, ++ unsigned int frame_size) ++@@ -79,7 +77,6 @@ volk_8u_x2_encodeframepolar_8u_generic(unsigned char* frame, unsigned char* temp ++ --stage; ++ } ++ } ++-#endif /* LV_HAVE_GENERIC */ ++ ++ #ifdef LV_HAVE_SSSE3 ++ #include ++-- ++2.11.0 ++ diff --cc debian/patches/native-armv7-build-support index 0000000,0000000..860bf41 new file mode 100644 --- /dev/null +++ b/debian/patches/native-armv7-build-support @@@ -1,0 -1,0 +1,64 @@@ ++From b554121e765a3495e23975112f269a8083950212 Mon Sep 17 00:00:00 2001 ++From: "A. Maitland Bottoms" ++Date: Tue, 27 Mar 2018 22:01:33 -0400 ++Subject: [PATCH 1/6] native armv7 build support ++ ++Debian, unlike other GNU Radio deployments, does not cross-compile ++packages, but builds natively on a set of build machines, including ++both arm and armhf. ++--- ++ lib/CMakeLists.txt | 15 +++++++++++---- ++ 1 file changed, 11 insertions(+), 4 deletions(-) ++ ++--- a/lib/CMakeLists.txt +++++ b/lib/CMakeLists.txt ++@@ -250,6 +250,13 @@ ++ endif(NOT CPU_IS_x86) ++ ++ ######################################################################## +++# if building Debian armel, eliminate neon +++######################################################################## +++if(${CMAKE_LIBRARY_ARCHITECTURE} STREQUAL "arm-linux-gnueabi") +++ OVERRULE_ARCH(neon "Architecture is not armhf") +++endif(${CMAKE_LIBRARY_ARCHITECTURE} STREQUAL "arm-linux-gnueabi") +++ +++######################################################################## ++ # implement overruling in the ORC case, ++ # since ORC always passes flag detection ++ ######################################################################## ++@@ -404,7 +411,7 @@ ++ # Handle ASM support ++ # on by default, but let users turn it off ++ ######################################################################## ++-if(${CMAKE_VERSION} VERSION_GREATER "2.8.9") +++if((${CMAKE_VERSION} VERSION_GREATER "2.8.9") AND NOT (${CMAKE_LIBRARY_ARCHITECTURE} STREQUAL "arm-linux-gnueabi")) ++ set(ASM_ARCHS_AVAILABLE "neon") ++ ++ set(FULL_C_FLAGS "${CMAKE_C_FLAGS}" "${CMAKE_CXX_COMPILER_ARG1}") ++@@ -414,7 +421,7 @@ ++ # set up the assembler flags and include the source files ++ foreach(ARCH ${ASM_ARCHS_AVAILABLE}) ++ string(REGEX MATCH "${ARCH}" ASM_ARCH "${available_archs}") ++- if( ASM_ARCH STREQUAL "neon" ) +++ if(( ASM_ARCH STREQUAL "neon" ) OR ( ${CMAKE_SYSTEM_PROCESSOR} MATCHES "armv7")) ++ message(STATUS "---- Adding ASM files") # we always use ATT syntax ++ message(STATUS "-- Detected neon architecture; enabling ASM") ++ # setup architecture specific assembler flags ++@@ -433,7 +440,7 @@ ++ message(STATUS "asm flags: ${CMAKE_ASM_FLAGS}") ++ endforeach(ARCH) ++ ++-else(${CMAKE_VERSION} VERSION_GREATER "2.8.9") +++else((${CMAKE_VERSION} VERSION_GREATER "2.8.9") AND NOT (${CMAKE_LIBRARY_ARCHITECTURE} STREQUAL "arm-linux-gnueabi")) ++ message(STATUS "Not enabling ASM support. CMake >= 2.8.10 required.") ++ foreach(machine_name ${available_machines}) ++ string(REGEX MATCH "neon" NEON_MACHINE ${machine_name}) ++@@ -441,7 +448,7 @@ ++ message(FATAL_ERROR "CMake >= 2.8.10 is required for ARM NEON support") ++ endif() ++ endforeach() ++-endif(${CMAKE_VERSION} VERSION_GREATER "2.8.9") +++endif((${CMAKE_VERSION} VERSION_GREATER "2.8.9") AND NOT (${CMAKE_LIBRARY_ARCHITECTURE} STREQUAL "arm-linux-gnueabi")) ++ ++ ######################################################################## ++ # Handle orc support diff --cc debian/patches/series index 0000000,0000000..b3f65ad new file mode 100644 --- /dev/null +++ b/debian/patches/series @@@ -1,0 -1,0 +1,12 @@@ ++0002-Added-an-AVX-protokernel-for-volk_32fc_x2_32f_square.patch ++0003-extracted-variables-for-the-source-real-and-imaginar.patch ++0004-fixed-a-buffer-over-read-and-over-write-in-volk_32fc.patch ++0005-cmake-Fix-endif-to-match-if.patch ++0006-Add-sys-time.h-header-copied-from-gnuradio-to-fix-Wi.patch ++0007-Fix-compile-on-Windows-by-avoiding-min-max-macros-in.patch ++0008-Fix-add_test-for-Windows.patch ++0009-Fix-32u_reverse_32u-for-ARM.patch ++native-armv7-build-support ++make-acc-happy ++sort-cmake-glob-lists ++libm-link diff --cc debian/patches/sort-cmake-glob-lists index 0000000,0000000..eeefb5a new file mode 100644 --- /dev/null +++ b/debian/patches/sort-cmake-glob-lists @@@ -1,0 -1,0 +1,25 @@@ ++From 9d32c341220aeb5a07011b7ef349f8c606941ee4 Mon Sep 17 00:00:00 2001 ++From: "A. Maitland Bottoms" ++Date: Tue, 27 Mar 2018 22:04:11 -0400 ++Subject: [PATCH 3/6] sort cmake glob lists ++ ++File lists are generated in a CMakeLists.txt file with file(GLOB ...), which varies ++with the readdir() order. Sorting the lists should help make reproducible builds. ++--- ++ lib/CMakeLists.txt | 3 +++ ++ 1 file changed, 3 insertions(+) ++ ++--- a/lib/CMakeLists.txt +++++ b/lib/CMakeLists.txt ++@@ -328,8 +328,11 @@ ++ ++ #dependencies are all python, xml, and header implementation files ++ file(GLOB xml_files ${PROJECT_SOURCE_DIR}/gen/*.xml) +++list(SORT xml_files) ++ file(GLOB py_files ${PROJECT_SOURCE_DIR}/gen/*.py) +++list(SORT py_files) ++ file(GLOB h_files ${PROJECT_SOURCE_DIR}/kernels/volk/*.h) +++list(SORT h_files) ++ ++ macro(gen_template tmpl output) ++ list(APPEND volk_gen_sources ${output}) diff --cc debian/release-v14.html index 0000000,0000000..9b64527 new file mode 100644 --- /dev/null +++ b/debian/release-v14.html @@@ -1,0 -1,0 +1,201 @@@ ++ ++ ++ ++ ++ Vector Optimized Library of Kernels ++ ++ ++ ++ ++ ++ ++ ++
++
++
++ ++ VOLK logo ++ ++
++
++

++ ++ Vector-Optimized Library of Kernels ++ : ++Release v1.4 ++

++
++
++
++
++
++
++ ++ ++
++
++
++

VOLK v1.4

++

A lot of really good changes came to VOLK with v1.4. It wouldn't have been possible without the following contributors:

++

Contributors

++ ++

Changes

++

Generally, there are a lot of kernel changes and some minor dependency changes. I'm trying to remove boost as a dependency and we've introduced mako templates rather than the old Cheetah-templates to keep in line with GNU Radio. There are also several new CI files that support appveyor, travis-ci, and gitlab. Right now all pull requests must pass travis-ci.

++

Kernels

++

The easiest way to show these changes is simply with two lists:

++

New kernels

++
    ++
  • 32 bit reversal
  • ++
  • 32f_s32f_s32f_mod_range_32f
  • ++
  • double precision (64f_XXX...)
      ++
    • multiply
    • ++
    • add
    • ++
    ++
  • ++
  • 32f_64f_multiply_64f
  • ++
  • add 32f_64f_add_64f
  • ++
  • 32fc_x2_add_32fc
  • ++
++

New proto-kernels by architecture

++

AVX(2):

++

Note that in some cases an unaligned version was added where an aligned version already existed

++
    ++
  • volk_64f_convert_32f
  • ++
  • volk_64f_x2_max_64f
  • ++
  • volk_64f_x2_min_64f
  • ++
  • volk_32f_x2_add_32f
  • ++
  • 32i_x2_and_32i
  • ++
  • 32i_x2_or_32i
  • ++
  • conjugate dot products
  • ++
  • 32f_accumulator_32f
  • ++
  • stddev_and_mean
  • ++
  • volk_32f_* kernels
  • ++
  • 32f_x2_divide_32f
  • ++
  • 32f_x2_dot_prod_16i
  • ++
  • volk_32f_s32f_normalize
  • ++
  • volk_32f_s32f_stddev_32f
  • ++
  • volk_32f_sqrt_32f
  • ++
  • volk_32f_x2_max_32f
  • ++
  • volk_32f_x2_min_32f
  • ++
  • 32f_x2_s32f_interleave_16ic
  • ++
  • 32f_x2_subtract_32f
  • ++
  • 32f_x2_s32f_interleave_16ic
  • ++
  • 32f_x2_subtract_32f
  • ++
  • 32f_x2_subtract_32f
  • ++
  • 32f_x2_s32f_interleave_16ic
  • ++
  • volk_8ic_s32f_deinterleave_*
  • ++
  • 32f_log2_32f
  • ++
  • volk_32f_s32f_convert_8i and 16i
  • ++
++

NEON:

++
    ++
  • move all neonasm to aligned protokernels
  • ++
  • added ARM version of volk_32u_reverse_32u (RBIT)
  • ++
  • volk_32fc_x2_divide_32fc
  • ++
  • volk_32fc_32f_add_32fc
  • ++
  • volk_32f_x2_divide_32f
  • ++
  • volk_8i_s32f_convert_32f
  • ++
++

Additionally, there are new protokernel intrinsics available for use in writing new kernels.

++

Then, we also had some general kernel and protokernel bug fixes and using proper type-named C functions which happened to increase performance:

++

The polarbutterfly went through some heavy refactoring and bug fixes as well as adding an AVX version. ++Fix GH issue #139 for 32fc_index_max_* kernels resulting in a slightly wrong index being returned. ++Fix bug 106 (volk_64u_popcnt bug in generic implementation)

++

CI and Builds

++

As previously mentioned there are appveyor, travis-ci, and gitlab CI files available. There is a travis-ci instance checking all pull requests at https://travis-ci.org/gnuradio/volk/ and a gitlab mirror running CI checks at https://gitlab.com/n-west/volk.

++

While working on these CI files the kernel tests were split in to individual ctest targets so that each kernel is its own test rather than running them as a monolithic binary. This allows parallel testing, but mostly enables easier diagnostics when a test fails. The readme is now a markdown file that renders well on GitHub and Gitlab along with the travis-ci status as a badge.

++

Within this release two tools were run that reorganized includes and fixed a bunch of typos within code.

++

As part of the attempt to build VOLK without boost a bunch of app and build utilities were written to replace boost-code. This shouldnt be visible to the user, but will hopefully make future builds easier and smaller with fewer build and run-time dependencies. Builds with python 2.7 and 3 should work-- although six is required for python2.7 support.

++

Some build changes make it easier to do a relocatable build and order all files before building so that building from a particular revision (from now on) should be reproducible across machines building the same architectures. To use a relocatable install use the VOLK_PREFIX environment variable. This should support snaps (Canonical packaging environment).

++

Modtool

++
modtool: update the cmake find module for volk mods
++modtool: deconflict module include guards from main volk
++
++
++
++ ++
++
++
++
++ ++
++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ diff --cc debian/rules index 0000000,0000000..d58ca4b new file mode 100755 --- /dev/null +++ b/debian/rules @@@ -1,0 -1,0 +1,17 @@@ ++#!/usr/bin/make -f ++DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) ++export DEB_HOST_MULTIARCH ++DH_VERBOSE=1 ++export DH_VERBOSE ++ ++%: ++ dh $@ --with python2 ++ ++override_dh_auto_configure: ++ dh_auto_configure -- -DLIB_SUFFIX="/$(DEB_HOST_MULTIARCH)" -DPYTHON_EXECUTABLE=/usr/bin/python ++ ++override_dh_auto_test: ++ - dh_auto_test -- CTEST_TEST_TIMEOUT=60 ++ ++override_dh_acc: ++ - dh_acc diff --cc debian/source/format index 0000000,0000000..163aaf8 new file mode 100644 --- /dev/null +++ b/debian/source/format @@@ -1,0 -1,0 +1,1 @@@ ++3.0 (quilt) diff --cc debian/source/include-binaries index 0000000,0000000..bc68a00 new file mode 100644 --- /dev/null +++ b/debian/source/include-binaries @@@ -1,0 -1,0 +1,1 @@@ ++debian/libvolk1-dev.abi.tar.gz.amd64 diff --cc debian/upstream/signing-key.asc index 0000000,0000000..f6d7f93 new file mode 100644 --- /dev/null +++ b/debian/upstream/signing-key.asc @@@ -1,0 -1,0 +1,52 @@@ ++-----BEGIN PGP PUBLIC KEY BLOCK----- ++Version: GnuPG v1 ++ ++mQINBFcTzE0BEACWkwa+pAwjBPwUvL8E9adB6sFlH/bw/3Dj2Vr/bXDkNrZDEQzc ++C3wmoX3AZo0GSWpjlmlOGOPy6u4wZxEPfilKs+eDNnuIZN3gmLoRTThgbbrnH9bw ++kIaUMiUn8VJ0pk5ULaygG6APxl4EOVrMfzgRnxmIbUfggiBLaW/xq2a/BaVrUAuA ++oHv1GTGJkwcK0RfYigJMfZl9iHVJVopffexBt1hOeGYxiyLXSDWjOhLLVzhlfgTE ++T9YdLGyjoXFmImsCvkAA2MA52e5YGUQIBrqmiXdHFit7sve0e5Dw0aLyuTnMR0MO ++a2eIHWU6TYYv5GTJPzjBbWM1pRCgtupNilg2+RfN0tOTp27RQnUtgcCo26uBU+jV ++pyvnidpDGnuUBL3WNLZlUiqmiZs8Hc9BGNw3rKB37sUOMXz6XessnhRspXC1Mot4 ++V3I1NoKwb0wjgqlkAYIGCCSuySosC5HH2OssopBUH6U5QXjFp11QbP2e+QkvKPKA ++S9V4ouSMrIDZ4krtu6QFDYsHa0zZ54yRl3O4UpfISlz3yngO2eKM019C5n51kd62 ++Ia00rtx8ypvUxMy67PTEFdCKLJ6Ua/hEGcpxGygFMRa0pjHSrC6e9LvPudK92jsq ++qO0TjhUytig5k9YPoEa2JGn/kqP+K1HGAdJPay/HmcNTZWh0hoamhuJ6NwARAQAB ++tCZOYXRoYW4gV2VzdCA8bmF0aGFuLndlc3RAZ251cmFkaW8ub3JnPokCPgQTAQIA ++KAUCVxPMTQIbAwUJA8JnAAYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQOFMj ++7mQCCR20CA//VJfDu8W8BI/44JkucC+XBVqwOcfg/rcSHflgi0mNNz7hyJ+idwcB ++JVFSbhSpXucl6baJ0nDe8gcMuGFLyF4uLwCByX3ExDAnFL3Mu/jIyOUX8TGudZU7 ++wTEhzOLPxmXfbo8lw3TETC1Xsl8g1gU/KBJnTl3WbdGZUlKW6fP0TR5BMdYskNHm ++CCqAvXWniZwjSX/jlpWremfTU9i9DUad8ufcdJue7uiZRNq4JLaWmSbtGNzDzJIq ++6csHc3GFcd0Q/LDEDcm1AG081yLEmRnbTstZo+xW27yaRyoe1Dpm9ehsl19dVaO7 ++9ek2CEarqHjtRfO1MJMSBGiaS1lvujukYKZQRGNDKemDJwuQCVkxBMEef7SNX8XG ++2OPTARVp0hlrhMVFUk3hScekrKobq81YyCfWxBxxjRWySdInFhuT29cxxRLUxb69 ++3MKLzFJRlq+oEbWJN8QGqILQ785TZA8MdnMsGywPk43x9spgYbwPhtJYb/Aes9B9 ++NFkZ6EzVtzV7ztITuGhefRxt3eEmdFYNDHooWNFQdifcUgLoBgKOkP+oHOc+9mx7 ++6CDN9ZJTHb87W3ISw7SLI4YcMPYipEN5g51ceInDc3kXFYQ+EqU691kOuGNtx3ov ++qqvPm9PBR00GSwhLQt7s127MFpYx9+in87+UMBFXyo/VstVBPQW2GLq5Ag0EVxPM ++TQEQAK+fh+ckP728ZVRn5mr8PtsG3gktyS6LlH7EjMsHnvQR16EVAjn5G915OQUY ++Bk6yk9l0VRX0NLautc41NwVlHI4FYBBjz6mEnDocvo+BT0g5KYTyjJPOxmEzgVZW ++3Zp/jPjK5Z9YZTCIalrk2iHVQCe8fFCnaXNGNQoku1jBPRUOOTI979LWPx4d7MI0 ++7Yy+8xp5ogCrcTxea9VrMeXqnXzvy2peiceZDlvNmcEUCz222i6t2k9rUwY0+ozg ++TbsorE42h4B+a49ylY4zOX9fTPfsUj59/z/ilrxZy2qP2lBIFC+wFphKF3Qkilxd ++dnVGTsb9oKCQjuMcvh7MR27RVGLjW1pVMWGMmXBkIDu0U88Hn91XKfm1ZmWgksoU ++MC7BZocvUxIKnV+WiKy9ooP/HSzgP7ggdG+16B3yDdicB0DiBFEKZEmIWCBt5NXR ++q853WwFSH7xcrEOTXnqtkRUX4+obdwQhtqTueSC4xqX0+YVixZUC6ewqueFmPn+l ++WItCV7XU67NXTJNRC3i4kIF+hpT5YWtx56NuNcvhN25bZr1frTChOuXcCBNrOU+b ++yo2wpXAcfq+YmnaP0ZFFh7wKRi4leEPL/+JyitQbvSQU4Lejwanzvv7Ug1j4qZo1 ++A6WSxXYUWJY5rhh8nWYtJJOn5Wj4Y3gWa1taUpYw1g2lf0o5ABEBAAGJAiUEGAEC ++AA8FAlcTzE0CGwwFCQPCZwAACgkQOFMj7mQCCR2uXRAAiBsOfqp+QuQqO3OPW8OZ ++I2+JNbaaFEC1TorUhGs5XiT4wKyn1wDni4mavO4kJ8nK4Zc1qBYWeMOClj6JySJL ++yf0aVTjLyn+4Q4jt/9Dmn15wbOWZvdSICipfcLWmPLYniizsJWA4Mqoefcztmyxk ++FrJZ+Vri6MH5PxVuZjHhOUVfXIsqRhqqrpRjVnjzGvNxLgP3aLHfQPim/jbxaeRK ++oVtDNDLA+1nwdpZ8Hehe5OVfUKWuz1DXrdM0eY7pTRcms8+7y//AXpRqygH7TLx5 ++mXavdmAzgYcamQGfu/K4Mq9Bkgr1BNasgkxnPu+J0Z4jO9HsRBCJWf2BLKXmYedD ++5t0LR8bJHUTV7lsIifo0Ev47qsk1QX41KSKPAMwSzmtTLA0wzPJrkUEeVgm075N7 ++btLneqw5EyDcz3pJ7aD3HceWh+HZOREnfYXyMLxWTND7SKx0k6nmM8xasYHP0/6y ++mR8picMjbPlyoETe6B6yKi5rDjOrDwrKqBjulcUHsRhjAAUUI6IHgj4v5gCfTPS7 ++WrV98icGSHYnuxV40NT8Nt0lWNrPJhIUm1nu3UkEInznxMii1h6ga6REE/TJsStD ++C46x7fsiH4HkK1FJ+owoLhsVQo0OE4nWh8lWIBhTpR4wxThwfVHKt/H12st3tHuI ++CLIM6szb01rYgHTn9/vDgJE= ++=MlbD ++-----END PGP PUBLIC KEY BLOCK----- diff --cc debian/volk-config-info.1 index 0000000,0000000..e8d6efd new file mode 100644 --- /dev/null +++ b/debian/volk-config-info.1 @@@ -1,0 -1,0 +1,45 @@@ ++.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.10. ++.TH VOLK-CONFIG-INFO "1" "July 2014" "volk-config-info 0.1" "User Commands" ++.SH NAME ++volk-config-info \- pkgconfig-like tool for Vector Optimized Library of Kernels 0.1 ++.SH DESCRIPTION ++.SS "Program options: volk-config-info [options]:" ++.TP ++\fB\-h\fR [ \fB\-\-help\fR ] ++print help message ++.TP ++\fB\-\-prefix\fR ++print VOLK installation prefix ++.TP ++\fB\-\-builddate\fR ++print VOLK build date (RFC2822 format) ++.TP ++\fB\-\-cc\fR ++print VOLK C compiler version ++.TP ++\fB\-\-cflags\fR ++print VOLK CFLAGS ++.TP ++\fB\-\-all\-machines\fR ++print VOLK machines built into library ++.TP ++\fB\-\-avail\-machines\fR ++print VOLK machines the current platform can use ++.TP ++\fB\-\-machine\fR ++print the VOLK machine that will be used ++.TP ++\fB\-v\fR [ \fB\-\-version\fR ] ++print VOLK version ++.SH "SEE ALSO" ++The full documentation for ++.B volk-config-info ++is maintained as a Texinfo manual. If the ++.B info ++and ++.B volk-config-info ++programs are properly installed at your site, the command ++.IP ++.B info volk-config-info ++.PP ++should give you access to the complete manual. diff --cc debian/volk_modtool.1 index 0000000,0000000..752e7f5 new file mode 100644 --- /dev/null +++ b/debian/volk_modtool.1 @@@ -1,0 -1,0 +1,112 @@@ ++.TH GNURADIO "1" "August 2013" "volk_modtool 3.7" "User Commands" ++.SH NAME ++volk_modtool \- tailor VOLK modules ++.SH DESCRIPTION ++The volk_modtool tool is installed along with VOLK as a way of helping ++to construct, add to, and interogate the VOLK library or companion ++libraries. ++.P ++volk_modtool is installed into $prefix/bin. ++.P ++VOLK modtool enables creating standalone (out-of-tree) VOLK modules ++and provides a few tools for sharing VOLK kernels between VOLK ++modules. If you need to design or work with VOLK kernels away from ++the canonical VOLK library, this is the tool. If you need to tailor ++your own VOLK library for whatever reason, this is the tool. ++.P ++The canonical VOLK library installs a volk.h and a libvolk.so. Your ++own library will install volk_$name.h and libvolk_$name.so. Ya Gronk? ++Good. ++.P ++There isn't a substantial difference between the canonical VOLK ++module and any other VOLK module. They're all peers. Any module ++created via VOLK modtool will come complete with a default ++volk_modtool.cfg file associating the module with the base from which ++it came, its distinctive $name and its destination (or path). These ++values (created from user input if VOLK modtool runs without a ++user-supplied config file or a default config file) serve as default ++values for some VOLK modtool actions. It's more or less intended for ++the user to change directories to the top level of a created VOLK ++module and then run volk_modtool to take advantage of the values ++stored in the default volk_modtool.cfg file. ++.P ++Apart from creating new VOLK modules, VOLK modtool allows you to list ++the names of kernels in other modules, list the names of kernels in ++the current module, add kernels from another module into the current ++module, and remove kernels from the current module. When moving ++kernels between modules, VOLK modtool does its best to keep the qa ++and profiling code for those kernels intact. If the base has a test ++or a profiling call for some kernel, those calls will follow the ++kernel when VOLK modtool adds that kernel. If QA or profiling ++requires a puppet kernel, the puppet kernel will follow the original ++kernel when VOLK modtool adds that original kernel. VOLK modtool ++respects puppets. ++.P ++====================================================================== ++.P ++.SH Installing a new VOLK Library: ++.P ++Run the command "volk_modtool -i". This will ask you three questions: ++.P ++ name: // the name to give your VOLK library: volk_ ++ destination: // directory new source tree is built under -- must exists. ++ // It will create /volk_ ++ base: // the directory containing the original VOLK source code ++.P ++This will build a new skeleton directory in the destination provided ++with the name volk_. It will contain the necessary structure to ++build: ++.P ++ mkdir build ++ cd build ++ cmake -DCMAKE_INSTALL_PREFIX=/opt/volk ../ ++ make ++ sudo make install ++.P ++Right now, the library is empty and contains no kernels. Kernels can ++be added from another VOLK library using the '-a' option. If not ++specified, the kernel will be extracted from the base VOLK ++directory. Using the '-b' allows us to specify another VOLK library to ++use for this purpose. ++.P ++ volk_modtool -a -n 32fc_x2_conjugate_dot_prod_32fc ++.P ++This will put the code for the new kernel into ++/volk_/kernels/volk_/ ++.P ++Other kernels must be added by hand. See the following webpages for ++more information about creating VOLK kernels: ++ http://gnuradio.org/doc/doxygen/volk_guide.html ++ http://gnuradio.org/redmine/projects/gnuradio/wiki/Volk ++.P ++====================================================================== ++.P ++.SH OPTIONS ++.P ++Options for Adding and Removing Kernels: ++ -a, --add_kernel ++ Add kernel from existing VOLK module. Uses the base VOLK module ++ unless -b is used. Use -n to specify the kernel name. ++ Requires: -n. ++ Optional: -b ++.P ++ -A, --add_all_kernels ++ Add all kernels from existing VOLK module. Uses the base VOLK ++ module unless -b is used. ++ Optional: -b ++.P ++ -x, --remove_kernel ++ Remove kernel from module. ++ Required: -n. ++ Optional: -b ++.P ++Options for Listing Kernels: ++ -l, --list ++ Lists all kernels available in the base VOLK module. ++.P ++ -k, --kernels ++ Lists all kernels in this VOLK module. ++.P ++ -r, --remote-list ++ Lists all kernels in another VOLK module that is specified ++ using the -b option. diff --cc debian/volk_profile.1 index 0000000,0000000..405facb new file mode 100644 --- /dev/null +++ b/debian/volk_profile.1 @@@ -1,0 -1,0 +1,5 @@@ ++.TH UHD_FFT "1" "March 2012" "volk_profile 3.5" "User Commands" ++.SH NAME ++volk_profile \- Quality Assurance application for libvolk functions ++.SH DESCRIPTION ++Writes profile results to a file. diff --cc debian/watch index 0000000,0000000..d755268 new file mode 100644 --- /dev/null +++ b/debian/watch @@@ -1,0 -1,0 +1,3 @@@ ++version=3 ++opts="pgpsigurlmangle=s/$/.asc/" \ ++ http://libvolk.org/releases/volk-(\d\S*)\.tar\.gz