Skip to content

Changes since KFR 3.0.8

Added

  • reduce supports different types and containers other than univector
  • Assignment operators for univector: +=, *= etc
  • concatenate function to concatenate two expressions sequentially
  • Audio file IO: read_channels/write_channels to read channels data directly without interleaving/deinterleaving
  • as_string: support for std::vector

Changed

  • expression_scalar: support for vec<T>

Fixed

  • CPU detection in cmake subdirectory
  • MSVC 2017 32-bit intrinsics
Assets 2

@dlevin256 dlevin256 released this Mar 15, 2019 · 16 commits to master since this release

Changes since KFR 2.x

  • Optimized non-power of two DFT implementation
  • DFT speeds have been improved by up to 15% on most modern cpus
  • MSVC 2017 support
  • GCC 7+ support
  • Full AVX-512 support
  • EBU R128
  • Ability to include KFR as a subdirectory in cmake project
  • Ability to link objects built for multiple architectures into one binary
  • Number of automatic tests has been increased
  • C API for DFT
  • WAV file reading/writing and FLAC file reading (based on included https://github.com/mackron/dr_libs)
  • GPL version changed from 3 to 2+
  • Support for resampling complex vectors
  • Various performance improvements
  • Portability and stability fixes

Tested OS/compiler

  • macOS High Sierra/Xcode 10.1
  • macOS High Sierra/Xcode 10
  • macOS High Sierra/Xcode 9.4.1
  • macOS High Sierra/Xcode 9.0.1
  • macOS High Sierra/Xcode 8.3.3
  • Windows/Visual Studio 2017
  • Windows/Clang 6.0.0
  • Windows/Clang 7.0.0
  • Windows/Clang 7.0.1
  • MinGW Windows/Clang 6.0.0
  • MinGW Windows/Clang 7.0.0
  • MinGW Windows/Clang 7.0.1
  • MinGW Windows/GCC 7.3.0
  • MinGW Windows/GCC 8.2.0
  • Ubuntu Linux 18.04/GCC 7.3.0
  • Ubuntu Linux 18.04/GCC 8.2.0
  • Ubuntu Linux 16.04/GCC 8.1.0
  • Ubuntu Linux 16.04/GCC 7.3.0
  • Ubuntu Linux 16.04/GCC 7.4.0
  • Ubuntu Linux 16.04/Clang 6.0.1
  • Ubuntu Linux 18.04/Clang 4.0
  • Android R19

Tested architectures

  • Generic (without SIMD)
  • x86
  • x86_64 (AMD64)
  • SSE
  • SSE2
  • SSE3
  • SSSE3
  • SSE4.1
  • SSE4.2
  • AVX
  • AVX2
  • FMA
  • AVX512
  • ARM NEON
  • ARM64 NEON
Assets 2

@dlevin256 dlevin256 released this Mar 13, 2019 · 23 commits to master since this release

Changes since KFR 2.x

  • Optimized non-power of two DFT implementation
  • DFT speeds have been improved by up to 15% on most modern cpus
  • MSVC 2017 support
  • GCC 7+ support
  • Full AVX-512 support
  • EBU R128
  • Ability to include KFR as a subdirectory in cmake project
  • Ability to link objects built for multiple architectures into one binary
  • Number of automatic tests has been increased
  • C API for DFT
  • WAV file reading/writing and FLAC file reading (based on included https://github.com/mackron/dr_libs)
  • GPL version changed from 3 to 2+
  • Support for resampling complex vectors
  • Various performance improvements
  • Portability and stability fixes

Tested OS/compiler

  • macOS High Sierra/Xcode 10.1
  • macOS High Sierra/Xcode 10
  • macOS High Sierra/Xcode 9.4.1
  • macOS High Sierra/Xcode 9.0.1
  • macOS High Sierra/Xcode 8.3.3
  • Windows/Visual Studio 2017
  • Windows/Clang 6.0.0
  • Windows/Clang 7.0.0
  • Windows/Clang 7.0.1
  • MinGW Windows/Clang 6.0.0
  • MinGW Windows/Clang 7.0.0
  • MinGW Windows/Clang 7.0.1
  • MinGW Windows/GCC 7.3.0
  • MinGW Windows/GCC 8.2.0
  • Ubuntu Linux 18.04/GCC 7.3.0
  • Ubuntu Linux 18.04/GCC 8.2.0
  • Ubuntu Linux 16.04/GCC 8.1.0
  • Ubuntu Linux 16.04/GCC 7.3.0
  • Ubuntu Linux 16.04/GCC 7.4.0
  • Ubuntu Linux 16.04/Clang 6.0.1
  • Ubuntu Linux 18.04/Clang 4.0
  • Android R19

Tested architectures

  • Generic (without SIMD)
  • x86
  • x86_64 (AMD64)
  • SSE
  • SSE2
  • SSE3
  • SSSE3
  • SSE4.1
  • SSE4.2
  • AVX
  • AVX2
  • FMA
  • AVX512
  • ARM NEON
  • ARM64 NEON
Assets 2
Pre-release

@dlevin256 dlevin256 released this Mar 1, 2019 · 42 commits to master since this release

  • Optimized non-power of two DFT implementation
  • GCC 7+ support
  • MSVC 2017 support
  • Full AVX-512 support
  • EBU R128
  • Ability to include KFR as a subdirectory in cmake project
  • Ability to link objects built for multiple architectures into one binary
  • Number of automatic tests has been increased
  • C API for DFT
  • GPL version changed from 3 to 2+
Assets 2

@dlevin256 dlevin256 released this Sep 9, 2016 · 316 commits to master since this release

New features and notable changes:

  • Real-to-complex and complex-to-real FFT
  • FFT plan caching
  • Cross-correlation and auto-correlation
  • Initial support for GCC and other compilers
  • Compile times have been reduced by 10 times in Debug mode
  • New function to partition expression for parallel execution
  • Faster implementations for many functions
  • Various small improvements and fixes
Assets 2

@dlevin256 dlevin256 released this Aug 26, 2016 · 387 commits to master since this release

New features:

  • Zero latency biquad filter
  • Documentation has been written for many functions
  • Access to the internal state of expressions and their operands
  • Ability to replace arguments in existing expressions
  • phasor function to easily setup oscillators
  • expression_adjacent: call a binary function on the adjacent elements of the input expression
  • Virtual base classes for the user-defined expressions
  • dspplot python library: New parameter div_by_N
Assets 2

@dlevin256 dlevin256 released this Aug 12, 2016 · 407 commits to master since this release

Added in version 1.0:

  • Full ARM NEON support
  • Stereo conversion (LR -> MS, MS -> LR)
  • DC remover
  • Fast Upsample/Downsample by powers of two
  • Lots of improvements and fixes
Assets 2
Pre-release

@dlevin256 dlevin256 released this Aug 4, 2016 · 480 commits to master since this release

Add tests for transcendental functions using MPFR
Assets 2
You can’t perform that action at this time.