What's new in KFR 5
- New
tensor<T, dims> class for multidimensional data (like nparray)
- 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