Import volk_1.4-2.debian.tar.xz
authorA. Maitland Bottoms <bottoms@debian.org>
Tue, 3 Apr 2018 05:03:19 +0000 (06:03 +0100)
committerA. Maitland Bottoms <bottoms@debian.org>
Tue, 3 Apr 2018 05:03:19 +0000 (06:03 +0100)
[dgit import tarball volk 1.4-2 volk_1.4-2.debian.tar.xz]

27 files changed:
changelog [new file with mode: 0644]
compat [new file with mode: 0644]
control [new file with mode: 0644]
copyright [new file with mode: 0644]
libvolk1-bin.install [new file with mode: 0644]
libvolk1-bin.manpages [new file with mode: 0644]
libvolk1-dev.abi.tar.gz.amd64 [new file with mode: 0644]
libvolk1-dev.acc [new file with mode: 0644]
libvolk1-dev.install [new file with mode: 0644]
libvolk1-dev_1.4-1_report.html [new file with mode: 0644]
libvolk1.4.install [new file with mode: 0644]
patches/install-all-headers [new file with mode: 0644]
patches/libm-link [new file with mode: 0644]
patches/make-acc-happy [new file with mode: 0644]
patches/native-armv7-build-support [new file with mode: 0644]
patches/series [new file with mode: 0644]
patches/sort-cmake-glob-lists [new file with mode: 0644]
patches/sort-input-files [new file with mode: 0644]
release-v14.html [new file with mode: 0644]
rules [new file with mode: 0755]
source/format [new file with mode: 0644]
source/include-binaries [new file with mode: 0644]
upstream/signing-key.asc [new file with mode: 0644]
volk-config-info.1 [new file with mode: 0644]
volk_modtool.1 [new file with mode: 0644]
volk_profile.1 [new file with mode: 0644]
watch [new file with mode: 0644]

