kfr

Fast, modern C++ DSP framework, FFT, Sample Rate Conversion, FIR/IIR/Biquad Filters (SSE, AVX, AVX-512, ARM NEON)
Log | Files | Refs | README

commit bae07d0b2936e0f84da5bf7f7a02a140d8c1346e
parent 932b2a7cfc893a6b9b0e932a0ae8d3ecf0689b62
Author: d.levin256@gmail.com <d.levin256@gmail.com>
Date:   Mon, 26 Jun 2023 19:46:14 +0100

Update CHANGELOG

Diffstat:
MCHANGELOG.md | 108+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 106 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md @@ -1,5 +1,111 @@ # Changelog +## 5.0.3 + +2023-06-26 + +#### Added + +- Planck-taper window function + +#### Fixed + +- Sample rate conversion: automatic zero padding +- DFT: incorrect result of real dft when input size != 4N https://github.com/kfrlib/kfr/pull/141 +- Add options for installing libraries and headers https://github.com/kfrlib/kfr/pull/182 + +## 5.0.2 + +2023-01-25 + +#### Performance + +- ARM/ARM64 performance has been improved up to 2 times in various usage scenarios, including DFT. + +#### Fixed + +- Fix sine and other functions not accepting scalar references +- Fix possible name conflict with fmt + +## 5.0.1 + +2022-12-06 + +#### Changed + +- Documentation updates + +#### Fixed + +- MSVC fixes +- Ambiguous assign operator fixes + +## 5.0.0 + +2022-11-30 + +#### Added + +- New `tensor<T, dims>` class for multidimensional data (like numpy's nparray) +- Histogram computation +- Normal (gaussian) distribution for random number generator +- All builtin expressions support multiple dimensions +- Exception support (may be configured to call user-supplied function or std::abort) +- [changes required] CMake variables now have `KFR_` prefix +- Template parameter deduction for `vec`, so `vec{1, 2}` is the same as `vec<int, 2>{1, 2}` +- [changes required] `random_state` is now architecture-agnostic and defined in `kfr` namespace +- All expression classes have been moved from `kfr::CMT_ARCH_NAME::internal` to `kfr::CMT_ARCH_NAME` namespace +- `expression_traits<T>` introduced to support interpreting any object as kfr expression +- [changes required] User-defined expressions should be rewritten to be used in KFR5 +- Out-of-class assign operators for all input & output expressions +- `round.hpp`, `clamp.hpp`, `select.hpp`, `sort.hpp`, `saturation.hpp`, `min_max.hpp`, `logical.hpp`, `abs.hpp` headers have been moved to `simd` module +- `state_holder.hpp` has been moved to `base` module +- All code related to expressions have been moved to `base` module +- `vec<T, N>::front()` and `vec<T, N>::front()` are now writable +- `set_elements` functions for output expressions like `get_elements` for input expressions + +#### Changed + +- Documentation updates + +## 4.3.1 + +2022-11-23 + +#### Fixed + +- C++20 compatibility fixes + +## 4.3.0 + +2022-10-14 + +#### Changed +* Compile times improved and memory usage reduced for MSVC and GCC +* `cxxdox` version updated +* Tests for latest Clang, Azure Pipelines images are updated +* .editorconfig file + +#### Fixed +* Fixed incompatibility with latest GCC +* Fixed various Internal Compiler Error in latest MSVC2019 +* Fixed tests for Clang 14 +* Fixed bugs in gather/scatter and read/write functions + +## 4.2.1 + +2021-04-29 + +#### Fixed + +- AVX512 intrinsics in MSVC and GCC +- `carg` +- Python 3.7 compatibility + +#### Changed + +- Global constants are now inline + ## 4.2.0 2020-02-17 @@ -14,8 +120,6 @@ - `CMAKE_INSTALL_PREFIX` is reset to empty on Win32 (can be overriden in cmake command line) - C API binary is now installed using install command (`make install`, `ninja install` or `cmake --build . --target install`) -#### Fixed - ## 4.1.0 2020-03-04