Contributors

The following people had commits in this release. Thanks to them for making VOLK possible!

Changes

This is an API-compatible support release that only includes bug fixes.

Kernels

Fix GH issue #139 for 32fc_index_max_* kernels. Note that this is a minor API change that modern compilers should be OK with if they can handle the implicit type conversion.

Use 'powf' to match variables and avoid implicit type converstion. Makes some older compilers happy, allowing 'make test' to pass. kernels: Add AVX support to 32f_x2_divide_32f,32f_x2_dot_prod_16i.

Fix bug 106 (volk_64u_popcnt bug in generic implementation)

Adds protokernels for AVX support. Modest speed improvements in some of the kernels, however, it seems to be related to the host architecture being used

Adds AVX support to volk_32f_s32f_normalize,volk_32f_s32f_stddev_32f, volk_32f_sqrt_32f, volk_32f_x2_max_32f and volk_32f_x2_min_32f. Some speed improvements can be seen with the new protokernel addition.

Adds unaligned protokernels to 32f_x2_s32f_interleave_16ic and 32f_x2_subtract_32f.

Adds unaligned versions to the afore mentioned kernels, relative speeds improvements shown in both cases.

Add NEON, AVX and unaligned versions of SSE4.1 and SSE.

Added __VOLK_PREFETCH() compatibility macro

__VOLK_PREFETCH() performs __builtin_prefetch() on GCC compilers and is otherwise a NOP for other systems. The use of __builtin_prefetch was replaced with __VOLK_PREFETCH() to make the kernels portable.

Documentation

Fixing a minimal bug in the log2 docstring

Build Support

Support relocated install with VOLK_PREFIX env var.

Some packaging systems such as snaps will install the volk library to a dynamically chosen location. The install script can set an evironment variable so that the library reports the correct prefix.

cmake: support empty CMAKE_INSTALL_PREFIX

QA and CI

qa: lower tolerance for 32fc_mag to fix issue #96 apps: fix profile update reading end of lines Add a AppVeyor compatible YAML file for building on the AppVeyor CI

Modtool

Update the cmake find module for volk mods and deconflict module include guards from main volk.