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 b73e6eddf98763bbbf37c0ff2af9af17c245f397
parent 59762e8b30e63b72772bbf10905063ff367e82e0
Author: samuriddle@gmail.com <samuriddle@gmail.com>
Date:   Mon,  8 Aug 2016 01:21:11 +0300

typedefs for matrix types

Diffstat:
Minclude/kfr/base/vec.hpp | 25++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/include/kfr/base/vec.hpp b/include/kfr/base/vec.hpp @@ -616,7 +616,8 @@ struct vec : vec_t<T, N> { static_assert(N > 0 && N <= 256, "Invalid vector size"); - static_assert(!is_vec<T>::value || is_poweroftwo(size_of<T>()), "Inner vector size must be a power of two"); + static_assert(!is_vec<T>::value || is_poweroftwo(size_of<T>()), + "Inner vector size must be a power of two"); using UT = utype<T>; using value_type = T; @@ -1065,6 +1066,28 @@ using mu64x8 = mask<u64, 8>; using mu64x16 = mask<u64, 16>; using mu64x32 = mask<u64, 32>; +using u8x2x2 = vec<vec<u8, 2>, 2>; +using i8x2x2 = vec<vec<i8, 2>, 2>; +using u16x2x2 = vec<vec<u16, 2>, 2>; +using i16x2x2 = vec<vec<i16, 2>, 2>; +using u32x2x2 = vec<vec<u32, 2>, 2>; +using i32x2x2 = vec<vec<i32, 2>, 2>; +using u64x2x2 = vec<vec<u64, 2>, 2>; +using i64x2x2 = vec<vec<i64, 2>, 2>; +using f32x2x2 = vec<vec<f32, 2>, 2>; +using f64x2x2 = vec<vec<f64, 2>, 2>; + +using u8x4x4 = vec<vec<u8, 4>, 4>; +using i8x4x4 = vec<vec<i8, 4>, 4>; +using u16x4x4 = vec<vec<u16, 4>, 4>; +using i16x4x4 = vec<vec<i16, 4>, 4>; +using u32x4x4 = vec<vec<u32, 4>, 4>; +using i32x4x4 = vec<vec<i32, 4>, 4>; +using u64x4x4 = vec<vec<u64, 4>, 4>; +using i64x4x4 = vec<vec<i64, 4>, 4>; +using f32x4x4 = vec<vec<f32, 4>, 4>; +using f64x4x4 = vec<vec<f64, 4>, 4>; + namespace glsl_names { using vec2 = f32x2;