diff --git a/changelog b/changelog
new file mode 100644 (file)
index 0000000..87b2e94
--- /dev/null
+++ b/changelog
@@ -0,0 +1,339 @@
+volk (1.4-2) unstable; urgency=medium
+
+  * Upload to unstable, needed by gnuradio (>= 3.7.12.0)
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  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 <bottoms@debian.org>  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 <bottoms@debian.org>  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 <bottoms@debian.org>  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 <bottoms@debian.org>  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 <bottoms@debian.org>  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 <bottoms@debian.org>  Sun, 19 Jun 2016 14:44:15 -0400
+
+volk (1.2.2-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  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 <bottoms@debian.org>  Wed, 23 Mar 2016 17:47:54 -0400
+
+volk (1.2.1-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Sun, 07 Feb 2016 19:38:32 -0500
+
+volk (1.2-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  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 <bottoms@debian.org>  Fri, 11 Dec 2015 13:12:55 -0500
+
+volk (1.1.1-4) unstable; urgency=medium
+
+  * more lintian fixes
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Wed, 25 Nov 2015 21:49:58 -0500
+
+volk (1.1.1-3) unstable; urgency=medium
+
+  * Lintian fixes Pre-Depends
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  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 <bottoms@debian.org>  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 <bottoms@debian.org>  Sun, 01 Nov 2015 18:45:43 -0500
+
+volk (1.1-4) unstable; urgency=medium
+
+  * update to v1.1-12-g264addc
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  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 <bottoms@debian.org>  Fri, 11 Sep 2015 22:57:06 -0400
+
+volk (1.1-2) unstable; urgency=low
+
+  * use dh-acc
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  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 <bottoms@debian.org>  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 <bottoms@debian.org>  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 <bottoms@debian.org>  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 <bottoms@debian.org>  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 <bottoms@debian.org>  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 <bottoms@debian.org>  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 <bottoms@debian.org>  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 <bottoms@debian.org>  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 <bottoms@debian.org>  Sun, 12 Apr 2015 23:20:41 -0400
diff --git a/compat b/compat
new file mode 100644 (file)
index 0000000..ec63514
--- /dev/null
+++ b/compat
@@ -0,0 +1 @@
+9
diff --git a/control b/control
new file mode 100644 (file)
index 0000000..cf18eb9
--- /dev/null
+++ b/control
@@ -0,0 +1,72 @@
+Source: volk
+Section: libdevel
+Priority: optional
+Maintainer: A. Maitland Bottoms <bottoms@debian.org>
+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.3
+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 --git a/copyright b/copyright
new file mode 100644 (file)
index 0000000..34e4faf
--- /dev/null
+++ b/copyright
@@ -0,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 <bottoms@debian.org>
+ .
+ Upstream Authors:
+  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>
+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 <paul.cercueil@analog.com>
+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 <neundorf@kde.org>
+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 <bottoms@debian.org>
+
+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 <http://www.gnu.org/licenses/>.
+ .
+ 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 --git a/libvolk1-bin.install b/libvolk1-bin.install
new file mode 100644 (file)
index 0000000..b8fc484
--- /dev/null
@@ -0,0 +1 @@
+usr/bin/volk*
diff --git a/libvolk1-bin.manpages b/libvolk1-bin.manpages
new file mode 100644 (file)
index 0000000..95bae9e
--- /dev/null
@@ -0,0 +1,3 @@
+debian/volk-config-info.1
+debian/volk_modtool.1
+debian/volk_profile.1
diff --git a/libvolk1-dev.abi.tar.gz.amd64 b/libvolk1-dev.abi.tar.gz.amd64
new file mode 100644 (file)
index 0000000..ddc5bdd
Binary files /dev/null and b/libvolk1-dev.abi.tar.gz.amd64 differ
diff --git a/libvolk1-dev.acc b/libvolk1-dev.acc
new file mode 100644 (file)
index 0000000..c8503c6
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<descriptor>
+
+<headers>
+debian/libvolk1-dev/usr/include/
+</headers>
+
+<libs>
+debian/libvolk1.4/usr/lib/
+</libs>
+
+</descriptor>
diff --git a/libvolk1-dev.install b/libvolk1-dev.install
new file mode 100644 (file)
index 0000000..4b391be
--- /dev/null
@@ -0,0 +1,4 @@
+usr/include/*
+usr/lib/*/*volk*so
+usr/lib/*/cmake/volk
+usr/lib/*/pkgconfig/*volk*
diff --git a/libvolk1-dev_1.4-1_report.html b/libvolk1-dev_1.4-1_report.html
new file mode 100644 (file)
index 0000000..f9614d6
--- /dev/null
@@ -0,0 +1,1069 @@
+<!-- kind:binary;verdict:incompatible;affected:0.2;added:45;removed:0;type_problems_high:0;type_problems_medium:0;type_problems_low:1;interface_problems_high:1;interface_problems_medium:0;interface_problems_low:0;changed_constants:1;tool_version:2.2 -->
+<!-- kind:source;verdict:incompatible;affected:0.9;added:46;removed:5;type_problems_high:0;type_problems_medium:0;type_problems_low:1;interface_problems_high:1;interface_problems_medium:0;interface_problems_low:0;changed_constants:1;constant_changes_other:2;tool_version:2.2 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="keywords" content="libvolk1-dev, compatibility, API, ABI, report" />
+<meta name="description" content="API/ABI compatibility report for the libvolk1-dev library between 1.3-3 and 1.4-1 versions" />
+<title>libvolk1-dev: 1.3-3 to 1.4-1 compatibility report</title>
+<style type="text/css">
+body {
+    font-family:Arial, sans-serif;
+    background-color:White;
+    color:Black;
+}
+hr {
+    color:Black;
+    background-color:Black;
+    height:1px;
+    border:0;
+}
+h1 {
+    margin-bottom:0px;
+    padding-bottom:0px;
+    font-size:1.625em;
+}
+h2 {
+    margin-bottom:0px;
+    padding-bottom:0px;
+    font-size:1.25em;
+    white-space:nowrap;
+}
+span.section {
+    font-weight:bold;
+    cursor:pointer;
+    color:#003E69;
+    white-space:nowrap;
+    margin-left:0.3125em;
+}
+span.new_sign {
+    font-weight:bold;
+    margin-left:1.65em;
+    color:#003E69;
+}
+span.new_sign_lbl {
+    margin-left:3em;
+    font-size:1em;
+    color:Black;
+}
+span:hover.section {
+    color:#336699;
+}
+span.sect_aff {
+    cursor:pointer;
+    padding-left:1.55em;
+    font-size:0.875em;
+    color:#cc3300;
+}
+span.sect_info {
+    cursor:pointer;
+    padding-left:1.55em;
+    font-size:0.875em;
+    color:Black;
+}
+span.ext {
+    font-weight:normal;
+}
+span.h_name {
+    color:#cc3300;
+    font-size:0.875em;
+    font-weight:bold;
+}
+div.h_list, div.lib_list {
+    font-size:0.94em;
+    padding-left:0.4em;
+}
+span.ns {
+    color:#408080;
+    font-size:0.94em;
+}
+span.lib_name {
+    color:Green;
+    font-size:0.875em;
+    font-weight:bold;
+}
+span.iname {
+    font-weight:bold;
+    color:#003E69;
+    margin-left:0.3125em;
+}
+span.iname_b {
+    font-weight:bold;
+}
+span.iname_a {
+    color:#333333;
+    font-weight:bold;
+    font-size:0.94em;
+}
+span.sym_p {
+    font-weight:normal;
+    white-space:normal;
+}
+span.sym_pd {
+    white-space:normal;
+}
+span.sym_p span, span.sym_pd span {
+    white-space:nowrap;
+}
+div.affect {
+    padding-left:1em;
+    padding-bottom:10px;
+    font-size:0.87em;
+    font-style:italic;
+    line-height:0.9em;
+}
+div.affected {
+    padding-left:1.9em;
+    padding-top:10px;
+}
+table.ptable {
+    border-collapse:collapse;
+    border:1px outset black;
+    margin-left:0.95em;
+    margin-top:3px;
+    margin-bottom:3px;
+    width:56.25em;
+}
+table.ptable td {
+    border:1px solid gray;
+    padding:3px;
+    font-size:0.875em;
+    text-align:left;
+    vertical-align:top;
+    max-width:28em;
+    word-wrap:break-word;
+}
+table.ptable th.pn {
+    width:2%;
+}
+table.ptable th.chg {
+    width:47%;
+}
+table.vtable {
+    border-collapse:collapse;
+    border:1px outset black;
+    margin-left:1.9em;
+    margin-top:0.7em;
+}
+table.vtable td {
+    border:1px solid gray;
+    padding:3px;
+    font-size:0.875em;
+    vertical-align:top;
+    max-width:450px;
+    word-wrap:break-word;
+}
+table.ptable th, table.vtable th {
+    background-color:#eeeeee;
+    font-weight:bold;
+    color:#333333;
+    font-family:Verdana, Arial;
+    font-size:0.875em;
+    border:1px solid gray;
+    text-align:center;
+    vertical-align:top;
+    white-space:nowrap;
+    padding:3px;
+}
+table.summary {
+    border-collapse:collapse;
+    border:1px outset black;
+}
+table.summary th {
+    background-color:#eeeeee;
+    font-weight:normal;
+    text-align:left;
+    font-size:0.94em;
+    white-space:nowrap;
+    border:1px inset gray;
+    padding:3px;
+}
+table.summary td {
+    text-align:right;
+    white-space:nowrap;
+    border:1px inset gray;
+    padding:3px 5px 3px 10px;
+}
+span.mngl {
+    padding-left:1em;
+    font-size:0.875em;
+    cursor:text;
+    color:#444444;
+    font-weight:bold;
+}
+span.pleft {
+    padding-left:2.5em;
+}
+span.sym_ver {
+    color:#333333;
+    white-space:nowrap;
+    font-family:"DejaVu Sans Mono", Monospace;
+}
+span.attr {
+    color:#333333;
+    font-weight:normal;
+}
+span.color_p {
+    font-style:italic;
+    color:Brown;
+}
+span.p {
+    font-style:italic;
+}
+span.fp {
+    font-style:italic;
+    background-color:#DCDCDC;
+}
+span.ttype {
+    font-weight:normal;
+}
+span.nowrap {
+    white-space:nowrap;
+}
+span.value {
+    font-weight:bold;
+}
+.passed {
+    background-color:#CCFFCC;
+    font-weight:normal;
+}
+.warning {
+    background-color:#F4F4AF;
+    font-weight:normal;
+}
+.failed {
+    background-color:#FFCCCC;
+    font-weight:normal;
+}
+.new {
+    background-color:#C6DEFF;
+    font-weight:normal;
+}
+.compatible {
+    background-color:#CCFFCC;
+    font-weight:normal;
+}
+.almost_compatible {
+    background-color:#FFDAA3;
+    font-weight:normal;
+}
+.incompatible {
+    background-color:#FFCCCC;
+    font-weight:normal;
+}
+.gray {
+    background-color:#DCDCDC;
+    font-weight:normal;
+}
+.top_ref {
+    font-size:0.69em;
+}
+.footer {
+    font-size:0.75em;
+}
+
+.tabset {
+    float:left;
+}
+a.tab {
+    border:1px solid Black;
+    float:left;
+    margin:0px 5px -1px 0px;
+    padding:3px 5px 3px 5px;
+    position:relative;
+    font-size:0.875em;
+    background-color:#DDD;
+    text-decoration:none;
+    color:Black;
+}
+a.disabled:hover
+{
+    color:Black;
+    background:#EEE;
+}
+a.active:hover
+{
+    color:Black;
+    background:White;
+}
+a.active {
+    border-bottom-color:White;
+    background-color:White;
+}
+div.tab {
+    border-top:1px solid Black;
+    padding:0px;
+    width:100%;
+    clear:both;
+}
+</style>
+<script type="text/javascript" language="JavaScript">
+<!--
+function showContent(header, id)
+{
+    e = document.getElementById(id);
+    if(e.style.display == 'none')
+    {
+        e.style.display = 'block';
+        e.style.visibility = 'visible';
+        header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[&minus;]");
+    }
+    else
+    {
+        e.style.display = 'none';
+        e.style.visibility = 'hidden';
+        header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[+]");
+    }
+}
+function initTabs()
+{
+    var url = window.location.href;
+    if(url.indexOf('_Source_')!=-1 || url.indexOf('#Source')!=-1)
+    {
+        var tab1 = document.getElementById('BinaryID');
+        var tab2 = document.getElementById('SourceID');
+        tab1.className='tab disabled';
+        tab2.className='tab active';
+    }
+    var sets = document.getElementsByTagName('div');
+    for (var i = 0; i < sets.length; i++)
+    {
+        if (sets[i].className.indexOf('tabset') != -1)
+        {
+            var tabs = [];
+            var links = sets[i].getElementsByTagName('a');
+            for (var j = 0; j < links.length; j++)
+            {
+                if (links[j].className.indexOf('tab') != -1)
+                {
+                    tabs.push(links[j]);
+                    links[j].tabs = tabs;
+                    var tab = document.getElementById(links[j].href.substr(links[j].href.indexOf('#') + 1));
+                    //reset all tabs on start
+                    if (tab)
+                    {
+                        if (links[j].className.indexOf('active')!=-1) {
+                            tab.style.display = 'block';
+                        }
+                        else {
+                            tab.style.display = 'none';
+                        }
+                    }
+                    links[j].onclick = function()
+                    {
+                        var tab = document.getElementById(this.href.substr(this.href.indexOf('#') + 1));
+                        if (tab)
+                        {
+                            //reset all tabs before change
+                            for (var k = 0; k < this.tabs.length; k++)
+                            {
+                                document.getElementById(this.tabs[k].href.substr(this.tabs[k].href.indexOf('#') + 1)).style.display = 'none';
+                                this.tabs[k].className = this.tabs[k].className.replace('active', 'disabled');
+                            }
+                            this.className = 'tab active';
+                            tab.style.display = 'block';
+                            // window.location.hash = this.id.replace('ID', '');
+                            return false;
+                        }
+                    }
+                }
+            }
+        }
+    }
+    if(url.indexOf('#')!=-1) {
+        location.href=location.href;
+    }
+}
+if (window.addEventListener) window.addEventListener('load', initTabs, false);
+else if (window.attachEvent) window.attachEvent('onload', initTabs);
+-->
+</script>
+</head>
+<body><a name='Source'></a><a name='Binary'></a><a name='Top'></a><h1>API compatibility report for the <span style='color:Blue;'>libvolk1-dev</span> library between <span style='color:Red;'>1.3-3</span> and <span style='color:Red;'>1.4-1</span> versions on <span style='color:Blue;'>x86_64</span></h1>
+
+            <br/>
+            <div class='tabset'>
+            <a id='BinaryID' href='#BinaryTab' class='tab active'>Binary<br/>Compatibility</a>
+            <a id='SourceID' href='#SourceTab' style='margin-left:3px' class='tab disabled'>Source<br/>Compatibility</a>
+            </div><div id='BinaryTab' class='tab'>
+<h2>Test Info</h2><hr/>
+<table class='summary'>
+<tr><th>Library Name</th><td>libvolk1-dev</td></tr>
+<tr><th>Version #1</th><td>1.3-3</td></tr>
+<tr><th>Version #2</th><td>1.4-1</td></tr>
+<tr><th>Arch</th><td>x86_64</td></tr>
+<tr><th>GCC Version</th><td>7</td></tr>
+<tr><th>Subject</th><td width='150px'>Binary Compatibility</td></tr>
+</table>
+<h2>Test Results</h2><hr/>
+<table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>135</a></td></tr>
+<tr><th>Total Libraries</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr>
+<tr><th>Total Symbols / Types</th><td>614 / 233</td></tr>
+<tr><th>Compatibility</th>
+<td class='warning'>99.8%</td>
+</tr>
+</table>
+<h2>Problem Summary</h2><hr/>
+<table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td class='new'><a href='#Binary_Added' style='color:Blue;'>45</a></td></tr>
+<tr><th>Removed Symbols</th><td>High</td><td>0</td></tr>
+<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr>
+<tr><td>Medium</td><td>0</td></tr>
+<tr><td>Low</td><td class='warning'><a href='#Type_Binary_Problems_Low' style='color:Blue;'>1</a></td></tr>
+<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td class='failed'><a href='#Symbol_Binary_Problems_High' style='color:Blue;'>1</a></td></tr>
+<tr><td>Medium</td><td>0</td></tr>
+<tr><td>Low</td><td>0</td></tr>
+<tr><th>Problems with<br/>Constants</th><td>Low</td><td class='warning'><a href='#Constant_Binary_Problems_Low' style='color:Blue;'>1</a></td></tr>
+</table>
+
+<a name='Binary_Added'></a><h2>Added Symbols <span class='new'>&nbsp;45&nbsp;</span></h2><hr/>
+<span class='h_name'>volk.h</span>, <span class='lib_name'>libvolk.so.1.4</span><br/>
+<span class="iname">volk_32f_64f_add_64f <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32f_64f_add_64f_a <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32f_64f_add_64f_get_func_desc&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">volk_32f_64f_add_64f_manual&#160;<span class='sym_p'><span>(&#160;double* <span class='color_p'>cVector</span></span>, <span>float const* <span class='color_p'>aVector</span></span>, <span>double const* <span class='color_p'>bVector</span></span>, <span>unsigned int <span class='color_p'>num_points</span></span>, <span>char const* <span class='color_p'>impl_name</span></span>&#160;)</span></span><br/>
+<span class="iname">volk_32f_64f_add_64f_u <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32f_64f_multiply_64f <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32f_64f_multiply_64f_a <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32f_64f_multiply_64f_get_func_desc&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">volk_32f_64f_multiply_64f_manual&#160;<span class='sym_p'><span>(&#160;double* <span class='color_p'>cVector</span></span>, <span>float const* <span class='color_p'>aVector</span></span>, <span>double const* <span class='color_p'>bVector</span></span>, <span>unsigned int <span class='color_p'>num_points</span></span>, <span>char const* <span class='color_p'>impl_name</span></span>&#160;)</span></span><br/>
+<span class="iname">volk_32f_64f_multiply_64f_u <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32f_s32f_mod_rangepuppet_32f <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32f_s32f_mod_rangepuppet_32f_a <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32f_s32f_mod_rangepuppet_32f_get_func_desc&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">volk_32f_s32f_mod_rangepuppet_32f_manual&#160;<span class='sym_p'><span>(&#160;float* <span class='color_p'>output</span></span>, <span>float const* <span class='color_p'>input</span></span>, <span>float <span class='color_p'>bound</span></span>, <span>unsigned int <span class='color_p'>num_points</span></span>, <span>char const* <span class='color_p'>impl_name</span></span>&#160;)</span></span><br/>
+<span class="iname">volk_32f_s32f_mod_rangepuppet_32f_u <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32f_s32f_s32f_mod_range_32f <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32f_s32f_s32f_mod_range_32f_a <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32f_s32f_s32f_mod_range_32f_get_func_desc&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">volk_32f_s32f_s32f_mod_range_32f_manual&#160;<span class='sym_p'><span>(&#160;float* <span class='color_p'>outputVector</span></span>, <span>float const* <span class='color_p'>inputVector</span></span>, <span>float const <span class='color_p'>lower_bound</span></span>, <span>float const <span class='color_p'>upper_bound</span></span>, <span>unsigned int <span class='color_p'>num_points</span></span>, <span>char const* <span class='color_p'>impl_name</span></span>&#160;)</span></span><br/>
+<span class="iname">volk_32f_s32f_s32f_mod_range_32f_u <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32fc_32f_add_32fc <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32fc_32f_add_32fc_a <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32fc_32f_add_32fc_get_func_desc&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">volk_32fc_32f_add_32fc_manual&#160;<span class='sym_p'><span>(&#160;lv_32fc_t* <span class='color_p'>cVector</span></span>, <span>lv_32fc_t const* <span class='color_p'>aVector</span></span>, <span>float const* <span class='color_p'>bVector</span></span>, <span>unsigned int <span class='color_p'>num_points</span></span>, <span>char const* <span class='color_p'>impl_name</span></span>&#160;)</span></span><br/>
+<span class="iname">volk_32fc_32f_add_32fc_u <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32fc_x2_add_32fc <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32fc_x2_add_32fc_a <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32fc_x2_add_32fc_get_func_desc&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">volk_32fc_x2_add_32fc_manual&#160;<span class='sym_p'><span>(&#160;lv_32fc_t* <span class='color_p'>cVector</span></span>, <span>lv_32fc_t const* <span class='color_p'>aVector</span></span>, <span>lv_32fc_t const* <span class='color_p'>bVector</span></span>, <span>unsigned int <span class='color_p'>num_points</span></span>, <span>char const* <span class='color_p'>impl_name</span></span>&#160;)</span></span><br/>
+<span class="iname">volk_32fc_x2_add_32fc_u <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32u_reverse_32u <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32u_reverse_32u_a <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32u_reverse_32u_get_func_desc&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">volk_32u_reverse_32u_manual&#160;<span class='sym_p'><span>(&#160;uint32_t* <span class='color_p'>out</span></span>, <span>uint32_t const* <span class='color_p'>in</span></span>, <span>unsigned int <span class='color_p'>num_points</span></span>, <span>char const* <span class='color_p'>impl_name</span></span>&#160;)</span></span><br/>
+<span class="iname">volk_32u_reverse_32u_u <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_64f_x2_add_64f <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_64f_x2_add_64f_a <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_64f_x2_add_64f_get_func_desc&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">volk_64f_x2_add_64f_manual&#160;<span class='sym_p'><span>(&#160;double* <span class='color_p'>cVector</span></span>, <span>double const* <span class='color_p'>aVector</span></span>, <span>double const* <span class='color_p'>bVector</span></span>, <span>unsigned int <span class='color_p'>num_points</span></span>, <span>char const* <span class='color_p'>impl_name</span></span>&#160;)</span></span><br/>
+<span class="iname">volk_64f_x2_add_64f_u <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_64f_x2_multiply_64f <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_64f_x2_multiply_64f_a <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_64f_x2_multiply_64f_get_func_desc&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">volk_64f_x2_multiply_64f_manual&#160;<span class='sym_p'><span>(&#160;double* <span class='color_p'>cVector</span></span>, <span>double const* <span class='color_p'>aVector</span></span>, <span>double const* <span class='color_p'>bVector</span></span>, <span>unsigned int <span class='color_p'>num_points</span></span>, <span>char const* <span class='color_p'>impl_name</span></span>&#160;)</span></span><br/>
+<span class="iname">volk_64f_x2_multiply_64f_u <span class='attr'>[data]</span></span><br/>
+<br/>
+<a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='High_Risk_Binary_Problems'></a><a name='Symbol_Binary_Problems_High'></a><a name='Interface_Binary_Problems_High'></a>
+<h2>Problems with Symbols, High Severity <span class='failed'>&nbsp;1&nbsp;</span></h2><hr/>
+<span class='h_name'>volk.h</span>, <span class='lib_name'>libvolk.so.1.3</span><br/>
+<span class="section" onclick="javascript:showContent(this, 'c_1')">
+<span class='ext'>[+]</span> volk_32f_8u_polarbutterfly_32f_manual&#160;<span class='sym_p'><span>(&#160;float* <span class='color_p'>llrs</span></span>, <span>unsigned char* <span class='color_p'>u</span></span>, <span>int const <span class='color_p'>frame_size</span></span>, <span>int const <span class='color_p'>frame_exp</span></span>, <span>int const <span class='color_p'>stage</span></span>, <span>int const <span class='color_p'>u_num</span></span>, <span>int const <span class='color_p'>row</span></span>, <span>char const* <span class='color_p'>impl_name</span></span>&#160;)</span> <span class='failed'>&nbsp;1&nbsp;</span></span>
+<br/>
+<div id="c_1" style="display:none;">
+
+
+<span class='new_sign_lbl'>&#8675;</span>
+<br/>
+<span class='new_sign'>volk_32f_8u_polarbutterfly_32f_manual&#160;<span class='sym_p'><span>(&#160;float* <span class='color_p'>llrs</span></span>, <span>unsigned char* <span class='color_p'>u</span></span>, <span>int const <span class='color_p'>frame_exp</span></span>, <span>int const <span class='color_p'>stage</span></span>, <span>int const <span class='color_p'>u_num</span></span>, <span>int const <span class='color_p'>row</span></span>, <span>char const* <span class='color_p'>impl_name</span></span>&#160;)</span></span><br/>
+<table class='ptable'>
+<tr>
+<th class='pn'></th>
+<th class='chg'>Change</th>
+<th>Effect</th>
+</tr>
+<tr>
+<th>1</th>
+<td><b>3rd</b> middle parameter <b>frame_size</b> has been removed from the calling stack.</td>
+<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td>
+</tr>
+</table>
+<br/>
+</div>
+<br/>
+<a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Low_Risk_Binary_Problems'></a><a name='Type_Binary_Problems_Low'></a>
+<h2>Problems with Data Types, Low Severity <span class='warning'>&nbsp;1&nbsp;</span></h2><hr/>
+<span class='h_name'>volk_typedefs.h</span><br/>
+<span class="section" onclick="javascript:showContent(this, 'c_2')">
+<span class='ext'>[+]</span> <span class='ttype'>typedef</span> p_32f_8u_polarbutterfly_32f <span class='warning'>&nbsp;1&nbsp;</span></span>
+<br/>
+<div id="c_2" style="display:none;">
+<table class='ptable'><tr>
+<th class='pn'></th>
+<th class='chg'>Change</th>
+<th>Effect</th></tr><tr>
+<th>1</th>
+<td>Base type has been changed from <span class='value'>void(*)(float*, unsigned char*, int, int, int, int, int)</span> to <span class='value'>void(*)(float*, unsigned char*, int, int, int, int)</span>.</td>
+<td>Replacement of the base data type may indicate a change in its semantic meaning.</td>
+</tr>
+</table>
+<span class="sect_aff" onclick="javascript:showContent(this, 'c_3')">
+[+] affected symbols: 3 (0.5%)</span>
+<div id="c_3" style="display:none;">
+<div class='affected'><span class='iname_a'>volk_32f_8u_polarbutterfly_32f <span class='attr'>[data]</span></span><br/>
+<div class='affect'>Return value is of type &#39;p_32f_8u_polarbutterfly_32f&#39;.</div>
+<span class='iname_a'>volk_32f_8u_polarbutterfly_32f_a <span class='attr'>[data]</span></span><br/>
+<div class='affect'>Return value is of type &#39;p_32f_8u_polarbutterfly_32f&#39;.</div>
+<span class='iname_a'>volk_32f_8u_polarbutterfly_32f_u <span class='attr'>[data]</span></span><br/>
+<div class='affect'>Return value is of type &#39;p_32f_8u_polarbutterfly_32f&#39;.</div>
+</div>
+</div>
+<br/><br/></div>
+
+<br/>
+<a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Constant_Binary_Problems_Low'></a>
+<h2>Problems with Constants, Low Severity <span class='warning'>&nbsp;1&nbsp;</span></h2><hr/>
+<span class='h_name'>volk_32f_log2_32f.h</span><br/>
+<span class="section" onclick="javascript:showContent(this, 'c_4')">
+<span class='ext'>[+]</span> LOG_POLY_DEGREE</span>
+<br/>
+<div id="c_4" style="display:none;">
+<table class='ptable'>
+<tr>
+<th class='pn'></th>
+<th class='chg'>Change</th>
+<th>Effect</th>
+</tr>
+<tr>
+<th>1</th>
+<td>The constant <b>LOG_POLY_DEGREE</b> with value <b>6</b> has been removed.</td>
+<td>The value of this constant may no longer be properly handled by new-version library functions.</td>
+</tr>
+</table>
+<br/>
+</div>
+
+<br/>
+<a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Headers'></a><h2>Header Files <span class='gray'>&nbsp;135&nbsp;</span></h2><hr/>
+<div class='h_list'>
+constants.h<br/>
+saturation_arithmetic.h<br/>
+volk.h<br/>
+volk_16i_32fc_dot_prod_32fc.h<br/>
+volk_16i_branch_4_state_8.h<br/>
+volk_16i_convert_8i.h<br/>
+volk_16i_max_star_16i.h<br/>
+volk_16i_max_star_horizontal_16i.h<br/>
+volk_16i_permute_and_scalar_add.h<br/>
+volk_16i_s32f_convert_32f.h<br/>
+volk_16i_x4_quad_max_star_16i.h<br/>
+volk_16i_x5_add_quad_16i_x4.h<br/>
+volk_16ic_convert_32fc.h<br/>
+volk_16ic_deinterleave_16i_x2.h<br/>
+volk_16ic_deinterleave_real_16i.h<br/>
+volk_16ic_deinterleave_real_8i.h<br/>
+volk_16ic_magnitude_16i.h<br/>
+volk_16ic_s32f_deinterleave_32f_x2.h<br/>
+volk_16ic_s32f_deinterleave_real_32f.h<br/>
+volk_16ic_s32f_magnitude_32f.h<br/>
+volk_16ic_x2_dot_prod_16ic.h<br/>
+volk_16ic_x2_multiply_16ic.h<br/>
+volk_16u_byteswap.h<br/>
+volk_16u_byteswappuppet_16u.h<br/>
+volk_32f_8u_polarbutterfly_32f.h<br/>
+volk_32f_8u_polarbutterflypuppet_32f.h<br/>
+volk_32f_accumulator_s32f.h<br/>
+volk_32f_acos_32f.h<br/>
+volk_32f_asin_32f.h<br/>
+volk_32f_atan_32f.h<br/>
+volk_32f_binary_slicer_32i.h<br/>
+volk_32f_binary_slicer_8i.h<br/>
+volk_32f_convert_64f.h<br/>
+volk_32f_cos_32f.h<br/>
+volk_32f_expfast_32f.h<br/>
+volk_32f_index_max_16u.h<br/>
+volk_32f_index_max_32u.h<br/>
+volk_32f_invsqrt_32f.h<br/>
+volk_32f_log2_32f.h<br/>
+volk_32f_null_32f.h<br/>
+volk_32f_s32f_32f_fm_detect_32f.h<br/>
+volk_32f_s32f_calc_spectral_noise_floor_32f.h<br/>
+volk_32f_s32f_convert_16i.h<br/>
+volk_32f_s32f_convert_32i.h<br/>
+volk_32f_s32f_convert_8i.h<br/>
+volk_32f_s32f_multiply_32f.h<br/>
+volk_32f_s32f_normalize.h<br/>
+volk_32f_s32f_power_32f.h<br/>
+volk_32f_s32f_stddev_32f.h<br/>
+volk_32f_sin_32f.h<br/>
+volk_32f_sqrt_32f.h<br/>
+volk_32f_stddev_and_mean_32f_x2.h<br/>
+volk_32f_tan_32f.h<br/>
+volk_32f_tanh_32f.h<br/>
+volk_32f_x2_add_32f.h<br/>
+volk_32f_x2_divide_32f.h<br/>
+volk_32f_x2_dot_prod_16i.h<br/>
+volk_32f_x2_dot_prod_32f.h<br/>
+volk_32f_x2_fm_detectpuppet_32f.h<br/>
+volk_32f_x2_interleave_32fc.h<br/>
+volk_32f_x2_max_32f.h<br/>
+volk_32f_x2_min_32f.h<br/>
+volk_32f_x2_multiply_32f.h<br/>
+volk_32f_x2_pow_32f.h<br/>
+volk_32f_x2_s32f_interleave_16ic.h<br/>
+volk_32f_x2_subtract_32f.h<br/>
+volk_32f_x3_sum_of_poly_32f.h<br/>
+volk_32fc_32f_dot_prod_32fc.h<br/>
+volk_32fc_32f_multiply_32fc.h<br/>
+volk_32fc_conjugate_32fc.h<br/>
+volk_32fc_convert_16ic.h<br/>
+volk_32fc_deinterleave_32f_x2.h<br/>
+volk_32fc_deinterleave_64f_x2.h<br/>
+volk_32fc_deinterleave_imag_32f.h<br/>
+volk_32fc_deinterleave_real_32f.h<br/>
+volk_32fc_deinterleave_real_64f.h<br/>
+volk_32fc_index_max_16u.h<br/>
+volk_32fc_index_max_32u.h<br/>
+volk_32fc_magnitude_32f.h<br/>
+volk_32fc_magnitude_squared_32f.h<br/>
+volk_32fc_s32f_atan2_32f.h<br/>
+volk_32fc_s32f_deinterleave_real_16i.h<br/>
+volk_32fc_s32f_magnitude_16i.h<br/>
+volk_32fc_s32f_power_32fc.h<br/>
+volk_32fc_s32f_power_spectrum_32f.h<br/>
+volk_32fc_s32f_x2_power_spectral_density_32f.h<br/>
+volk_32fc_s32fc_multiply_32fc.h<br/>
+volk_32fc_s32fc_rotatorpuppet_32fc.h<br/>
+volk_32fc_s32fc_x2_rotator_32fc.h<br/>
+volk_32fc_x2_conjugate_dot_prod_32fc.h<br/>
+volk_32fc_x2_divide_32fc.h<br/>
+volk_32fc_x2_dot_prod_32fc.h<br/>
+volk_32fc_x2_multiply_32fc.h<br/>
+volk_32fc_x2_multiply_conjugate_32fc.h<br/>
+volk_32fc_x2_s32f_square_dist_scalar_mult_32f.h<br/>
+volk_32fc_x2_square_dist_32f.h<br/>
+volk_32i_s32f_convert_32f.h<br/>
+volk_32i_x2_and_32i.h<br/>
+volk_32i_x2_or_32i.h<br/>
+volk_32u_byteswap.h<br/>
+volk_32u_byteswappuppet_32u.h<br/>
+volk_32u_popcnt.h<br/>
+volk_32u_popcntpuppet_32u.h<br/>
+volk_64f_convert_32f.h<br/>
+volk_64f_x2_max_64f.h<br/>
+volk_64f_x2_min_64f.h<br/>
+volk_64u_byteswap.h<br/>
+volk_64u_byteswappuppet_64u.h<br/>
+volk_64u_popcnt.h<br/>
+volk_64u_popcntpuppet_64u.h<br/>
+volk_8i_convert_16i.h<br/>
+volk_8i_s32f_convert_32f.h<br/>
+volk_8ic_deinterleave_16i_x2.h<br/>
+volk_8ic_deinterleave_real_16i.h<br/>
+volk_8ic_deinterleave_real_8i.h<br/>
+volk_8ic_s32f_deinterleave_32f_x2.h<br/>
+volk_8ic_s32f_deinterleave_real_32f.h<br/>
+volk_8ic_x2_multiply_conjugate_16ic.h<br/>
+volk_8ic_x2_s32f_multiply_conjugate_32fc.h<br/>
+volk_8u_conv_k7_r2puppet_8u.h<br/>
+volk_8u_x2_encodeframepolar_8u.h<br/>
+volk_8u_x3_encodepolar_8u_x2.h<br/>
+volk_8u_x3_encodepolarpuppet_8u.h<br/>
+volk_8u_x4_conv_k7_r2_8u.h<br/>
+volk_avx_intrinsics.h<br/>
+volk_common.h<br/>
+volk_complex.h<br/>
+volk_config_fixed.h<br/>
+volk_cpu.h<br/>
+volk_malloc.h<br/>
+volk_neon_intrinsics.h<br/>
+volk_prefs.h<br/>
+volk_sse3_intrinsics.h<br/>
+volk_sse_intrinsics.h<br/>
+volk_typedefs.h<br/>
+</div>
+<br/><a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Libs'></a><h2>Libraries <span class='gray'>&nbsp;1&nbsp;</span></h2><hr/>
+<div class='lib_list'>
+libvolk.so.1.3<br/>
+</div>
+<br/><a class='top_ref' href='#Top'>to the top</a><br/>
+<br/><br/><br/></div><div id='SourceTab' class='tab'>
+<h2>Test Info</h2><hr/>
+<table class='summary'>
+<tr><th>Library Name</th><td>libvolk1-dev</td></tr>
+<tr><th>Version #1</th><td>1.3-3</td></tr>
+<tr><th>Version #2</th><td>1.4-1</td></tr>
+<tr><th>Arch</th><td>x86_64</td></tr>
+<tr><th>Subject</th><td width='150px'>Source Compatibility</td></tr>
+</table>
+<h2>Test Results</h2><hr/>
+<table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>135</a></td></tr>
+<tr><th>Total Libraries</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr>
+<tr><th>Total Symbols / Types</th><td>660 / 235</td></tr>
+<tr><th>Compatibility</th>
+<td class='warning'>99.1%</td>
+</tr>
+</table>
+<h2>Problem Summary</h2><hr/>
+<table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td class='new'><a href='#Source_Added' style='color:Blue;'>46</a></td></tr>
+<tr><th>Removed Symbols</th><td>High</td><td class='failed'><a href='#Source_Removed' style='color:Blue;'>5</a></td></tr>
+<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr>
+<tr><td>Medium</td><td>0</td></tr>
+<tr><td>Low</td><td class='warning'><a href='#Type_Source_Problems_Low' style='color:Blue;'>1</a></td></tr>
+<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td class='failed'><a href='#Symbol_Source_Problems_High' style='color:Blue;'>1</a></td></tr>
+<tr><td>Medium</td><td>0</td></tr>
+<tr><td>Low</td><td>0</td></tr>
+<tr><th>Problems with<br/>Constants</th><td>Low</td><td class='warning'><a href='#Constant_Source_Problems_Low' style='color:Blue;'>1</a></td></tr>
+<tr><th>Other Changes<br/>in Constants</th><td>-</td><td class='passed'><a href='#Other_Source_Changes_In_Constants' style='color:Blue;'>2</a></td></tr>
+</table>
+
+<a name='Source_Added'></a><h2>Added Symbols <span class='new'>&nbsp;46&nbsp;</span></h2><hr/>
+<span class='h_name'>volk.h</span><br/>
+<span class="iname">volk_32f_64f_add_64f <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32f_64f_add_64f_a <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32f_64f_add_64f_get_func_desc&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">volk_32f_64f_add_64f_manual&#160;<span class='sym_p'><span>(&#160;double* <span class='color_p'>cVector</span></span>, <span>float const* <span class='color_p'>aVector</span></span>, <span>double const* <span class='color_p'>bVector</span></span>, <span>unsigned int <span class='color_p'>num_points</span></span>, <span>char const* <span class='color_p'>impl_name</span></span>&#160;)</span></span><br/>
+<span class="iname">volk_32f_64f_add_64f_u <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32f_64f_multiply_64f <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32f_64f_multiply_64f_a <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32f_64f_multiply_64f_get_func_desc&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">volk_32f_64f_multiply_64f_manual&#160;<span class='sym_p'><span>(&#160;double* <span class='color_p'>cVector</span></span>, <span>float const* <span class='color_p'>aVector</span></span>, <span>double const* <span class='color_p'>bVector</span></span>, <span>unsigned int <span class='color_p'>num_points</span></span>, <span>char const* <span class='color_p'>impl_name</span></span>&#160;)</span></span><br/>
+<span class="iname">volk_32f_64f_multiply_64f_u <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32f_s32f_mod_rangepuppet_32f <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32f_s32f_mod_rangepuppet_32f_a <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32f_s32f_mod_rangepuppet_32f_get_func_desc&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">volk_32f_s32f_mod_rangepuppet_32f_manual&#160;<span class='sym_p'><span>(&#160;float* <span class='color_p'>output</span></span>, <span>float const* <span class='color_p'>input</span></span>, <span>float <span class='color_p'>bound</span></span>, <span>unsigned int <span class='color_p'>num_points</span></span>, <span>char const* <span class='color_p'>impl_name</span></span>&#160;)</span></span><br/>
+<span class="iname">volk_32f_s32f_mod_rangepuppet_32f_u <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32f_s32f_s32f_mod_range_32f <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32f_s32f_s32f_mod_range_32f_a <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32f_s32f_s32f_mod_range_32f_get_func_desc&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">volk_32f_s32f_s32f_mod_range_32f_manual&#160;<span class='sym_p'><span>(&#160;float* <span class='color_p'>outputVector</span></span>, <span>float const* <span class='color_p'>inputVector</span></span>, <span>float const <span class='color_p'>lower_bound</span></span>, <span>float const <span class='color_p'>upper_bound</span></span>, <span>unsigned int <span class='color_p'>num_points</span></span>, <span>char const* <span class='color_p'>impl_name</span></span>&#160;)</span></span><br/>
+<span class="iname">volk_32f_s32f_s32f_mod_range_32f_u <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32fc_32f_add_32fc <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32fc_32f_add_32fc_a <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32fc_32f_add_32fc_get_func_desc&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">volk_32fc_32f_add_32fc_manual&#160;<span class='sym_p'><span>(&#160;lv_32fc_t* <span class='color_p'>cVector</span></span>, <span>lv_32fc_t const* <span class='color_p'>aVector</span></span>, <span>float const* <span class='color_p'>bVector</span></span>, <span>unsigned int <span class='color_p'>num_points</span></span>, <span>char const* <span class='color_p'>impl_name</span></span>&#160;)</span></span><br/>
+<span class="iname">volk_32fc_32f_add_32fc_u <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32fc_x2_add_32fc <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32fc_x2_add_32fc_a <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32fc_x2_add_32fc_get_func_desc&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">volk_32fc_x2_add_32fc_manual&#160;<span class='sym_p'><span>(&#160;lv_32fc_t* <span class='color_p'>cVector</span></span>, <span>lv_32fc_t const* <span class='color_p'>aVector</span></span>, <span>lv_32fc_t const* <span class='color_p'>bVector</span></span>, <span>unsigned int <span class='color_p'>num_points</span></span>, <span>char const* <span class='color_p'>impl_name</span></span>&#160;)</span></span><br/>
+<span class="iname">volk_32fc_x2_add_32fc_u <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32u_reverse_32u <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32u_reverse_32u_a <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_32u_reverse_32u_get_func_desc&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">volk_32u_reverse_32u_manual&#160;<span class='sym_p'><span>(&#160;uint32_t* <span class='color_p'>out</span></span>, <span>uint32_t const* <span class='color_p'>in</span></span>, <span>unsigned int <span class='color_p'>num_points</span></span>, <span>char const* <span class='color_p'>impl_name</span></span>&#160;)</span></span><br/>
+<span class="iname">volk_32u_reverse_32u_u <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_64f_x2_add_64f <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_64f_x2_add_64f_a <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_64f_x2_add_64f_get_func_desc&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">volk_64f_x2_add_64f_manual&#160;<span class='sym_p'><span>(&#160;double* <span class='color_p'>cVector</span></span>, <span>double const* <span class='color_p'>aVector</span></span>, <span>double const* <span class='color_p'>bVector</span></span>, <span>unsigned int <span class='color_p'>num_points</span></span>, <span>char const* <span class='color_p'>impl_name</span></span>&#160;)</span></span><br/>
+<span class="iname">volk_64f_x2_add_64f_u <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_64f_x2_multiply_64f <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_64f_x2_multiply_64f_a <span class='attr'>[data]</span></span><br/>
+<span class="iname">volk_64f_x2_multiply_64f_get_func_desc&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">volk_64f_x2_multiply_64f_manual&#160;<span class='sym_p'><span>(&#160;double* <span class='color_p'>cVector</span></span>, <span>double const* <span class='color_p'>aVector</span></span>, <span>double const* <span class='color_p'>bVector</span></span>, <span>unsigned int <span class='color_p'>num_points</span></span>, <span>char const* <span class='color_p'>impl_name</span></span>&#160;)</span></span><br/>
+<span class="iname">volk_64f_x2_multiply_64f_u <span class='attr'>[data]</span></span><br/>
+<br/>
+<span class='h_name'>volk_32u_reverse_32u.h</span><br/>
+<span class="section" onclick="javascript:showContent(this, 'c_5')">
+BitReverseTable256 <span class='attr'>[data]</span></span>
+<br/>
+<div id="c_5" style="display:none;">
+<span class='mngl'>_ZL18BitReverseTable256</span>
+<br/>
+<br/>
+</div>
+
+<br/>
+<a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Source_Removed'></a><a name='Source_Withdrawn'></a><h2>Removed Symbols <span class='failed'>&nbsp;5&nbsp;</span></h2><hr/>
+<span class='h_name'>constants.h</span><br/>
+<span class="iname">volk_available_machines&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">volk_c_compiler&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">volk_compiler_flags&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">volk_prefix&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">volk_version&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<br/>
+<a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='High_Risk_Source_Problems'></a><a name='Symbol_Source_Problems_High'></a><a name='Interface_Source_Problems_High'></a>
+<h2>Problems with Symbols, High Severity <span class='failed'>&nbsp;1&nbsp;</span></h2><hr/>
+<span class='h_name'>volk.h</span><br/>
+<span class="section" onclick="javascript:showContent(this, 'c_6')">
+<span class='ext'>[+]</span> volk_32f_8u_polarbutterfly_32f_manual&#160;<span class='sym_p'><span>(&#160;float* <span class='color_p'>llrs</span></span>, <span>unsigned char* <span class='color_p'>u</span></span>, <span>int const <span class='color_p'>frame_size</span></span>, <span>int const <span class='color_p'>frame_exp</span></span>, <span>int const <span class='color_p'>stage</span></span>, <span>int const <span class='color_p'>u_num</span></span>, <span>int const <span class='color_p'>row</span></span>, <span>char const* <span class='color_p'>impl_name</span></span>&#160;)</span> <span class='failed'>&nbsp;1&nbsp;</span></span>
+<br/>
+<div id="c_6" style="display:none;">
+
+
+<span class='new_sign_lbl'>&#8675;</span>
+<br/>
+<span class='new_sign'>volk_32f_8u_polarbutterfly_32f_manual&#160;<span class='sym_p'><span>(&#160;float* <span class='color_p'>llrs</span></span>, <span>unsigned char* <span class='color_p'>u</span></span>, <span>int const <span class='color_p'>frame_exp</span></span>, <span>int const <span class='color_p'>stage</span></span>, <span>int const <span class='color_p'>u_num</span></span>, <span>int const <span class='color_p'>row</span></span>, <span>char const* <span class='color_p'>impl_name</span></span>&#160;)</span></span><br/>
+<table class='ptable'>
+<tr>
+<th class='pn'></th>
+<th class='chg'>Change</th>
+<th>Effect</th>
+</tr>
+<tr>
+<th>1</th>
+<td><b>3rd</b> middle parameter <b>frame_size</b> has been removed from the calling stack.</td>
+<td>Recompilation of a client program may be broken.</td>
+</tr>
+</table>
+<br/>
+</div>
+<br/>
+<a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Low_Risk_Source_Problems'></a><a name='Type_Source_Problems_Low'></a>
+<h2>Problems with Data Types, Low Severity <span class='warning'>&nbsp;1&nbsp;</span></h2><hr/>
+<span class='h_name'>volk_typedefs.h</span><br/>
+<span class="section" onclick="javascript:showContent(this, 'c_7')">
+<span class='ext'>[+]</span> <span class='ttype'>typedef</span> p_32f_8u_polarbutterfly_32f <span class='warning'>&nbsp;1&nbsp;</span></span>
+<br/>
+<div id="c_7" style="display:none;">
+<table class='ptable'><tr>
+<th class='pn'></th>
+<th class='chg'>Change</th>
+<th>Effect</th></tr><tr>
+<th>1</th>
+<td>Base type has been changed from <span class='value'>void(*)(float*, unsigned char*, int, int, int, int, int)</span> to <span class='value'>void(*)(float*, unsigned char*, int, int, int, int)</span>.</td>
+<td>Recompilation of a client program may be broken.</td>
+</tr>
+</table>
+<span class="sect_aff" onclick="javascript:showContent(this, 'c_8')">
+[+] affected symbols: 3 (0.5%)</span>
+<div id="c_8" style="display:none;">
+<div class='affected'><span class='iname_a'>volk_32f_8u_polarbutterfly_32f <span class='attr'>[data]</span></span><br/>
+<div class='affect'>Return value is of type &#39;p_32f_8u_polarbutterfly_32f&#39;.</div>
+<span class='iname_a'>volk_32f_8u_polarbutterfly_32f_a <span class='attr'>[data]</span></span><br/>
+<div class='affect'>Return value is of type &#39;p_32f_8u_polarbutterfly_32f&#39;.</div>
+<span class='iname_a'>volk_32f_8u_polarbutterfly_32f_u <span class='attr'>[data]</span></span><br/>
+<div class='affect'>Return value is of type &#39;p_32f_8u_polarbutterfly_32f&#39;.</div>
+</div>
+</div>
+<br/><br/></div>
+
+<br/>
+<a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Constant_Source_Problems_Low'></a>
+<h2>Problems with Constants, Low Severity <span class='warning'>&nbsp;1&nbsp;</span></h2><hr/>
+<span class='h_name'>volk_32f_log2_32f.h</span><br/>
+<span class="section" onclick="javascript:showContent(this, 'c_9')">
+<span class='ext'>[+]</span> LOG_POLY_DEGREE</span>
+<br/>
+<div id="c_9" style="display:none;">
+<table class='ptable'>
+<tr>
+<th class='pn'></th>
+<th class='chg'>Change</th>
+<th>Effect</th>
+</tr>
+<tr>
+<th>1</th>
+<td>The constant <b>LOG_POLY_DEGREE</b> with value <b>6</b> has been removed.</td>
+<td>Recompilation of a client program may be broken.</td>
+</tr>
+</table>
+<br/>
+</div>
+
+<br/>
+<a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Other_Source_Changes'></a><a name='Other_Source_Changes_In_Constants'></a>
+<h2>Other Changes in Constants <span class='passed'>&nbsp;2&nbsp;</span></h2><hr/>
+<span class='h_name'>volk_common.h</span><br/>
+<span class="section" onclick="javascript:showContent(this, 'c_10')">
+<span class='ext'>[+]</span> __VOLK_ASM</span>
+<br/>
+<div id="c_10" style="display:none;">
+<table class='ptable'>
+<tr>
+<th class='pn'></th>
+<th class='chg'>Change</th>
+<th>Effect</th>
+</tr>
+<tr>
+<th>1</th>
+<td>The constant <b>__VOLK_ASM</b> with value <b>__asm__</b> has been added.</td>
+<td>No effect.</td>
+</tr>
+</table>
+<br/>
+</div>
+
+<span class="section" onclick="javascript:showContent(this, 'c_11')">
+<span class='ext'>[+]</span> __VOLK_VOLATILE</span>
+<br/>
+<div id="c_11" style="display:none;">
+<table class='ptable'>
+<tr>
+<th class='pn'></th>
+<th class='chg'>Change</th>
+<th>Effect</th>
+</tr>
+<tr>
+<th>1</th>
+<td>The constant <b>__VOLK_VOLATILE</b> with value <b>__volatile__</b> has been added.</td>
+<td>No effect.</td>
+</tr>
+</table>
+<br/>
+</div>
+
+<br/>
+<a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Headers'></a><h2>Header Files <span class='gray'>&nbsp;135&nbsp;</span></h2><hr/>
+<div class='h_list'>
+constants.h<br/>
+saturation_arithmetic.h<br/>
+volk.h<br/>
+volk_16i_32fc_dot_prod_32fc.h<br/>
+volk_16i_branch_4_state_8.h<br/>
+volk_16i_convert_8i.h<br/>
+volk_16i_max_star_16i.h<br/>
+volk_16i_max_star_horizontal_16i.h<br/>
+volk_16i_permute_and_scalar_add.h<br/>
+volk_16i_s32f_convert_32f.h<br/>
+volk_16i_x4_quad_max_star_16i.h<br/>
+volk_16i_x5_add_quad_16i_x4.h<br/>
+volk_16ic_convert_32fc.h<br/>
+volk_16ic_deinterleave_16i_x2.h<br/>
+volk_16ic_deinterleave_real_16i.h<br/>
+volk_16ic_deinterleave_real_8i.h<br/>
+volk_16ic_magnitude_16i.h<br/>
+volk_16ic_s32f_deinterleave_32f_x2.h<br/>
+volk_16ic_s32f_deinterleave_real_32f.h<br/>
+volk_16ic_s32f_magnitude_32f.h<br/>
+volk_16ic_x2_dot_prod_16ic.h<br/>
+volk_16ic_x2_multiply_16ic.h<br/>
+volk_16u_byteswap.h<br/>
+volk_16u_byteswappuppet_16u.h<br/>
+volk_32f_8u_polarbutterfly_32f.h<br/>
+volk_32f_8u_polarbutterflypuppet_32f.h<br/>
+volk_32f_accumulator_s32f.h<br/>
+volk_32f_acos_32f.h<br/>
+volk_32f_asin_32f.h<br/>
+volk_32f_atan_32f.h<br/>
+volk_32f_binary_slicer_32i.h<br/>
+volk_32f_binary_slicer_8i.h<br/>
+volk_32f_convert_64f.h<br/>
+volk_32f_cos_32f.h<br/>
+volk_32f_expfast_32f.h<br/>
+volk_32f_index_max_16u.h<br/>
+volk_32f_index_max_32u.h<br/>
+volk_32f_invsqrt_32f.h<br/>
+volk_32f_log2_32f.h<br/>
+volk_32f_null_32f.h<br/>
+volk_32f_s32f_32f_fm_detect_32f.h<br/>
+volk_32f_s32f_calc_spectral_noise_floor_32f.h<br/>
+volk_32f_s32f_convert_16i.h<br/>
+volk_32f_s32f_convert_32i.h<br/>
+volk_32f_s32f_convert_8i.h<br/>
+volk_32f_s32f_multiply_32f.h<br/>
+volk_32f_s32f_normalize.h<br/>
+volk_32f_s32f_power_32f.h<br/>
+volk_32f_s32f_stddev_32f.h<br/>
+volk_32f_sin_32f.h<br/>
+volk_32f_sqrt_32f.h<br/>
+volk_32f_stddev_and_mean_32f_x2.h<br/>
+volk_32f_tan_32f.h<br/>
+volk_32f_tanh_32f.h<br/>
+volk_32f_x2_add_32f.h<br/>
+volk_32f_x2_divide_32f.h<br/>
+volk_32f_x2_dot_prod_16i.h<br/>
+volk_32f_x2_dot_prod_32f.h<br/>
+volk_32f_x2_fm_detectpuppet_32f.h<br/>
+volk_32f_x2_interleave_32fc.h<br/>
+volk_32f_x2_max_32f.h<br/>
+volk_32f_x2_min_32f.h<br/>
+volk_32f_x2_multiply_32f.h<br/>
+volk_32f_x2_pow_32f.h<br/>
+volk_32f_x2_s32f_interleave_16ic.h<br/>
+volk_32f_x2_subtract_32f.h<br/>
+volk_32f_x3_sum_of_poly_32f.h<br/>
+volk_32fc_32f_dot_prod_32fc.h<br/>
+volk_32fc_32f_multiply_32fc.h<br/>
+volk_32fc_conjugate_32fc.h<br/>
+volk_32fc_convert_16ic.h<br/>
+volk_32fc_deinterleave_32f_x2.h<br/>
+volk_32fc_deinterleave_64f_x2.h<br/>
+volk_32fc_deinterleave_imag_32f.h<br/>
+volk_32fc_deinterleave_real_32f.h<br/>
+volk_32fc_deinterleave_real_64f.h<br/>
+volk_32fc_index_max_16u.h<br/>
+volk_32fc_index_max_32u.h<br/>
+volk_32fc_magnitude_32f.h<br/>
+volk_32fc_magnitude_squared_32f.h<br/>
+volk_32fc_s32f_atan2_32f.h<br/>
+volk_32fc_s32f_deinterleave_real_16i.h<br/>
+volk_32fc_s32f_magnitude_16i.h<br/>
+volk_32fc_s32f_power_32fc.h<br/>
+volk_32fc_s32f_power_spectrum_32f.h<br/>
+volk_32fc_s32f_x2_power_spectral_density_32f.h<br/>
+volk_32fc_s32fc_multiply_32fc.h<br/>
+volk_32fc_s32fc_rotatorpuppet_32fc.h<br/>
+volk_32fc_s32fc_x2_rotator_32fc.h<br/>
+volk_32fc_x2_conjugate_dot_prod_32fc.h<br/>
+volk_32fc_x2_divide_32fc.h<br/>
+volk_32fc_x2_dot_prod_32fc.h<br/>
+volk_32fc_x2_multiply_32fc.h<br/>
+volk_32fc_x2_multiply_conjugate_32fc.h<br/>
+volk_32fc_x2_s32f_square_dist_scalar_mult_32f.h<br/>
+volk_32fc_x2_square_dist_32f.h<br/>
+volk_32i_s32f_convert_32f.h<br/>
+volk_32i_x2_and_32i.h<br/>
+volk_32i_x2_or_32i.h<br/>
+volk_32u_byteswap.h<br/>
+volk_32u_byteswappuppet_32u.h<br/>
+volk_32u_popcnt.h<br/>
+volk_32u_popcntpuppet_32u.h<br/>
+volk_64f_convert_32f.h<br/>
+volk_64f_x2_max_64f.h<br/>
+volk_64f_x2_min_64f.h<br/>
+volk_64u_byteswap.h<br/>
+volk_64u_byteswappuppet_64u.h<br/>
+volk_64u_popcnt.h<br/>
+volk_64u_popcntpuppet_64u.h<br/>
+volk_8i_convert_16i.h<br/>
+volk_8i_s32f_convert_32f.h<br/>
+volk_8ic_deinterleave_16i_x2.h<br/>
+volk_8ic_deinterleave_real_16i.h<br/>
+volk_8ic_deinterleave_real_8i.h<br/>
+volk_8ic_s32f_deinterleave_32f_x2.h<br/>
+volk_8ic_s32f_deinterleave_real_32f.h<br/>
+volk_8ic_x2_multiply_conjugate_16ic.h<br/>
+volk_8ic_x2_s32f_multiply_conjugate_32fc.h<br/>
+volk_8u_conv_k7_r2puppet_8u.h<br/>
+volk_8u_x2_encodeframepolar_8u.h<br/>
+volk_8u_x3_encodepolar_8u_x2.h<br/>
+volk_8u_x3_encodepolarpuppet_8u.h<br/>
+volk_8u_x4_conv_k7_r2_8u.h<br/>
+volk_avx_intrinsics.h<br/>
+volk_common.h<br/>
+volk_complex.h<br/>
+volk_config_fixed.h<br/>
+volk_cpu.h<br/>
+volk_malloc.h<br/>
+volk_neon_intrinsics.h<br/>
+volk_prefs.h<br/>
+volk_sse3_intrinsics.h<br/>
+volk_sse_intrinsics.h<br/>
+volk_typedefs.h<br/>
+</div>
+<br/><a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Libs'></a><h2>Libraries <span class='gray'>&nbsp;1&nbsp;</span></h2><hr/>
+<div class='lib_list'>
+libvolk.so.1.3<br/>
+</div>
+<br/><a class='top_ref' href='#Top'>to the top</a><br/>
+<br/><br/><br/></div><hr/>
+<div class='footer' align='right'><i>Generated by <a href='https://github.com/lvc/abi-compliance-checker'>ABI Compliance Checker</a> 2.2 &#160;</i>
+</div>
+<br/>
+
+</body></html>
diff --git a/libvolk1.4.install b/libvolk1.4.install
new file mode 100644 (file)
index 0000000..e4252f4
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libvolk.so.*
diff --git a/patches/install-all-headers b/patches/install-all-headers
new file mode 100644 (file)
index 0000000..60e26de
--- /dev/null
@@ -0,0 +1,38 @@
+From 1ccd05806eaba582dbd4aa9547bd0081731e2798 Mon Sep 17 00:00:00 2001
+From: "A. Maitland Bottoms" <bottoms@debian.org>
+Date: Tue, 27 Mar 2018 22:05:29 -0400
+Subject: [PATCH 4/6] install all headers
+
+(Along with some sorting)
+---
+ CMakeLists.txt | 13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -158,17 +158,20 @@
+ )
+ install(FILES
+-    ${CMAKE_SOURCE_DIR}/include/volk/volk_prefs.h
+-    ${CMAKE_SOURCE_DIR}/include/volk/volk_complex.h
+-    ${CMAKE_SOURCE_DIR}/include/volk/volk_common.h
++    ${CMAKE_SOURCE_DIR}/include/volk/constants.h
++    ${CMAKE_SOURCE_DIR}/include/volk/saturation_arithmetic.h
+     ${CMAKE_SOURCE_DIR}/include/volk/volk_avx_intrinsics.h
+-    ${CMAKE_SOURCE_DIR}/include/volk/volk_sse3_intrinsics.h
++    ${CMAKE_SOURCE_DIR}/include/volk/volk_common.h
++    ${CMAKE_SOURCE_DIR}/include/volk/volk_complex.h
++    ${CMAKE_SOURCE_DIR}/include/volk/volk_malloc.h
+     ${CMAKE_SOURCE_DIR}/include/volk/volk_neon_intrinsics.h
++    ${CMAKE_SOURCE_DIR}/include/volk/volk_prefs.h
++    ${CMAKE_SOURCE_DIR}/include/volk/volk_sse3_intrinsics.h
++    ${CMAKE_SOURCE_DIR}/include/volk/volk_sse_intrinsics.h
+     ${CMAKE_BINARY_DIR}/include/volk/volk.h
+     ${CMAKE_BINARY_DIR}/include/volk/volk_cpu.h
+     ${CMAKE_BINARY_DIR}/include/volk/volk_config_fixed.h
+     ${CMAKE_BINARY_DIR}/include/volk/volk_typedefs.h
+-    ${CMAKE_SOURCE_DIR}/include/volk/volk_malloc.h
+     DESTINATION include/volk
+     COMPONENT "volk_devel"
+ )
diff --git a/patches/libm-link b/patches/libm-link
new file mode 100644 (file)
index 0000000..b8f6314
--- /dev/null
@@ -0,0 +1,20 @@
+--- a/lib/CMakeLists.txt
++++ b/lib/CMakeLists.txt
+@@ -542,7 +542,7 @@
+     #Add dynamic library
+     add_library(volk SHARED $<TARGET_OBJECTS:volk_obj>)
+-    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 --git a/patches/make-acc-happy b/patches/make-acc-happy
new file mode 100644 (file)
index 0000000..08ebf34
--- /dev/null
@@ -0,0 +1,69 @@
+From 799245ea6e9e05cc0ed0fabe783fbbe1a5054fd4 Mon Sep 17 00:00:00 2001
+From: "A. Maitland Bottoms" <bottoms@debian.org>
+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 <arm_neon.h>
+ 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 <volk/volk_32f_8u_polarbutterfly_32f.h>
+ #include <volk/volk_8u_x3_encodepolar_8u_x2.h>
+ #include <volk/volk_8u_x3_encodepolarpuppet_8u.h>
++#include <volk/volk_8u_x2_encodeframepolar_8u.h>
+ 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 <tmmintrin.h>
+-- 
+2.11.0
+
diff --git a/patches/native-armv7-build-support b/patches/native-armv7-build-support
new file mode 100644 (file)
index 0000000..860bf41
--- /dev/null
@@ -0,0 +1,64 @@
+From b554121e765a3495e23975112f269a8083950212 Mon Sep 17 00:00:00 2001
+From: "A. Maitland Bottoms" <bottoms@debian.org>
+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 --git a/patches/series b/patches/series
new file mode 100644 (file)
index 0000000..329797c
--- /dev/null
@@ -0,0 +1,4 @@
+native-armv7-build-support
+make-acc-happy
+sort-cmake-glob-lists
+libm-link
diff --git a/patches/sort-cmake-glob-lists b/patches/sort-cmake-glob-lists
new file mode 100644 (file)
index 0000000..eeefb5a
--- /dev/null
@@ -0,0 +1,25 @@
+From 9d32c341220aeb5a07011b7ef349f8c606941ee4 Mon Sep 17 00:00:00 2001
+From: "A. Maitland Bottoms" <bottoms@debian.org>
+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 --git a/patches/sort-input-files b/patches/sort-input-files
new file mode 100644 (file)
index 0000000..bc06e19
--- /dev/null
@@ -0,0 +1,39 @@
+From 77da3b36b68482d1d2309a0725da399196682de0 Mon Sep 17 00:00:00 2001
+From: "Bernhard M. Wiedemann" <bwiedemann@suse.de>
+Date: Mon, 5 Jun 2017 21:37:38 +0200
+Subject: [PATCH 5/6] sort input files
+
+when building packages (e.g. for openSUSE Linux)
+(random) filesystem order of input files
+influences ordering of entries in the output,
+thus without the patch, builds (in disposable VMs) would usually differ.
+
+See https://reproducible-builds.org/ for why this matters.
+---
+ python/volk_modtool/volk_modtool_generate.py | 6 +++---
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+--- a/python/volk_modtool/volk_modtool_generate.py
++++ b/python/volk_modtool/volk_modtool_generate.py
+@@ -58,10 +58,10 @@
+         else:
+             name = self.get_basename(base)
+         if name == '':
+-            hdr_files = glob.glob(os.path.join(base, "kernels/volk/*.h"))
++            hdr_files = sorted(glob.glob(os.path.join(base, "kernels/volk/*.h")))
+             begins = re.compile("(?<=volk_).*")
+         else:
+-            hdr_files = glob.glob(os.path.join(base, "kernels/volk_" + name + "/*.h"))
++            hdr_files = sorted(glob.glob(os.path.join(base, "kernels/volk_" + name + "/*.h")))
+             begins = re.compile("(?<=volk_" + name + "_).*")
+         datatypes = []
+@@ -156,7 +156,7 @@
+         open(dest, 'w+').write(outstring)
+         # copy orc proto-kernels if they exist
+-        for orcfile in glob.glob(inpath + '/kernels/volk/asm/orc/' + top + name + '*.orc'):
++        for orcfile in sorted(glob.glob(inpath + '/kernels/volk/asm/orc/' + top + name + '*.orc')):
+             if os.path.isfile(orcfile):
+                 instring = open(orcfile, 'r').read()
+                 outstring = re.sub(oldvolk, 'volk_' + self.my_dict['name'], instring)
diff --git a/release-v14.html b/release-v14.html
new file mode 100644 (file)
index 0000000..9b64527
--- /dev/null
@@ -0,0 +1,201 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title>Vector Optimized Library of Kernels</title>
+    <link href="http://libvolk.org/theme/css/bootstrap.min.css" rel="stylesheet">
+    <link href="http://libvolk.org/theme/css/material.css" rel="stylesheet">
+    <link href="http://libvolk.org/theme/css/font-awesome.min.css" rel="stylesheet">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <link rel="icon" type="image/png" href="http://libvolk.org/theme/assets/volk.png" />
+</head>
+<body>
+<div class="header-panel shadow-z-2 row" style="background-color:#e0f7fa;">
+    <div class="row-fluid">
+    <div class="col-xs-3" style="display: inline-block; vertical-align: middle; float: none;">
+        <a href="http://libvolk.org">
+        <img src="http://libvolk.org/theme/assets/volk_wolves_only.png" alt="VOLK logo" class="center-block" height="64">
+        </a>
+    </div><!--
+    --><div class="col-xs-9" style="display: inline-block; vertical-align: middle; float: none;">
+    <div class="text-center" style="height: 64; vertical-align: bottom;">
+        <h2>
+        <a href="http://libvolk.org">
+            Vector-Optimized Library of Kernels
+        </a> :
+Release v1.4
+        </h2>
+    </div>
+    </div>
+    </div>
+</div>
+<div class="container-fluid">
+    <div class="row">
+        <nav class="col-sm-3 menu">
+        <div class="panel panel-primary">
+            <div class="panel-heading">
+                <h4>Information</h4>
+            </div>
+            <div class="panel-body">
+            <ul class="nav nav-pills nav-stacked">
+                <li><a href="http://libvolk.org/about.html">About</a></li>
+                <li><a href="http://libvolk.org/category/news.html">News</a></li>
+                <li><a href="http://libvolk.org/platforms.html">Supported Platforms</a></li>
+                <li><a href="http://libvolk.org/comparisons.html">Related Libraries</a></li>
+            </ul>
+            </div>
+        </div>
+        <div class="panel panel-primary">
+            <div class="panel-heading">
+                <h4>Source Code</h4>
+            </div>
+            <div class="panel-body">
+            <ul class="nav nav-pills nav-stacked">
+                <li><a href="releases.html">Releases</a></li>
+                <li><a href="https://github.com/gnuradio/volk">Code Repository</a></li>
+                <li><a href="doxygen/index.html">Documentation</a></li>
+            </ul>
+            </div>
+        </div>
+        <div class="panel panel-primary">
+            <div class="panel-heading">
+                <h4>Community</h4>
+            </div>
+            <div class="panel-body">
+            <ul class="nav nav-pills nav-stacked">
+                <li><a href="lists.html">Mailing List and IRC</a></li>
+                <li><a href="bugs.html">Bug Reports</a></li>
+                <li><a href="contributing.html">Contributing</a></li>
+            </ul>
+            </div>
+        </div>
+
+        </nav>
+
+        <div id="content" class="col-sm-9">
+<div class="pages col-sm-12">
+  <div class="well page active">
+    <h1>VOLK v1.4</h1>
+<p>A lot of really good changes came to VOLK with v1.4. It wouldn't have been possible without the following contributors:</p>
+<h2>Contributors</h2>
+<ul>
+<li>Andrej Rode <a href="mailto:mail@andrejro.de">mail@andrejro.de</a></li>
+<li>Bernhard M. Wiedemann <a href="mailto:bwiedemann@suse.de">bwiedemann@suse.de</a></li>
+<li>Carles Fernandez <a href="mailto:carles.fernandez@gmail.com">carles.fernandez@gmail.com</a></li>
+<li>Christoph Mayer <a href="mailto:Christoph.Mayer@cern.ch">Christoph.Mayer@cern.ch</a></li>
+<li>Damian Miralles <a href="mailto:damian.miralles@colorado.edu">damian.miralles@colorado.edu</a></li>
+<li>Douglas Anderson <a href="mailto:douglas.j.anderson@gmail.com">douglas.j.anderson@gmail.com</a></li>
+<li>hcab14 <a href="mailto:hcab14@gmail.com">hcab14@gmail.com</a></li>
+<li>Johannes Demel <a href="mailto:ufcsy@student.kit.edu">ufcsy@student.kit.edu</a></li>
+<li>Josh Blum <a href="mailto:josh@joshknows.com">josh@joshknows.com</a></li>
+<li>luz.paz <a href="mailto:luzpaz@users.noreply.github.com">luzpaz@users.noreply.github.com</a></li>
+<li>Magnus Lundmark <a href="mailto:magnus@skysense.io">magnus@skysense.io</a></li>
+<li>Marcus Müller <a href="mailto:marcus@hostalia.de">marcus@hostalia.de</a></li>
+<li>Michael Dickens <a href="mailto:michael.dickens@ettus.com">michael.dickens@ettus.com</a></li>
+<li>Nathan West <a href="mailto:nwest@deepsig.io">nwest@deepsig.io</a></li>
+<li>Nick Foster <a href="mailto:bistromath@gmail.com">bistromath@gmail.com</a></li>
+<li>Paul Cercueil <a href="mailto:paul.cercueil@analog.com">paul.cercueil@analog.com</a></li>
+<li>Stefan Wunsch <a href="mailto:stefan.wunsch@student.kit.edu">stefan.wunsch@student.kit.edu</a></li>
+</ul>
+<h2>Changes</h2>
+<p>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.</p>
+<h3>Kernels</h3>
+<p>The easiest way to show these changes is simply with two lists:</p>
+<p>New kernels</p>
+<ul>
+<li><code>32 bit reversal</code></li>
+<li><code>32f_s32f_s32f_mod_range_32f</code></li>
+<li>double precision (<code>64f_XXX</code>...)<ul>
+<li>multiply</li>
+<li>add</li>
+</ul>
+</li>
+<li><code>32f_64f_multiply_64f</code></li>
+<li><code>add 32f_64f_add_64f</code></li>
+<li><code>32fc_x2_add_32fc</code></li>
+</ul>
+<p>New proto-kernels by architecture</p>
+<p>AVX(2):</p>
+<p>Note that in some cases an unaligned version was added where an aligned version already existed</p>
+<ul>
+<li><code>volk_64f_convert_32f</code></li>
+<li><code>volk_64f_x2_max_64f</code></li>
+<li><code>volk_64f_x2_min_64f</code></li>
+<li><code>volk_32f_x2_add_32f</code></li>
+<li><code>32i_x2_and_32i</code></li>
+<li><code>32i_x2_or_32i</code></li>
+<li>conjugate dot products</li>
+<li><code>32f_accumulator_32f</code></li>
+<li><code>stddev_and_mean</code></li>
+<li><code>volk_32f_*</code> kernels</li>
+<li><code>32f_x2_divide_32f</code></li>
+<li><code>32f_x2_dot_prod_16i</code></li>
+<li><code>volk_32f_s32f_normalize</code></li>
+<li><code>volk_32f_s32f_stddev_32f</code></li>
+<li><code>volk_32f_sqrt_32f</code></li>
+<li><code>volk_32f_x2_max_32f</code></li>
+<li><code>volk_32f_x2_min_32f</code></li>
+<li><code>32f_x2_s32f_interleave_16ic</code></li>
+<li><code>32f_x2_subtract_32f</code></li>
+<li><code>32f_x2_s32f_interleave_16ic</code></li>
+<li><code>32f_x2_subtract_32f</code></li>
+<li><code>32f_x2_subtract_32f</code></li>
+<li><code>32f_x2_s32f_interleave_16ic</code></li>
+<li><code>volk_8ic_s32f_deinterleave_*</code></li>
+<li><code>32f_log2_32f</code></li>
+<li><code>volk_32f_s32f_convert_8i</code> and <code>16i</code></li>
+</ul>
+<p>NEON:</p>
+<ul>
+<li>move all neonasm to aligned protokernels</li>
+<li>added ARM version of volk_32u_reverse_32u (RBIT)</li>
+<li><code>volk_32fc_x2_divide_32fc</code></li>
+<li><code>volk_32fc_32f_add_32fc</code></li>
+<li><code>volk_32f_x2_divide_32f</code></li>
+<li><code>volk_8i_s32f_convert_32f</code></li>
+</ul>
+<p>Additionally, there are new protokernel intrinsics available for use in writing new kernels.</p>
+<p>Then, we also had some general kernel and protokernel bug fixes and using proper type-named C functions which happened to increase performance:</p>
+<p>The polarbutterfly went through some heavy refactoring and bug fixes as well as adding an AVX version.
+Fix GH issue #139 for <code>32fc_index_max_*</code> kernels resulting in a slightly wrong index being returned.
+Fix bug 106 (volk_64u_popcnt bug in generic implementation)</p>
+<h3>CI and Builds</h3>
+<p>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.</p>
+<p>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.</p>
+<p>Within this release two tools were run that reorganized includes and fixed a bunch of typos within code.</p>
+<p>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.</p>
+<p>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).</p>
+<h3>Modtool</h3>
+<div class="highlight"><pre><span class="n">modtool</span><span class="o">:</span> <span class="n">update</span> <span class="n">the</span> <span class="n">cmake</span> <span class="n">find</span> <span class="n">module</span> <span class="k">for</span> <span class="n">volk</span> <span class="n">mods</span>
+<span class="n">modtool</span><span class="o">:</span> <span class="n">deconflict</span> <span class="n">module</span> <span class="k">include</span> <span class="n">guards</span> <span class="n">from</span> <span class="n">main</span> <span class="n">volk</span>
+</pre></div>
+  </div>
+</div>
+
+        </div>
+    </div>
+</div>
+<div class="container-fluid">
+<footer class="footer text-center">
+Website content copyright &copy; 2015 Nathan West.<br>
+This page is licensed under a <a href="https://creativecommons.org/licenses/by-nd/4.0/legalcode">Creative Commons Attribution-NoDerivs 4.0 International</a><br>
+The VOLK logo copyright &copy; Marcus Müller.
+</footer>
+</div>
+
+<!-- jQuery -->
+<script src="theme/js/jquery.min.js"></script>
+
+<!-- Bootstrap js -->
+<script src="theme/js/bootstrap.min.js"></script>
+
+<!-- Material and ripple js -->
+<script src="theme/js/material.min.js"></script>
+<script>
+            $(document).ready(function() {
+                $.material.init();
+            });
+</script>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/rules b/rules
new file mode 100755 (executable)
index 0000000..d58ca4b
--- /dev/null
+++ b/rules
@@ -0,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 --git a/source/format b/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/source/include-binaries b/source/include-binaries
new file mode 100644 (file)
index 0000000..bc68a00
--- /dev/null
@@ -0,0 +1 @@
+debian/libvolk1-dev.abi.tar.gz.amd64
diff --git a/upstream/signing-key.asc b/upstream/signing-key.asc
new file mode 100644 (file)
index 0000000..f6d7f93
--- /dev/null
@@ -0,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 --git a/volk-config-info.1 b/volk-config-info.1
new file mode 100644 (file)
index 0000000..e8d6efd
--- /dev/null
@@ -0,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 --git a/volk_modtool.1 b/volk_modtool.1
new file mode 100644 (file)
index 0000000..752e7f5
--- /dev/null
@@ -0,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_<name>
+  destination: // directory new source tree is built under -- must exists.
+               // It will create <directory>/volk_<name>
+  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_<name>. 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
+<destination>/volk_<name>/kernels/volk_<name>/
+.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 --git a/volk_profile.1 b/volk_profile.1
new file mode 100644 (file)
index 0000000..405facb
--- /dev/null
@@ -0,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 --git a/watch b/watch
new file mode 100644 (file)
index 0000000..d755268
--- /dev/null
+++ b/watch
@@ -0,0 +1,3 @@
+version=3
+opts="pgpsigurlmangle=s/$/.asc/" \
+  http://libvolk.org/releases/volk-(\d\S*)\.tar\.gz