volk (1.4-2) unstable; urgency=medium
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)
  * Upload to unstable, needed by gnuradio (>= 3.7.12.0)

[dgit import unpatched volk 1.4-2]

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

index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..87b2e9436486d20f4c47d9f6b8a8c252f1bfadd2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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 --cc debian/compat
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ec635144f60048986bc560c5576355344005e6e7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++9
diff --cc debian/control
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..cf18eb905cb3649c7b0258656a8159d9e8a07cea
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..34e4faf8727d7140cbfba5944d6f02aa3543dcb0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,191 @@@
++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
++Upstream-Name: volk
++Upstream-Contact: http://libvolk.org/
++Source:
++ https://github.com/gnuradio/volk
++Comment:
++ Debian packages by A. Maitland Bottoms <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".
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b8fc4847ca74d8cf1d5e7746035c5cc9eb3185b8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/bin/volk*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..95bae9ed64bf63074c84a8443157200593ecd7b9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++debian/volk-config-info.1
++debian/volk_modtool.1
++debian/volk_profile.1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ddc5bdd74c2d9505a57b8d5063a85f8484be7142
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c8503c63a445d980c92bc9fc7f38af3d10456170
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4b391be67c9926a96be9efc4c368128bdce73c0b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++usr/include/*
++usr/lib/*/*volk*so
++usr/lib/*/cmake/volk
++usr/lib/*/pkgconfig/*volk*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f9614d6f3d39402d70ad322568455a2f9267adf7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e4252f46b63bd3c4b8896a2294216d7023ea526b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/*/libvolk.so.*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..60e26de8d2ca983a1d2c4003dd6cab47a60e3c53
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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"
++ )
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b8f631402dd939ab5a513b9ea15a9524ac665bc5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,20 @@@
++--- a/lib/CMakeLists.txt
+++++ b/lib/CMakeLists.txt
++@@ -542,7 +542,7 @@
++ 
++     #Add dynamic library
++     add_library(volk SHARED $<TARGET_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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..08ebf349db418488db0ef07faf8035293b836072
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..860bf41be21502559b91d6b0c28e7e199d5ccc5b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..329797c561064567bf394b4d49f2aef09973875d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++native-armv7-build-support
++make-acc-happy
++sort-cmake-glob-lists
++libm-link
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..eeefb5a4213d7955c5c59ddafa61f6b9b01cff75
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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})
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..bc06e196fbdf95b397e3c48f37757f332e7882a9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9b64527b73250c65df64ca6112dbf0e4b00cc486
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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>
diff --cc debian/rules
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d58ca4bf7bc34c33a2fd682fdd8db8e8ecbfe102
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,17 @@@
++#!/usr/bin/make -f
++DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
++export DEB_HOST_MULTIARCH
++DH_VERBOSE=1
++export DH_VERBOSE
++
++%:
++      dh $@ --with python2
++
++override_dh_auto_configure:
++      dh_auto_configure -- -DLIB_SUFFIX="/$(DEB_HOST_MULTIARCH)" -DPYTHON_EXECUTABLE=/usr/bin/python
++
++override_dh_auto_test:
++      - dh_auto_test -- CTEST_TEST_TIMEOUT=60
++
++override_dh_acc:
++      - dh_acc
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..163aaf8d82b6c54f23c45f32895dbdfdcc27b047
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++3.0 (quilt)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..bc68a006fbe0efb5546f8f70ea442dcc416d877c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++debian/libvolk1-dev.abi.tar.gz.amd64
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f6d7f93d8a95356e279850b59ab42e5ba964f520
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,52 @@@
++-----BEGIN PGP PUBLIC KEY BLOCK-----
++Version: GnuPG v1
++
++mQINBFcTzE0BEACWkwa+pAwjBPwUvL8E9adB6sFlH/bw/3Dj2Vr/bXDkNrZDEQzc
++C3wmoX3AZo0GSWpjlmlOGOPy6u4wZxEPfilKs+eDNnuIZN3gmLoRTThgbbrnH9bw
++kIaUMiUn8VJ0pk5ULaygG6APxl4EOVrMfzgRnxmIbUfggiBLaW/xq2a/BaVrUAuA
++oHv1GTGJkwcK0RfYigJMfZl9iHVJVopffexBt1hOeGYxiyLXSDWjOhLLVzhlfgTE
++T9YdLGyjoXFmImsCvkAA2MA52e5YGUQIBrqmiXdHFit7sve0e5Dw0aLyuTnMR0MO
++a2eIHWU6TYYv5GTJPzjBbWM1pRCgtupNilg2+RfN0tOTp27RQnUtgcCo26uBU+jV
++pyvnidpDGnuUBL3WNLZlUiqmiZs8Hc9BGNw3rKB37sUOMXz6XessnhRspXC1Mot4
++V3I1NoKwb0wjgqlkAYIGCCSuySosC5HH2OssopBUH6U5QXjFp11QbP2e+QkvKPKA
++S9V4ouSMrIDZ4krtu6QFDYsHa0zZ54yRl3O4UpfISlz3yngO2eKM019C5n51kd62
++Ia00rtx8ypvUxMy67PTEFdCKLJ6Ua/hEGcpxGygFMRa0pjHSrC6e9LvPudK92jsq
++qO0TjhUytig5k9YPoEa2JGn/kqP+K1HGAdJPay/HmcNTZWh0hoamhuJ6NwARAQAB
++tCZOYXRoYW4gV2VzdCA8bmF0aGFuLndlc3RAZ251cmFkaW8ub3JnPokCPgQTAQIA
++KAUCVxPMTQIbAwUJA8JnAAYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQOFMj
++7mQCCR20CA//VJfDu8W8BI/44JkucC+XBVqwOcfg/rcSHflgi0mNNz7hyJ+idwcB
++JVFSbhSpXucl6baJ0nDe8gcMuGFLyF4uLwCByX3ExDAnFL3Mu/jIyOUX8TGudZU7
++wTEhzOLPxmXfbo8lw3TETC1Xsl8g1gU/KBJnTl3WbdGZUlKW6fP0TR5BMdYskNHm
++CCqAvXWniZwjSX/jlpWremfTU9i9DUad8ufcdJue7uiZRNq4JLaWmSbtGNzDzJIq
++6csHc3GFcd0Q/LDEDcm1AG081yLEmRnbTstZo+xW27yaRyoe1Dpm9ehsl19dVaO7
++9ek2CEarqHjtRfO1MJMSBGiaS1lvujukYKZQRGNDKemDJwuQCVkxBMEef7SNX8XG
++2OPTARVp0hlrhMVFUk3hScekrKobq81YyCfWxBxxjRWySdInFhuT29cxxRLUxb69
++3MKLzFJRlq+oEbWJN8QGqILQ785TZA8MdnMsGywPk43x9spgYbwPhtJYb/Aes9B9
++NFkZ6EzVtzV7ztITuGhefRxt3eEmdFYNDHooWNFQdifcUgLoBgKOkP+oHOc+9mx7
++6CDN9ZJTHb87W3ISw7SLI4YcMPYipEN5g51ceInDc3kXFYQ+EqU691kOuGNtx3ov
++qqvPm9PBR00GSwhLQt7s127MFpYx9+in87+UMBFXyo/VstVBPQW2GLq5Ag0EVxPM
++TQEQAK+fh+ckP728ZVRn5mr8PtsG3gktyS6LlH7EjMsHnvQR16EVAjn5G915OQUY
++Bk6yk9l0VRX0NLautc41NwVlHI4FYBBjz6mEnDocvo+BT0g5KYTyjJPOxmEzgVZW
++3Zp/jPjK5Z9YZTCIalrk2iHVQCe8fFCnaXNGNQoku1jBPRUOOTI979LWPx4d7MI0
++7Yy+8xp5ogCrcTxea9VrMeXqnXzvy2peiceZDlvNmcEUCz222i6t2k9rUwY0+ozg
++TbsorE42h4B+a49ylY4zOX9fTPfsUj59/z/ilrxZy2qP2lBIFC+wFphKF3Qkilxd
++dnVGTsb9oKCQjuMcvh7MR27RVGLjW1pVMWGMmXBkIDu0U88Hn91XKfm1ZmWgksoU
++MC7BZocvUxIKnV+WiKy9ooP/HSzgP7ggdG+16B3yDdicB0DiBFEKZEmIWCBt5NXR
++q853WwFSH7xcrEOTXnqtkRUX4+obdwQhtqTueSC4xqX0+YVixZUC6ewqueFmPn+l
++WItCV7XU67NXTJNRC3i4kIF+hpT5YWtx56NuNcvhN25bZr1frTChOuXcCBNrOU+b
++yo2wpXAcfq+YmnaP0ZFFh7wKRi4leEPL/+JyitQbvSQU4Lejwanzvv7Ug1j4qZo1
++A6WSxXYUWJY5rhh8nWYtJJOn5Wj4Y3gWa1taUpYw1g2lf0o5ABEBAAGJAiUEGAEC
++AA8FAlcTzE0CGwwFCQPCZwAACgkQOFMj7mQCCR2uXRAAiBsOfqp+QuQqO3OPW8OZ
++I2+JNbaaFEC1TorUhGs5XiT4wKyn1wDni4mavO4kJ8nK4Zc1qBYWeMOClj6JySJL
++yf0aVTjLyn+4Q4jt/9Dmn15wbOWZvdSICipfcLWmPLYniizsJWA4Mqoefcztmyxk
++FrJZ+Vri6MH5PxVuZjHhOUVfXIsqRhqqrpRjVnjzGvNxLgP3aLHfQPim/jbxaeRK
++oVtDNDLA+1nwdpZ8Hehe5OVfUKWuz1DXrdM0eY7pTRcms8+7y//AXpRqygH7TLx5
++mXavdmAzgYcamQGfu/K4Mq9Bkgr1BNasgkxnPu+J0Z4jO9HsRBCJWf2BLKXmYedD
++5t0LR8bJHUTV7lsIifo0Ev47qsk1QX41KSKPAMwSzmtTLA0wzPJrkUEeVgm075N7
++btLneqw5EyDcz3pJ7aD3HceWh+HZOREnfYXyMLxWTND7SKx0k6nmM8xasYHP0/6y
++mR8picMjbPlyoETe6B6yKi5rDjOrDwrKqBjulcUHsRhjAAUUI6IHgj4v5gCfTPS7
++WrV98icGSHYnuxV40NT8Nt0lWNrPJhIUm1nu3UkEInznxMii1h6ga6REE/TJsStD
++C46x7fsiH4HkK1FJ+owoLhsVQo0OE4nWh8lWIBhTpR4wxThwfVHKt/H12st3tHuI
++CLIM6szb01rYgHTn9/vDgJE=
++=MlbD
++-----END PGP PUBLIC KEY BLOCK-----
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e8d6efdbbcbde3a07e31471d786985614a36aaad
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,45 @@@
++.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.40.10.
++.TH VOLK-CONFIG-INFO "1" "July 2014" "volk-config-info 0.1" "User Commands"
++.SH NAME
++volk-config-info \- pkgconfig-like tool for Vector Optimized Library of Kernels 0.1
++.SH DESCRIPTION
++.SS "Program options: volk-config-info [options]:"
++.TP
++\fB\-h\fR [ \fB\-\-help\fR ]
++print help message
++.TP
++\fB\-\-prefix\fR
++print VOLK installation prefix
++.TP
++\fB\-\-builddate\fR
++print VOLK build date (RFC2822 format)
++.TP
++\fB\-\-cc\fR
++print VOLK C compiler version
++.TP
++\fB\-\-cflags\fR
++print VOLK CFLAGS
++.TP
++\fB\-\-all\-machines\fR
++print VOLK machines built into library
++.TP
++\fB\-\-avail\-machines\fR
++print VOLK machines the current platform can use
++.TP
++\fB\-\-machine\fR
++print the VOLK machine that will be used
++.TP
++\fB\-v\fR [ \fB\-\-version\fR ]
++print VOLK version
++.SH "SEE ALSO"
++The full documentation for
++.B volk-config-info
++is maintained as a Texinfo manual.  If the
++.B info
++and
++.B volk-config-info
++programs are properly installed at your site, the command
++.IP
++.B info volk-config-info
++.PP
++should give you access to the complete manual.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..752e7f53d2d30c2dccf506e7423df16eac02a1c8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,112 @@@
++.TH GNURADIO "1" "August 2013" "volk_modtool 3.7" "User Commands"
++.SH NAME
++volk_modtool \- tailor VOLK modules
++.SH DESCRIPTION
++The volk_modtool tool is installed along with VOLK as a way of helping
++to construct, add to, and interogate the VOLK library or companion
++libraries.
++.P
++volk_modtool is installed into $prefix/bin.
++.P
++VOLK modtool enables creating standalone (out-of-tree) VOLK modules
++and provides a few tools for sharing VOLK kernels between VOLK
++modules.  If you need to design or work with VOLK kernels away from
++the canonical VOLK library, this is the tool.  If you need to tailor
++your own VOLK library for whatever reason, this is the tool.
++.P
++The canonical VOLK library installs a volk.h and a libvolk.so.  Your
++own library will install volk_$name.h and libvolk_$name.so.  Ya Gronk?
++Good.
++.P
++There isn't a substantial difference between the canonical VOLK
++module and any other VOLK module.  They're all peers.  Any module
++created via VOLK modtool will come complete with a default
++volk_modtool.cfg file associating the module with the base from which
++it came, its distinctive $name and its destination (or path).  These
++values (created from user input if VOLK modtool runs without a
++user-supplied config file or a default config file) serve as default
++values for some VOLK modtool actions.  It's more or less intended for
++the user to change directories to the top level of a created VOLK
++module and then run volk_modtool to take advantage of the values
++stored in the default volk_modtool.cfg file.
++.P
++Apart from creating new VOLK modules, VOLK modtool allows you to list
++the names of kernels in other modules, list the names of kernels in
++the current module, add kernels from another module into the current
++module, and remove kernels from the current module.  When moving
++kernels between modules, VOLK modtool does its best to keep the qa
++and profiling code for those kernels intact.  If the base has a test
++or a profiling call for some kernel, those calls will follow the
++kernel when VOLK modtool adds that kernel.  If QA or profiling
++requires a puppet kernel, the puppet kernel will follow the original
++kernel when VOLK modtool adds that original kernel.  VOLK modtool
++respects puppets.
++.P
++======================================================================
++.P
++.SH Installing a new VOLK Library:
++.P
++Run the command "volk_modtool -i". This will ask you three questions:
++.P
++  name: // the name to give your VOLK library: volk_<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.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..405facbf04075e7ec73f9429398e46a5a51857c7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,5 @@@
++.TH UHD_FFT "1" "March 2012" "volk_profile 3.5" "User Commands"
++.SH NAME
++volk_profile \- Quality Assurance application for libvolk functions
++.SH DESCRIPTION
++Writes profile results to a file.
diff --cc debian/watch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d7552686d638484befed9916f5eca166f013e6c9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++version=3
++opts="pgpsigurlmangle=s/$/.asc/" \
++  http://libvolk.org/releases/volk-(\d\S*)\.tar\.gz