diff --git a/main/Helium_2basic_8hpp.html b/main/Helium_2basic_8hpp.html index 0e258acd..b52c6508 100644 --- a/main/Helium_2basic_8hpp.html +++ b/main/Helium_2basic_8hpp.html @@ -139,19 +139,19 @@
Functions | |
template<typename T , typename DST , typename std::enable_if< has_vector_inst< DST >() &&IsVector< DST >::value &&SameElementType< DST, T >::value, bool >::type = true> | |
template<typename T , typename DST , typename std::enable_if< has_vector_inst< DST >() &&IsVector< DST >::value &&compatible_element< DST, T >() &&has_predicate< DST >(), bool >::type = true> | |
void | _Fill (DST &v, const T val, const vector_length_t l, const Helium *=nullptr) |
Fill evaluator for Helium. | |
template<typename T , typename DST , typename std::enable_if< has_vector_inst< DST >() &&must_use_matrix_idx< DST >() &&SameElementType< DST, T >::value, bool >::type = true> | |
template<typename T , typename DST , typename std::enable_if< has_vector_inst< DST >() &&must_use_matrix_idx< DST >() &&compatible_element< DST, T >() &&has_predicate< DST >(), bool >::type = true> | |
void | _Fill2D (DST &v, const T val, const vector_length_t rows, const vector_length_t cols, const Helium *=nullptr) |
Fill2D evaluator for Helium. | |
template<typename DA , typename DB , typename std::enable_if< has_vector_inst< DA >() &&vector_idx_pair< DA, DB >(), bool >::type = true> | |
template<typename DA , typename DB , typename std::enable_if< has_vector_inst< DA >() &&has_vector_inst< DB >() &&vector_idx_pair< DA, DB >() &&same_nb_lanes< DA, DB >() &&has_predicate< DA >(), bool >::type = true> | |
void | eval (DA &v, const DB &other, const vector_length_t l, const Helium *=nullptr) |
Eval function for Helium. | |
template<typename DA , typename DB , typename std::enable_if< has_vector_inst< DA >() &&must_use_matrix_idx_pair< DA, DB >(), bool >::type = true> | |
template<typename DA , typename DB , typename std::enable_if< has_vector_inst< DA >() &&has_vector_inst< DB >() &&must_use_matrix_idx_pair< DA, DB >() &&same_nb_lanes< DA, DB >() &&(has_predicate< DA >() &&has_predicate< DB >()), bool >::type = true> | |
void | eval2D (DA &v, const DB &other, const vector_length_t rows, const vector_length_t cols, const Helium *=nullptr) |
Eval2D function for Helium. | |
void | printt (const std::tuple< T... > &_tup) |
Print tuple. | |
template<typename DA , typename DB , typename std::enable_if< has_vector_inst< DA >() &&vector_idx_pair< DA, DB >(), bool >::type = true> | |
DotResult< DA > | _dot (const DA &a, const DB &b, const vector_length_t l, const Helium *=nullptr) |
Dor product for Helium. | |
template<typename DA , typename DB , typename std::enable_if< has_vector_inst< DA >() &&vector_idx_pair< DA, DB >(), bool >::type = true> | |
template<typename DA , typename DB , typename std::enable_if< has_vector_inst< DA >() &&has_vector_inst< DB >() &&vector_idx_pair< DA, DB >() &&same_nb_lanes< DA, DB >() &&has_predicate< DotFieldResult< DA, DB > >(), bool >::type = true> | |
DotResult< DotFieldResult< DA, DB > > | _dot (const DA &a, const DB &b, const vector_length_t l, const Helium *=nullptr) |
Dor product for Helium. | |
template<typename DA , typename DB , typename std::enable_if< has_vector_inst< DA >() &&has_vector_inst< DB >() &&vector_idx_pair< DA, DB >() &&has_predicate< DA >(), bool >::type = true> | |
void | _swap (DA &&a, DB &&b, const vector_length_t l, const Helium *=nullptr) |
Swap operator for Helium. | |
+Data Structures | |
struct | vector_traits< std::complex< float >, arch, typename std::enable_if< std::is_base_of< Helium, arch >::value >::type > |
Vector datatype for Helium. More... | |
struct | vload1_gen_stride< std::complex< float >, 0, 1, 2, 3 > |
Load with generalized stride specialized for <0,1,2,3> More... | |
struct | vstore1_gen_stride< std::complex< float32_t >, 0, 1, 2, 3 > |
Generalized store with stride (Specialized for <0,1,2,3>) More... | |
+Namespaces | |
namespace | inner |
+Functions | |
ComplexVector< float32x4_t > | vconst (const std::complex< float > v) |
Vector constant. | |
ComplexVector< float32x4_t > | vneg (const ComplexVector< float32x4_t > &a) |
Vector negate. | |
ComplexVector< float32x4_t > | vconjugate (const ComplexVector< float32x4_t > &a) |
Vector conjugate. | |
ComplexVector< float32x4_t > | vadd (const ComplexVector< float32x4_t > &a, const ComplexVector< float32x4_t > &b) |
Vector + Vector. | |
ComplexVector< float32x4_t > | vadd (const ComplexVector< float32x4_t > &a, const std::complex< float > &b) |
Vector + Scalar. | |
ComplexVector< float32x4_t > | vadd (const std::complex< float > &a, const ComplexVector< float32x4_t > &b) |
Scalar + Vector. | |
ComplexVector< float32x4_t > | vsub (const ComplexVector< float32x4_t > &a, const ComplexVector< float32x4_t > &b) |
Vector - Vector. | |
ComplexVector< float32x4_t > | vsub (const ComplexVector< float32x4_t > &a, const std::complex< float > &b) |
Vector - Scalar. | |
ComplexVector< float32x4_t > | vsub (const std::complex< float > &a, const ComplexVector< float32x4_t > &b) |
Scalar - Vector. | |
ComplexVector< float32x4_t > | vmul (const ComplexVector< float32x4_t > &a, const ComplexVector< float32x4_t > &b) |
Vector * Vector. | |
ComplexVector< float32x4_t > | vmul (const ComplexVector< float32x4_t > &a, const std::complex< float > &b) |
Vector * Scalar. | |
ComplexVector< float32x4_t > | vmul (const std::complex< float > &a, const ComplexVector< float32x4_t > &b) |
Scalar * Vector. | |
ComplexVector< float32x4_t > | vmacc (const ComplexVector< float32x4_t > &acc, const ComplexVector< float32x4_t > &a, const ComplexVector< float32x4_t > &b) |
Multiply accumulate (Vector * Vector) | |
ComplexVector< float32x4_t > | vmacc (const ComplexVector< float32x4_t > &acc, const ComplexVector< float32x4_t > &a, const std::complex< float > &b) |
Multiply accumulate (Vector * Scalar) | |
std::complex< float > | vreduce (const ComplexVector< float32x4_t > &in) |
Vector reduce. | |
template<int S, typename std::enable_if< S==1, bool >::type = true> | |
ComplexVector< float32x4_t > | vload1 (const std::complex< float32_t > *p) |
Vector load with stride. | |
ComplexVector< float32x4_t > | vload1 (const std::complex< float32_t > *p, const index_t stride) |
Vector load with dynamic stride. | |
template<int S, typename std::enable_if< S==1, bool >::type = true> | |
void | vstore1 (std::complex< float32_t > *p, const ComplexVector< float32x4_t > &val) |
Store with stride. | |
void | vstore1 (std::complex< float32_t > *p, const index_t stride, const ComplexVector< float32x4_t > &val) |
Store with dynamic stride. | |
+Data Structures | |
struct | vector_traits< std::complex< float16_t >, arch, typename std::enable_if< std::is_base_of< Helium, arch >::value >::type > |
Vector datatype for Helium. More... | |
struct | vload1_gen_stride< std::complex< float16_t >, 0, 1, 2, 3, 4, 5, 6, 7 > |
Load with generalized stride specialized for <0,1,2,3,4,5,6,7> More... | |
struct | vstore1_gen_stride< std::complex< float16_t >, 0, 1, 2, 3, 4, 5, 6, 7 > |
Generalized store with stride (Specialized for <0,1,2,3>) More... | |
+Namespaces | |
namespace | inner |
+Functions | |
ComplexVector< float16x8_t > | vconst (const std::complex< float16_t > v) |
Vector constant. | |
ComplexVector< float16x8_t > | vneg (const ComplexVector< float16x8_t > &a) |
Vector negate. | |
ComplexVector< float16x8_t > | vconjugate (const ComplexVector< float16x8_t > &a) |
Vector conjugate. | |
ComplexVector< float16x8_t > | vadd (const ComplexVector< float16x8_t > &a, const ComplexVector< float16x8_t > &b) |
Vector + Vector. | |
ComplexVector< float16x8_t > | vadd (const ComplexVector< float16x8_t > &a, const std::complex< float16_t > &b) |
Vector + Scalar. | |
ComplexVector< float16x8_t > | vadd (const std::complex< float16_t > &a, const ComplexVector< float16x8_t > &b) |
Scalar + Vector. | |
ComplexVector< float16x8_t > | vsub (const ComplexVector< float16x8_t > &a, const ComplexVector< float16x8_t > &b) |
Vector - Vector. | |
ComplexVector< float16x8_t > | vsub (const ComplexVector< float16x8_t > &a, const std::complex< float16_t > &b) |
Vector - Scalar. | |
ComplexVector< float16x8_t > | vsub (const std::complex< float16_t > &a, const ComplexVector< float16x8_t > &b) |
Scalar - Vector. | |
ComplexVector< float16x8_t > | vmul (const ComplexVector< float16x8_t > &a, const ComplexVector< float16x8_t > &b) |
Vector * Vector. | |
ComplexVector< float16x8_t > | vmul (const ComplexVector< float16x8_t > &a, const std::complex< float16_t > &b) |
Vector * Scalar. | |
ComplexVector< float16x8_t > | vmul (const std::complex< float16_t > &a, const ComplexVector< float16x8_t > &b) |
Scalar * Vector. | |
ComplexVector< float16x8_t > | vmacc (const ComplexVector< float16x8_t > &acc, const ComplexVector< float16x8_t > &a, const ComplexVector< float16x8_t > &b) |
Multiply accumulate (Vector * Vector) | |
ComplexVector< float16x8_t > | vmacc (const ComplexVector< float16x8_t > &acc, const ComplexVector< float16x8_t > &a, const std::complex< float16_t > &b) |
Multiply accumulate (Vector * Scalar) | |
std::complex< float16_t > | vreduce (const ComplexVector< float16x8_t > &in) |
Vector reduce. | |
template<int S, typename std::enable_if< S==1, bool >::type = true> | |
ComplexVector< float16x8_t > | vload1 (const std::complex< float16_t > *p) |
Vector load with stride. | |
ComplexVector< float16x8_t > | vload1 (const std::complex< float16_t > *p, const index_t stride) |
Vector load with dynamic stride. | |
template<int S, typename std::enable_if< S==1, bool >::type = true> | |
void | vstore1 (std::complex< float16_t > *p, const ComplexVector< float16x8_t > &val) |
Store with stride. | |
void | vstore1 (std::complex< float16_t > *p, const index_t stride, const ComplexVector< float16x8_t > &val) |
Store with dynamic stride. | |
+Namespaces | |
namespace | inner |
+Namespaces | |
namespace | inner |
-Namespaces | |
namespace | inner |
Typedefs | |
+typedef int64_t | value_type |
Storage for the fixed point number. | |
+typedef int64_t | wider_type |
Storage for the widening of this fixed point number datatype. | |
+typedef int32_t | narrow_type |
Storage for the narrowing of this fixed point number datatype. | |
+typedef uint64_t | value_type |
Storage for the fixed point number. | |
+typedef uint64_t | wider_type |
Storage for the widening of this fixed point number datatype. | |
+typedef uint32_t | narrow_type |
Storage for the narrowing of this fixed point number datatype. | |
+typedef int32_t | value_type |
Storage for the fixed point number. | |
+typedef int64_t | wider_type |
Storage for the widening of this fixed point number datatype. | |
+typedef int16_t | narrow_type |
Storage for the narrowing of this fixed point number datatype. | |
+typedef uint32_t | value_type |
Storage for the fixed point number. | |
+typedef uint64_t | wider_type |
Storage for the widening of this fixed point number datatype. | |
+typedef uint16_t | narrow_type |
Storage for the narrowing of this fixed point number datatype. | |
+typedef int16_t | value_type |
Storage for the fixed point number. | |
+typedef int32_t | wider_type |
Storage for the widening of this fixed point number datatype. | |
+typedef int8_t | narrow_type |
Storage for the narrowing of this fixed point number datatype. | |
+typedef uint16_t | value_type |
Storage for the fixed point number. | |
+typedef uint32_t | wider_type |
Storage for the widening of this fixed point number datatype. | |
+typedef uint8_t | narrow_type |
Storage for the narrowing of this fixed point number datatype. | |
+typedef int8_t | value_type |
Storage for the fixed point number. | |
+typedef int16_t | wider_type |
Storage for the widening of this fixed point number datatype. | |
+typedef int8_t | narrow_type |
Storage for the narrowing of this fixed point number datatype. | |
+typedef uint8_t | value_type |
Storage for the fixed point number. | |
+typedef uint16_t | wider_type |
Storage for the widening of this fixed point number datatype. | |
+typedef uint8_t | narrow_type |
Storage for the narrowing of this fixed point number datatype. | |
+using | value_type = typename fixed_storage_type< M, F, true >::value_type |
Storage type for the value. | |
+using | wider_type = typename fixed_storage_type< M, F, true >::wider_type |
Storage type for the widening of the value. | |
+using | value_type = typename fixed_storage_type< M, F, false >::value_type |
Storage type for the value. | |
+using | wider_type = typename fixed_storage_type< M, F, false >::wider_type |
Storage type for the widening of the value. | |
+using | value_type = typename fixed_storage_type< M, F, true >::value_type |
Storage type for the value. | |
+using | wider_type = typename fixed_storage_type< M, F, true >::wider_type |
Storage type for the widening of the value. | |
+using | value_type = typename fixed_storage_type< M, F, false >::value_type |
Storage type for the value. | |
+using | wider_type = typename fixed_storage_type< M, F, false >::wider_type |
Storage type for the widening of the value. | |
+using | value_type = typename fixed_storage_type< M, F, true >::value_type |
Storage type for the value. | |
+using | wider_type = typename fixed_storage_type< M, F, true >::wider_type |
Storage type for the widening of the value. | |
+using | value_type = typename fixed_storage_type< M, F, false >::value_type |
Storage type for the value. | |
+using | wider_type = typename fixed_storage_type< M, F, false >::wider_type |
Storage type for the widening of the value. | |
+using | value_type = typename fixed_storage_type< M, F, true >::value_type |
Storage type for the value. | |
+using | wider_type = typename fixed_storage_type< M, F, true >::wider_type |
Storage type for the widening of the value. | |
+using | value_type = typename fixed_storage_type< M, F, false >::value_type |
Storage type for the value. | |
+using | wider_type = typename fixed_storage_type< M, F, false >::wider_type |
Storage type for the widening of the value. | |
using | Q63 = Q< 0, 63 > |
Q63 datatype. | |
constexpr bool | test8 (const int M, const int F, const int S) |
Function to identify the template for fixed number representable on 8 bits. | |
static constexpr value_type | convert (const float f) |
Convert a float to fixed point. | |
+constexpr | Q () |
Create a new zero fixed point. | |
constexpr | Q (const value_type x) |
Create a new fixed point from a raw integer. | |
static constexpr Q | f (const float x) |
Create a new fixed point from a float. | |
static constexpr Q | one () |
Fixed point number representing 1. | |
constexpr | Q (const Q< M, F, false > &other) |
Convert an unsigned fixed point to this fixed point. | |
bool | operator== (const Q &b) const |
this == b | |
bool | operator!= (const Q &b) const |
this != b | |
bool | operator< (const Q &b) const |
this < b | |
bool | operator> (const Q &b) const |
this > b | |
bool | operator<= (const Q &b) const |
this <= b | |
bool | operator>= (const Q &b) const |
this >= b | |
Q & | operator+= (const Q other) |
this += other | |
Q & | operator-= (const Q other) |
this -= other | |
static constexpr value_type | convert (const float f) |
Convert a float to fixed point. | |
+constexpr | Q () |
Create a new zero fixed point. | |
constexpr | Q (const value_type x) |
Create a new fixed point from a raw integer. | |
static constexpr Q | f (const float x) |
Create a new fixed point from a float. | |
static constexpr Q | one () |
Fixed point number representing 1. | |
bool | operator== (const Q &b) const |
this == b | |
bool | operator!= (const Q &b) const |
this != b | |
bool | operator< (const Q &b) const |
this < b | |
bool | operator> (const Q &b) const |
this > b | |
bool | operator<= (const Q &b) const |
this <= b | |
bool | operator>= (const Q &b) const |
this >= b | |
static constexpr value_type | sat (const wider_type i) |
Saturate a wider type to the current type. | |
static constexpr value_type | convert (const float f) |
Convert a float to fixed point with saturation. | |
+constexpr | Q () |
Create a new zero fixed point. | |
constexpr | Q (const value_type x) |
Create a new fixed point from a raw integer. | |
static constexpr Q | f (const float x) |
Create a new fixed point from a float. | |
static constexpr Q | one () |
Fixed point number representing 1. | |
constexpr | Q (const Q< M, F, false > &other) |
Convert an unsigned fixed point to this fixed point. | |
bool | operator== (const Q &b) const |
this == b | |
bool | operator!= (const Q &b) const |
this != b | |
bool | operator< (const Q &b) const |
this < b | |
bool | operator> (const Q &b) const |
this > b | |
bool | operator<= (const Q &b) const |
this <= b | |
bool | operator>= (const Q &b) const |
this >= b | |
Q & | operator+= (const Q other) |
this += other | |
Q & | operator-= (const Q other) |
this -= other | |
static constexpr value_type | sat (const wider_type i) |
Saturate a wider type to the current type. | |
static constexpr value_type | convert (const float f) |
Convert a float to fixed point with saturation. | |
+constexpr | Q () |
Create a new zero fixed point. | |
constexpr | Q (const value_type x) |
Create a new fixed point from a raw integer. | |
static constexpr Q | f (const float x) |
Create a new fixed point from a float. | |
static constexpr Q | one () |
Fixed point number representing 1. | |
bool | operator== (const Q &b) const |
this == b | |
bool | operator!= (const Q &b) const |
this != b | |
bool | operator< (const Q &b) const |
this < b | |
bool | operator> (const Q &b) const |
this > b | |
bool | operator<= (const Q &b) const |
this <= b | |
bool | operator>= (const Q &b) const |
this >= b | |
static constexpr value_type | sat (const wider_type i) |
Saturate a wider type to the current type. | |
static constexpr value_type | convert (const float f) |
Convert a float to fixed point with saturation. | |
+constexpr | Q () |
Create a new zero fixed point. | |
constexpr | Q (const value_type x) |
Create a new fixed point from a raw integer. | |
static constexpr Q | f (const float x) |
Create a new fixed point from a float. | |
static constexpr Q | one () |
Fixed point number representing 1. | |
constexpr | Q (const Q< M, F, false > &other) |
Convert an unsigned fixed point to this fixed point. | |
bool | operator== (const Q &b) const |
this == b | |
bool | operator!= (const Q &b) const |
this != b | |
bool | operator< (const Q &b) const |
this < b | |
bool | operator> (const Q &b) const |
this > b | |
bool | operator<= (const Q &b) const |
this <= b | |
bool | operator>= (const Q &b) const |
this >= b | |
Q & | operator+= (const Q other) |
this += other | |
Q & | operator-= (const Q other) |
this -= other | |
static constexpr value_type | sat (const wider_type i) |
Saturate a wider type to the current type. | |
static constexpr value_type | convert (const float f) |
Convert a float to fixed point with saturation. | |
+constexpr | Q () |
Create a new zero fixed point. | |
constexpr | Q (const value_type x) |
Create a new fixed point from a raw integer. | |
static constexpr Q | f (const float x) |
Create a new fixed point from a float. | |
static constexpr Q | one () |
Fixed point number representing 1. | |
bool | operator== (const Q &b) const |
this == b | |
bool | operator!= (const Q &b) const |
this != b | |
bool | operator< (const Q &b) const |
this < b | |
bool | operator> (const Q &b) const |
this > b | |
bool | operator<= (const Q &b) const |
this <= b | |
bool | operator>= (const Q &b) const |
this >= b | |
Q & | operator+= (const Q other) |
this += other | |
static constexpr value_type | sat (const wider_type i) |
Saturate a wider type to the current type. | |
static constexpr value_type | convert (const float f) |
Convert a float to fixed point with saturation. | |
+constexpr | Q () |
Create a new zero fixed point. | |
constexpr | Q (const value_type x) |
Create a new fixed point from a raw integer. | |
static constexpr Q | f (const float x) |
Create a new fixed point from a float. | |
static constexpr Q | one () |
Fixed point number representing 1. | |
constexpr | Q (const Q< M, F, false > &other) |
Convert an unsigned fixed point to this fixed point. | |
bool | operator== (const Q &b) const |
this == b | |
bool | operator!= (const Q &b) const |
this != b | |
bool | operator< (const Q &b) const |
this < b | |
bool | operator> (const Q &b) const |
this > b | |
bool | operator<= (const Q &b) const |
this <= b | |
bool | operator>= (const Q &b) const |
this >= b | |
Q & | operator+= (const Q other) |
this += other | |
Q & | operator-= (const Q other) |
this -= other | |
static constexpr value_type | sat (const wider_type i) |
Saturate a wider type to the current type. | |
static constexpr value_type | convert (const float f) |
Convert a float to fixed point with saturation. | |
+constexpr | Q () |
Create a new zero fixed point. | |
constexpr | Q (const value_type x) |
Create a new fixed point from a raw integer. | |
static constexpr Q | f (const float x) |
Create a new fixed point from a float. | |
static constexpr Q | one () |
Fixed point number representing 1. | |
bool | operator== (const Q &b) const |
this == b | |
bool | operator!= (const Q &b) const |
this != b | |
bool | operator< (const Q &b) const |
this < b | |
bool | operator> (const Q &b) const |
this > b | |
bool | operator<= (const Q &b) const |
this <= b | |
bool | operator>= (const Q &b) const |
this >= b | |
Q & | operator+= (const Q other) |
this += other | |
constexpr Q63 | operator""_q63 (long double x) |
q63 literal | |
Q< M, F, S > | operator+ (const Q< M, F, S > &a) |
No op operator. | |
+Variables | |
+static constexpr int | fracBits = F |
Number of fractional bits. | |
+static constexpr int | mantissaBits = M |
Number of mantissa bits (without sign bit) | |
+static constexpr bool | isSigned = true |
Is this number representation signed. | |
+static constexpr value_type | maxVal = 0x7FFFFFFFFFFFFFFFLL |
Maximum representable positive value. | |
+static constexpr value_type | minVal = 0x8000000000000000LL |
Minimum representable negative value. | |
+value_type | v |
Storage value. | |
+static constexpr int | fracBits = F |
Number of fractional bits. | |
+static constexpr int | mantissaBits = M |
Number of mantissa bits (without sign bit) | |
+static constexpr bool | isSigned = false |
Is this number representation signed. | |
+static constexpr value_type | maxVal = 0xFFFFFFFFFFFFFFFFLL |
Maximum representable positive value. | |
+value_type | v |
Storage value. | |
+static constexpr int | fracBits = F |
Number of fractional bits. | |
+static constexpr int | mantissaBits = M |
Number of mantissa bits (without sign bit) | |
+static constexpr bool | isSigned = true |
Is this number representation signed. | |
+static constexpr value_type | maxVal = 0x7FFFFFFFL |
Maximum representable positive value. | |
+static constexpr value_type | minVal = 0x80000000L |
Minimum representable negative value. | |
+value_type | v |
Storage value. | |
+static constexpr int | fracBits = F |
Number of fractional bits. | |
+static constexpr int | mantissaBits = M |
Number of mantissa bits (without sign bit) | |
+static constexpr bool | isSigned = false |
Is this number representation signed. | |
+static constexpr value_type | maxVal = 0xFFFFFFFFL |
Maximum representable positive value. | |
+value_type | v |
Storage value. | |
+static constexpr int | fracBits = F |
Number of fractional bits. | |
+static constexpr int | mantissaBits = M |
Number of mantissa bits (without sign bit) | |
+static constexpr bool | isSigned = true |
Is this number representation signed. | |
+static constexpr value_type | maxVal = 0x7FFF |
Maximum representable positive value. | |
+static constexpr value_type | minVal = 0x8000 |
Minimum representable negative value. | |
+value_type | v |
Storage value. | |
+static constexpr int | fracBits = F |
Number of fractional bits. | |
+static constexpr int | mantissaBits = M |
Number of mantissa bits (without sign bit) | |
+static constexpr bool | isSigned = false |
Is this number representation signed. | |
+static constexpr value_type | maxVal = 0xFFFF |
Maximum representable positive value. | |
+value_type | v |
Storage value. | |
+static constexpr int | fracBits = F |
Number of fractional bits. | |
+static constexpr int | mantissaBits = M |
Number of mantissa bits (without sign bit) | |
+static constexpr bool | isSigned = true |
Is this number representation signed. | |
+static constexpr value_type | maxVal = 0x7F |
Maximum representable positive value. | |
+static constexpr value_type | minVal = 0x80 |
Minimum representable negative value. | |
+value_type | v |
Storage value. | |
+static constexpr int | fracBits = F |
Number of fractional bits. | |
+static constexpr int | mantissaBits = M |
Number of mantissa bits (without sign bit) | |
+static constexpr bool | isSigned = false |
Is this number representation signed. | |
+static constexpr value_type | maxVal = 0xFF |
Maximum representable positive value. | |
+value_type | v |
Storage value. | |
|
- -inlineexplicitconstexpr | -
Create a new fixed point from a raw integer.
-x | the raw integer |
M | Number of bits for mantissa (without sign bit) |
F | Number of bits for fractional part |
Public Types | |
+using | value_type = typename fixed_storage_type< M, F, false >::value_type |
Storage type for the value. | |
+using | wider_type = typename fixed_storage_type< M, F, false >::wider_type |
Storage type for the widening of the value. | |
Public Member Functions | |
+constexpr | Q () |
Create a new zero fixed point. | |
constexpr | Q (const value_type x) |
Create a new fixed point from a raw integer. | |
bool | operator== (const Q &b) const |
this == b | |
bool | operator!= (const Q &b) const |
this != b | |
bool | operator< (const Q &b) const |
this < b | |
bool | operator> (const Q &b) const |
this > b | |
bool | operator<= (const Q &b) const |
this <= b | |
bool | operator>= (const Q &b) const |
this >= b | |
Static Public Member Functions | |
static constexpr value_type | convert (const float f) |
Convert a float to fixed point. | |
static constexpr Q | f (const float x) |
Create a new fixed point from a float. | |
static constexpr Q | one () |
Fixed point number representing 1. | |
Data Fields | |
+value_type | v |
Storage value. | |
Static Public Attributes | |
+static constexpr int | fracBits = F |
Number of fractional bits. | |
+static constexpr int | mantissaBits = M |
Number of mantissa bits (without sign bit) | |
+static constexpr bool | isSigned = false |
Is this number representation signed. | |
+static constexpr value_type | maxVal = 0xFFFFFFFFFFFFFFFFLL |
Maximum representable positive value. | |
|
- -inlineexplicitconstexpr | -
Convert an unsigned fixed point to this fixed point.
-other | The unsigned fixed point number |
M | Number of bits for mantissa (without sign bit) |
F | Number of bits for fractional part |
Some problem may occur since the unsigned may not be representable with the less bits required for the sign representation. This convertion is not saturating.
+Public Types | |
+using | value_type = typename fixed_storage_type< M, F, true >::value_type |
Storage type for the value. | |
+using | wider_type = typename fixed_storage_type< M, F, true >::wider_type |
Storage type for the widening of the value. | |
Public Member Functions | |
+constexpr | Q () |
Create a new zero fixed point. | |
constexpr | Q (const value_type x) |
Create a new fixed point from a raw integer. | |
constexpr | Q (const Q< M, F, false > &other) |
Convert an unsigned fixed point to this fixed point. | |
bool | operator== (const Q &b) const |
this == b | |
bool | operator!= (const Q &b) const |
this != b | |
bool | operator< (const Q &b) const |
this < b | |
bool | operator> (const Q &b) const |
this > b | |
bool | operator<= (const Q &b) const |
this <= b | |
bool | operator>= (const Q &b) const |
this >= b | |
Q & | operator+= (const Q other) |
this += other | |
Q & | operator-= (const Q other) |
this -= other | |
Static Public Member Functions | |
static constexpr value_type | sat (const wider_type i) |
Saturate a wider type to the current type. | |
static constexpr value_type | convert (const float f) |
Convert a float to fixed point with saturation. | |
static constexpr Q | f (const float x) |
Create a new fixed point from a float. | |
static constexpr Q | one () |
Fixed point number representing 1. | |
Data Fields | |
+value_type | v |
Storage value. | |
Static Public Attributes | |
+static constexpr int | fracBits = F |
Number of fractional bits. | |
+static constexpr int | mantissaBits = M |
Number of mantissa bits (without sign bit) | |
+static constexpr bool | isSigned = true |
Is this number representation signed. | |
+static constexpr value_type | maxVal = 0x7FFFFFFFL |
Maximum representable positive value. | |
+static constexpr value_type | minVal = 0x80000000L |
Minimum representable negative value. | |
|
- -inlinestaticconstexpr | -
Convert a float to fixed point.
-f | float value |
M | Number of bits for mantissa (without sign bit) |
F | Number of bits for fractional part |
Public Types | |
+using | value_type = typename fixed_storage_type< M, F, false >::value_type |
Storage type for the value. | |
+using | wider_type = typename fixed_storage_type< M, F, false >::wider_type |
Storage type for the widening of the value. | |
Public Member Functions | |
+constexpr | Q () |
Create a new zero fixed point. | |
constexpr | Q (const value_type x) |
Create a new fixed point from a raw integer. | |
bool | operator== (const Q &b) const |
this == b | |
bool | operator!= (const Q &b) const |
this != b | |
bool | operator< (const Q &b) const |
this < b | |
bool | operator> (const Q &b) const |
this > b | |
bool | operator<= (const Q &b) const |
this <= b | |
bool | operator>= (const Q &b) const |
this >= b | |
Static Public Member Functions | |
static constexpr value_type | sat (const wider_type i) |
Saturate a wider type to the current type. | |
static constexpr value_type | convert (const float f) |
Convert a float to fixed point with saturation. | |
static constexpr Q | f (const float x) |
Create a new fixed point from a float. | |
static constexpr Q | one () |
Fixed point number representing 1. | |
Data Fields | |
+value_type | v |
Storage value. | |
Static Public Attributes | |
+static constexpr int | fracBits = F |
Number of fractional bits. | |
+static constexpr int | mantissaBits = M |
Number of mantissa bits (without sign bit) | |
+static constexpr bool | isSigned = false |
Is this number representation signed. | |
+static constexpr value_type | maxVal = 0xFFFFFFFFL |
Maximum representable positive value. | |
|
- -inlinestaticconstexpr | -
Create a new fixed point from a float.
-x | the float |
M | Number of bits for mantissa (without sign bit) |
F | Number of bits for fractional part |
Public Types | |
+using | value_type = typename fixed_storage_type< M, F, true >::value_type |
Storage type for the value. | |
+using | wider_type = typename fixed_storage_type< M, F, true >::wider_type |
Storage type for the widening of the value. | |
Public Member Functions | |
+constexpr | Q () |
Create a new zero fixed point. | |
constexpr | Q (const value_type x) |
Create a new fixed point from a raw integer. | |
constexpr | Q (const Q< M, F, false > &other) |
Convert an unsigned fixed point to this fixed point. | |
bool | operator== (const Q &b) const |
this == b | |
bool | operator!= (const Q &b) const |
this != b | |
bool | operator< (const Q &b) const |
this < b | |
bool | operator> (const Q &b) const |
this > b | |
bool | operator<= (const Q &b) const |
this <= b | |
bool | operator>= (const Q &b) const |
this >= b | |
Q & | operator+= (const Q other) |
this += other | |
Q & | operator-= (const Q other) |
this -= other | |
Static Public Member Functions | |
static constexpr value_type | sat (const wider_type i) |
Saturate a wider type to the current type. | |
static constexpr value_type | convert (const float f) |
Convert a float to fixed point with saturation. | |
static constexpr Q | f (const float x) |
Create a new fixed point from a float. | |
static constexpr Q | one () |
Fixed point number representing 1. | |
Data Fields | |
+value_type | v |
Storage value. | |
Static Public Attributes | |
+static constexpr int | fracBits = F |
Number of fractional bits. | |
+static constexpr int | mantissaBits = M |
Number of mantissa bits (without sign bit) | |
+static constexpr bool | isSigned = true |
Is this number representation signed. | |
+static constexpr value_type | maxVal = 0x7FFF |
Maximum representable positive value. | |
+static constexpr value_type | minVal = 0x8000 |
Minimum representable negative value. | |
|
- -inlinestaticconstexpr | -
Fixed point number representing 1.
-Unsigned fixed point datatypes on 16 bits.
+M | Number of bits for mantissa (without sign bit) |
F | Number of bits for fractional part |
Public Types | |
+using | value_type = typename fixed_storage_type< M, F, false >::value_type |
Storage type for the value. | |
+using | wider_type = typename fixed_storage_type< M, F, false >::wider_type |
Storage type for the widening of the value. | |
Public Member Functions | |
+constexpr | Q () |
Create a new zero fixed point. | |
constexpr | Q (const value_type x) |
Create a new fixed point from a raw integer. | |
bool | operator== (const Q &b) const |
this == b | |
bool | operator!= (const Q &b) const |
this != b | |
bool | operator< (const Q &b) const |
this < b | |
bool | operator> (const Q &b) const |
this > b | |
bool | operator<= (const Q &b) const |
this <= b | |
bool | operator>= (const Q &b) const |
this >= b | |
Q & | operator+= (const Q other) |
this += other | |
Static Public Member Functions | |
static constexpr value_type | sat (const wider_type i) |
Saturate a wider type to the current type. | |
static constexpr value_type | convert (const float f) |
Convert a float to fixed point with saturation. | |
static constexpr Q | f (const float x) |
Create a new fixed point from a float. | |
static constexpr Q | one () |
Fixed point number representing 1. | |
Data Fields | |
+value_type | v |
Storage value. | |
Static Public Attributes | |
+static constexpr int | fracBits = F |
Number of fractional bits. | |
+static constexpr int | mantissaBits = M |
Number of mantissa bits (without sign bit) | |
+static constexpr bool | isSigned = false |
Is this number representation signed. | |
+static constexpr value_type | maxVal = 0xFFFF |
Maximum representable positive value. | |
|
- -inline | -
this != b
-b | the other fixed point |
M | Number of bits for mantissa (without sign bit) |
F | Number of bits for fractional part |
Public Types | |
+using | value_type = typename fixed_storage_type< M, F, true >::value_type |
Storage type for the value. | |
+using | wider_type = typename fixed_storage_type< M, F, true >::wider_type |
Storage type for the widening of the value. | |
Public Member Functions | |
+constexpr | Q () |
Create a new zero fixed point. | |
constexpr | Q (const value_type x) |
Create a new fixed point from a raw integer. | |
constexpr | Q (const Q< M, F, false > &other) |
Convert an unsigned fixed point to this fixed point. | |
bool | operator== (const Q &b) const |
this == b | |
bool | operator!= (const Q &b) const |
this != b | |
bool | operator< (const Q &b) const |
this < b | |
bool | operator> (const Q &b) const |
this > b | |
bool | operator<= (const Q &b) const |
this <= b | |
bool | operator>= (const Q &b) const |
this >= b | |
Q & | operator+= (const Q other) |
this += other | |
Q & | operator-= (const Q other) |
this -= other | |
Static Public Member Functions | |
static constexpr value_type | sat (const wider_type i) |
Saturate a wider type to the current type. | |
static constexpr value_type | convert (const float f) |
Convert a float to fixed point with saturation. | |
static constexpr Q | f (const float x) |
Create a new fixed point from a float. | |
static constexpr Q | one () |
Fixed point number representing 1. | |
Data Fields | |
+value_type | v |
Storage value. | |
Static Public Attributes | |
+static constexpr int | fracBits = F |
Number of fractional bits. | |
+static constexpr int | mantissaBits = M |
Number of mantissa bits (without sign bit) | |
+static constexpr bool | isSigned = true |
Is this number representation signed. | |
+static constexpr value_type | maxVal = 0x7F |
Maximum representable positive value. | |
+static constexpr value_type | minVal = 0x80 |
Minimum representable negative value. | |
|
- -inline | -
this += other
-other | the other fixed point |
M | Number of bits for mantissa (without sign bit) |
F | Number of bits for fractional part |
Public Types | |
+using | value_type = typename fixed_storage_type< M, F, false >::value_type |
Storage type for the value. | |
+using | wider_type = typename fixed_storage_type< M, F, false >::wider_type |
Storage type for the widening of the value. | |
Public Member Functions | |
+constexpr | Q () |
Create a new zero fixed point. | |
constexpr | Q (const value_type x) |
Create a new fixed point from a raw integer. | |
bool | operator== (const Q &b) const |
this == b | |
bool | operator!= (const Q &b) const |
this != b | |
bool | operator< (const Q &b) const |
this < b | |
bool | operator> (const Q &b) const |
this > b | |
bool | operator<= (const Q &b) const |
this <= b | |
bool | operator>= (const Q &b) const |
this >= b | |
Q & | operator+= (const Q other) |
this += other | |
Static Public Member Functions | |
static constexpr value_type | sat (const wider_type i) |
Saturate a wider type to the current type. | |
static constexpr value_type | convert (const float f) |
Convert a float to fixed point with saturation. | |
static constexpr Q | f (const float x) |
Create a new fixed point from a float. | |
static constexpr Q | one () |
Fixed point number representing 1. | |
Data Fields | |
+value_type | v |
Storage value. | |
Static Public Attributes | |
+static constexpr int | fracBits = F |
Number of fractional bits. | |
+static constexpr int | mantissaBits = M |
Number of mantissa bits (without sign bit) | |
+static constexpr bool | isSigned = false |
Is this number representation signed. | |
+static constexpr value_type | maxVal = 0xFF |
Maximum representable positive value. | |
|
- -inline | -
this -= other
+Changed fractional representation of a fixed point number using a shift.
+M | Number of mantissa bits for the fixed point number |
FD | Number of fractional bits for the destination fixed point number |
FS | Number of fractional bits for the source fixed point number |
S | Is the fixed point number using a signed representation |
other | the other fixed point |
src | The fixed point number |
Only applies if FD > FS
|
- -inline | -
this < b
+Changed fractional representation of a fixed point number using a shift.
+M | Number of mantissa bits for the fixed point number |
FD | Number of fractional bits for the destination fixed point number |
FS | Number of fractional bits for the source fixed point number |
S | Is the fixed point number using a signed representation |
b | the other fixed point |
src | The fixed point number |
Only applies if FD < FS
+struct arm_cmsis_dsp::Accumulate | +
Accumulation without saturation.
+MD | Number of mantissa bits for the destination fixed point number |
MS | Number of mantissa bits for the source fixed point number |
F | Number of fractional bits for fixed point number |
S | Is the fixed point number using a signed representation |
struct arm_cmsis_dsp::Accumulate< MD, MS, F, S, true > | +
Accumulation without saturation.
+MD | Number of mantissa bits for the destination fixed point number |
MS | Number of mantissa bits for the source fixed point number |
F | Number of fractional bits for fixed point number |
S | Is the fixed point number using a signed representation |
Static Public Member Functions | |
static Q< MD, F, S > | acc (const Q< MD, F, S > &a, const Q< MS, F, S > &b) |
Accumulation without saturation. | |
this <= b
+Accumulation without saturation.
b | the other fixed point | |
[in] | a | first fixed point number |
[in] | b | second fixed point number |
bool operator== | +Q< MD, F, S > accumulate | ( | -const Q< M, F, true, int64_t > & | -b | ) | -const | +const Q< MD, F, S > & | +a, | +
+ | + | const Q< MS, F, S > & | +b | +|||||
+ | ) | +
this == b
+Accumulate without saturation.
b | the other fixed point | |
[in] | a | First fixed point number |
[in] | b | Second fixed point number |
MD | Number of mantissa bits for destination |
MS | Number of mantissa bits fro source |
F | Number of fractional bits |
S | Is the representation signed |
bool operator> | +Q< M, F, S > add | ( | -const Q< M, F, true, int64_t > & | -b | ) | -const | +const Q< M, F, S > & | +a, | +
+ | + | const Q< M, F, S > & | +b | +|||||
+ | ) | +
this > b
+Add two fixed point numbers without saturation.
+M | Number of mantissa bits for the fixed point number |
F | Number of fractional bits for the fixed point number |
S | Is the fixed point number using a signed representation |
b | the other fixed point |
a | First fixed point number |
b | Second fixed point number |
bool operator>= | +static constexpr value_type convert | ( | -const Q< M, F, true, int64_t > & | -b | ) | -const | +const float | +f | ) | +
this >= b
+Convert a float to fixed point.
b | the other fixed point |
f | float value |
struct arm_cmsis_dsp::Q< M, F, false, uint64_t > | -
Unsigned fixed point datatypes on 64 bits.
-M | Number of bits for mantissa (without sign bit) |
F | Number of bits for fractional part |
Public Types | |
-using | value_type = typename fixed_storage_type< M, F, false >::value_type |
Storage type for the value. | |
-using | wider_type = typename fixed_storage_type< M, F, false >::wider_type |
Storage type for the widening of the value. | |
Public Member Functions | |
-constexpr | Q () |
Create a new zero fixed point. | |
constexpr | Q (const value_type x) |
Create a new fixed point from a raw integer. | |
bool | operator== (const Q &b) const |
this == b | |
bool | operator!= (const Q &b) const |
this != b | |
bool | operator< (const Q &b) const |
this < b | |
bool | operator> (const Q &b) const |
this > b | |
bool | operator<= (const Q &b) const |
this <= b | |
bool | operator>= (const Q &b) const |
this >= b | |
Static Public Member Functions | |
static constexpr value_type | convert (const float f) |
Convert a float to fixed point. | |
static constexpr Q | f (const float x) |
Create a new fixed point from a float. | |
static constexpr Q | one () |
Fixed point number representing 1. | |
Data Fields | |
-value_type | v |
Storage value. | |
Static Public Attributes | |
-static constexpr int | fracBits = F |
Number of fractional bits. | |
-static constexpr int | mantissaBits = M |
Number of mantissa bits (without sign bit) | |
-static constexpr bool | isSigned = false |
Is this number representation signed. | |
-static constexpr value_type | maxVal = 0xFFFFFFFFFFFFFFFFLL |
Maximum representable positive value. | |
constexpr Q | +static constexpr value_type convert | ( | -const value_type | -x | ) | +const float | +f | ) |
Create a new fixed point from a raw integer.
+Convert a float to fixed point.
x | the raw integer |
f | float value |
static constexpr value_type convert | +static constexpr value_type convert | ( | const float | f | ) | @@ -1398,7 +2552,7 @@
f | float value |
static constexpr Q f | +static constexpr value_type convert | ( | const float | -x | ) | +f | ) |
Create a new fixed point from a float.
+Convert a float to fixed point with saturation.
x | the float |
f | float value |
static constexpr Q one | +static constexpr value_type convert | ( | -) | +const float | +f | ) |
Fixed point number representing 1.
-Convert a float to fixed point with saturation.
+f | float value |
bool operator!= | +static constexpr value_type convert | ( | -const Q< M, F, false, uint64_t > & | -b | ) | -const | +const float | +f | ) | +
this != b
+Convert a float to fixed point with saturation.
b | the other fixed point |
f | float value |
bool operator< | +static constexpr value_type convert | ( | -const Q< M, F, false, uint64_t > & | -b | ) | -const | +const float | +f | ) | +
this < b
+Convert a float to fixed point with saturation.
b | the other fixed point |
f | float value |
bool operator<= | +static constexpr value_type convert | ( | -const Q< M, F, false, uint64_t > & | -b | ) | -const | +const float | +f | ) | +
this <= b
+Convert a float to fixed point with saturation.
b | the other fixed point |
f | float value |
this == b
+Create a new fixed point from a float.
b | the other fixed point |
x | the float |
this > b
+Create a new fixed point from a float.
b | the other fixed point |
x | the float |
bool operator>= | +static constexpr Q f | ( | -const Q< M, F, false, uint64_t > & | -b | ) | -const | +const float | +x | ) | +
this >= b
+Create a new fixed point from a float.
b | the other fixed point |
x | the float |
struct arm_cmsis_dsp::Q< M, F, true, int32_t > | -
Signed fixed point datatypes on 32 bits.
-M | Number of bits for mantissa (without sign bit) |
F | Number of bits for fractional part |
Public Types | |
-using | value_type = typename fixed_storage_type< M, F, true >::value_type |
Storage type for the value. | |
-using | wider_type = typename fixed_storage_type< M, F, true >::wider_type |
Storage type for the widening of the value. | |
Public Member Functions | |
-constexpr | Q () |
Create a new zero fixed point. | |
constexpr | Q (const value_type x) |
Create a new fixed point from a raw integer. | |
constexpr | Q (const Q< M, F, false > &other) |
Convert an unsigned fixed point to this fixed point. | |
bool | operator== (const Q &b) const |
this == b | |
bool | operator!= (const Q &b) const |
this != b | |
bool | operator< (const Q &b) const |
this < b | |
bool | operator> (const Q &b) const |
this > b | |
bool | operator<= (const Q &b) const |
this <= b | |
bool | operator>= (const Q &b) const |
this >= b | |
Q & | operator+= (const Q other) |
this += other | |
Q & | operator-= (const Q other) |
this -= other | |
Static Public Member Functions | |
static constexpr value_type | sat (const wider_type i) |
Saturate a wider type to the current type. | |
static constexpr value_type | convert (const float f) |
Convert a float to fixed point with saturation. | |
static constexpr Q | f (const float x) |
Create a new fixed point from a float. | |
static constexpr Q | one () |
Fixed point number representing 1. | |
Data Fields | |
-value_type | v |
Storage value. | |
Static Public Attributes | |
-static constexpr int | fracBits = F |
Number of fractional bits. | |
-static constexpr int | mantissaBits = M |
Number of mantissa bits (without sign bit) | |
-static constexpr bool | isSigned = true |
Is this number representation signed. | |
-static constexpr value_type | maxVal = 0x7FFFFFFFL |
Maximum representable positive value. | |
-static constexpr value_type | minVal = 0x80000000L |
Minimum representable negative value. | |
constexpr Q | +static constexpr Q f | ( | -const value_type | +const float | x | ) |
Create a new fixed point from a raw integer.
+Create a new fixed point from a float.
x | the raw integer |
x | the float |
constexpr Q | +static constexpr Q f | ( | -const Q< M, F, false > & | -other | ) | +const float | +x | ) |
Convert an unsigned fixed point to this fixed point.
+Create a new fixed point from a float.
other | The unsigned fixed point number |
x | the float |
Some problem may occur since the unsigned may not be representable with the less bits required for the sign representation. This convertion is not saturating.
+static constexpr value_type convert | +static constexpr Q f | ( | const float | -f | ) | +x | ) |
Convert a float to fixed point with saturation.
+Create a new fixed point from a float.
f | float value |
x | the float |
static constexpr Q one | +static constexpr Q f | ( | -) | +const float | +x | ) |
Fixed point number representing 1.
-Create a new fixed point from a float.
+x | the float |
bool operator!= | +Q< MA+MB+1, FA+FB, SA||SB > mult | ( | -const Q< M, F, true, int32_t > & | -b | ) | -const | +const Q< MA, FA, SA > & | +a, | +
+ | + | const Q< MB, FB, SB > & | +b | +|||||
+ | ) | +
this != b
+Multiplication of two fixed point numbers A and B.
+MA | Number of mantissa bits for A |
FA | Number of fractional bits for A |
MB | Number of mantissa bits for B |
FB | Number of fractional bits for B |
SA | Is A using a signed representation |
SB | Is B using a signed representation |
b | the other fixed point |
a | First fixed point number |
b | Second fixed point number |
Q & operator+= | +static constexpr Q one | ( | -const Q< M, F, true, int32_t > | -other | ) | +) |
this += other
-other | the other fixed point |
Fixed point number representing 1.
+Q & operator-= | +static constexpr Q one | ( | -const Q< M, F, true, int32_t > | -other | ) | +) |
this -= other
-other | the other fixed point |
Fixed point number representing 1.
+bool operator< | +static constexpr Q one | ( | -const Q< M, F, true, int32_t > & | -b | ) | -const | +) | +
this < b
-b | the other fixed point |
Fixed point number representing 1.
+bool operator<= | +static constexpr Q one | ( | -const Q< M, F, true, int32_t > & | -b | ) | -const | +) | +
this <= b
-b | the other fixed point |
Fixed point number representing 1.
+bool operator== | +static constexpr Q one | ( | -const Q< M, F, true, int32_t > & | -b | ) | -const | +) | +
this == b
-b | the other fixed point |
Fixed point number representing 1.
+bool operator> | +static constexpr Q one | ( | -const Q< M, F, true, int32_t > & | -b | ) | -const | +) | +
this > b
-b | the other fixed point |
Fixed point number representing 1.
+bool operator>= | +static constexpr Q one | ( | -const Q< M, F, true, int32_t > & | -b | ) | -const | +) | +
this >= b
-b | the other fixed point |
Fixed point number representing 1.
+static constexpr value_type sat | +static constexpr Q one | ( | -const wider_type | -i | ) | +) |
Saturate a wider type to the current type.
-i | the wider integer type |
Fixed point number representing 1.
+
|
+ +inline | +
Unsigned fixed point datatypes on 32 bits.
-M | Number of bits for mantissa (without sign bit) | |||||||||
F | Number of bits for fractional part |
b | the other fixed point |
Public Types | |
-using | value_type = typename fixed_storage_type< M, F, false >::value_type |
Storage type for the value. | |
-using | wider_type = typename fixed_storage_type< M, F, false >::wider_type |
Storage type for the widening of the value. | |
Public Member Functions | |
-constexpr | Q () |
Create a new zero fixed point. | |
constexpr | Q (const value_type x) |
Create a new fixed point from a raw integer. | |
bool | operator== (const Q &b) const |
this == b | |
bool | operator!= (const Q &b) const |
this != b | |
bool | operator< (const Q &b) const |
this < b | |
bool | operator> (const Q &b) const |
this > b | |
bool | operator<= (const Q &b) const |
this <= b | |
bool | operator>= (const Q &b) const |
this >= b | |
Static Public Member Functions | |
static constexpr value_type | sat (const wider_type i) |
Saturate a wider type to the current type. | |
static constexpr value_type | convert (const float f) |
Convert a float to fixed point with saturation. | |
static constexpr Q | f (const float x) |
Create a new fixed point from a float. | |
static constexpr Q | one () |
Fixed point number representing 1. | |
Data Fields | |
-value_type | v |
Storage value. | |
Static Public Attributes | |
-static constexpr int | fracBits = F |
Number of fractional bits. | |
-static constexpr int | mantissaBits = M |
Number of mantissa bits (without sign bit) | |
-static constexpr bool | isSigned = false |
Is this number representation signed. | |
-static constexpr value_type | maxVal = 0xFFFFFFFFL |
Maximum representable positive value. | |
constexpr Q | +bool operator!= | ( | -const value_type | -x | ) | -+ | const Q< M, F, false, uint64_t > & | +b | ) | +const |
Create a new fixed point from a raw integer.
+this != b
x | the raw integer |
b | the other fixed point |
static constexpr value_type convert | +bool operator!= | ( | -const float | -f | ) | -+ | const Q< M, F, true, int32_t > & | +b | ) | +const |
Convert a float to fixed point with saturation.
+this != b
f | float value |
b | the other fixed point |
static constexpr Q f | +bool operator!= | ( | -const float | -x | ) | -+ | const Q< M, F, false, uint32_t > & | +b | ) | +const |
Create a new fixed point from a float.
+this != b
x | the float |
b | the other fixed point |
static constexpr Q one | +bool operator!= | ( | -) | -+ | const Q< M, F, true, int16_t > & | +b | ) | +const |
Fixed point number representing 1.
-this != b
+b | the other fixed point |
bool operator< | +bool operator!= | ( | -const Q< M, F, false, uint32_t > & | +const Q< M, F, true, int8_t > & | b | ) | const |
b | the other fixed point |
bool operator<= | +bool operator!= | ( | -const Q< M, F, false, uint32_t > & | +const Q< M, F, false, uint8_t > & | b | ) | const |
b | the other fixed point |
bool operator== | +bool operator!= | ( | -const Q< M, F, false, uint32_t > & | -b | ) | -const | +const Q< M, F > | +a, | +
+ | + | const Q< M, F > | +b | +|||||
+ | ) | +
this == b
+Inequality operator.
b | the other fixed point | |
[in] | a | First value |
[in] | b | Second value |
M | Number of mantissa bits |
F | Number of fractional bits |
this > b
+q15 literal
b | the other fixed point |
x | long double value |
You can write
The float is converted to Q15 at build time.
this >= b
+q31 literal
b | the other fixed point |
x | long double value |
You can write
The float is converted to Q31 at build time.
static constexpr value_type sat | +constexpr Q63 operator""_q63 | ( | -const wider_type | -i | ) | +long double | +x | ) |
Saturate a wider type to the current type.
+q63 literal
i | the wider integer type |
x | long double value |
You can write
The float is converted to Q63 at build time.
+
|
+ +constexpr | +
q7 literal
+x | long double value |
You can write
The float is converted to Q7 at build time.
-
+
+
+template<int M, int F> -struct arm_cmsis_dsp::Q< M, F, true, int16_t > Signed fixed point datatypes on 16 bits. -
+
+ Multiplication operator. +
Constructor & Destructor Documentation- -◆ Q() [1/2]+
◆ operator*() [2/3]
@@ -2867,32 +3836,44 @@
constexpr Q |
+ Q31 operator* |
( |
- const value_type |
- x | ) |
+ const Q31 & |
+ a, |
+
+ |
+ | const Q31 & |
+ b |
+
+ | ) |
+
| |
-inlineexplicitconstexpr | +inline
Create a new fixed point from a raw integer.
+Multiplication operator.
x | the raw integer | |
[in] | a | First value |
[in] | b | Second value |
constexpr Q | +Q7 operator* | ( | -const Q< M, F, false > & | -other | ) | +const Q7 & | +a, | +
+ | + | const Q7 & | +b | +||||
+ | ) | +
Convert an unsigned fixed point to this fixed point.
+Multiplication operator.
other | The unsigned fixed point number | |
[in] | a | First value |
[in] | b | Second value |
Some problem may occur since the unsigned may not be representable with the less bits required for the sign representation. This convertion is not saturating.
+static constexpr value_type convert | +Q< M, F, S > operator+ | ( | -const float | -f | ) | +const Q< M, F, S > & | +a | ) |
Convert a float to fixed point with saturation.
+No op operator.
f | float value | |
[in] | a | Fixed point number |
M | Number of mantissa bits |
F | Number of fractional bits |
S | Is the representation signed |
static constexpr Q f | +Q< M, F, S > operator+ | ( | -const float | -x | ) | +const Q< M, F, S > & | +a, | +
+ | + | const Q< M, F, S > & | +b | +||||
+ | ) | +
Create a new fixed point from a float.
+Add two fixed point numbers with saturation.
+M | Number of mantissa bits for the fixed point number |
F | Number of fractional bits for the fixed point number |
S | Is the fixed point number using a signed representation |
x | the float |
a | First fixed point number |
b | Second fixed point number |
static constexpr Q one | +Q & operator+= | ( | -) | +const Q< M, F, true, int64_t > | +other | ) |
Fixed point number representing 1.
-this += other
+other | the other fixed point |
bool operator!= | +Q & operator+= | ( | -const Q< M, F, true, int16_t > & | -b | ) | -const | +const Q< M, F, true, int32_t > | +other | ) | +
this != b
+this += other
b | the other fixed point |
other | the other fixed point |
Q & operator-= | +Q & operator+= | ( | -const Q< M, F, true, int16_t > | +const Q< M, F, false, uint16_t > | other | ) |
other | the other fixed point |
bool operator< | +Q & operator+= | ( | -const Q< M, F, true, int16_t > & | -b | ) | -const | +const Q< M, F, true, int8_t > | +other | ) | +
this < b
+this += other
b | the other fixed point |
other | the other fixed point |
bool operator<= | +Q & operator+= | ( | -const Q< M, F, true, int16_t > & | -b | ) | -const | +const Q< M, F, false, uint8_t > | +other | ) | +
this <= b
+this += other
b | the other fixed point |
other | the other fixed point |
bool operator== | +Q< M, F, S > operator- | ( | -const Q< M, F, true, int16_t > & | -b | ) | -const | +const Q< M, F, S > & | +a | ) | +
this == b
+Negate a fixed point number with saturation.
+M | Number of mantissa bits for the fixed point number |
F | Number of fractional bits for the fixed point number |
S | Is the fixed point number using a signed representation |
b | the other fixed point |
a | First fixed point number |
bool operator> | +Q< M, F, S > operator- | ( | -const Q< M, F, true, int16_t > & | -b | ) | -const | +const Q< M, F, S > & | +a, | +
+ | + | const Q< M, F, S > & | +b | +|||||
+ | ) | +
this > b
+Subtract two fixed point numbers with saturation.
+M | Number of mantissa bits for the fixed point number |
F | Number of fractional bits for the fixed point number |
S | Is the fixed point number using a signed representation |
b | the other fixed point |
a | First fixed point number |
b | Second fixed point number |
bool operator>= | +Q & operator-= | ( | -const Q< M, F, true, int16_t > & | -b | ) | -const | +const Q< M, F, true, int64_t > | +other | ) | +
this >= b
+this -= other
b | the other fixed point |
other | the other fixed point |
static constexpr value_type sat | +Q & operator-= | ( | -const wider_type | -i | ) | +const Q< M, F, true, int32_t > | +other | ) |
Saturate a wider type to the current type.
+this -= other
i | the wider integer type |
other | the other fixed point |
struct arm_cmsis_dsp::Q< M, F, false, uint16_t > | -
Unsigned fixed point datatypes on 16 bits.
-M | Number of bits for mantissa (without sign bit) |
F | Number of bits for fractional part |
Public Types | |
-using | value_type = typename fixed_storage_type< M, F, false >::value_type |
Storage type for the value. | |
-using | wider_type = typename fixed_storage_type< M, F, false >::wider_type |
Storage type for the widening of the value. | |
Public Member Functions | |
-constexpr | Q () |
Create a new zero fixed point. | |
constexpr | Q (const value_type x) |
Create a new fixed point from a raw integer. | |
bool | operator== (const Q &b) const |
this == b | |
bool | operator!= (const Q &b) const |
this != b | |
bool | operator< (const Q &b) const |
this < b | |
bool | operator> (const Q &b) const |
this > b | |
bool | operator<= (const Q &b) const |
this <= b | |
bool | operator>= (const Q &b) const |
this >= b | |
Q & | operator+= (const Q other) |
this += other | |
Static Public Member Functions | |
static constexpr value_type | sat (const wider_type i) |
Saturate a wider type to the current type. | |
static constexpr value_type | convert (const float f) |
Convert a float to fixed point with saturation. | |
static constexpr Q | f (const float x) |
Create a new fixed point from a float. | |
static constexpr Q | one () |
Fixed point number representing 1. | |
Data Fields | |
-value_type | v |
Storage value. | |
Static Public Attributes | |
-static constexpr int | fracBits = F |
Number of fractional bits. | |
-static constexpr int | mantissaBits = M |
Number of mantissa bits (without sign bit) | |
-static constexpr bool | isSigned = false |
Is this number representation signed. | |
-static constexpr value_type | maxVal = 0xFFFF |
Maximum representable positive value. | |
constexpr Q | +Q & operator-= | ( | -const value_type | -x | ) | +const Q< M, F, true, int16_t > | +other | ) |
Create a new fixed point from a raw integer.
+this -= other
x | the raw integer |
other | the other fixed point |
static constexpr value_type convert | +Q & operator-= | ( | -const float | -f | ) | +const Q< M, F, true, int8_t > | +other | ) |
Convert a float to fixed point with saturation.
+this -= other
f | float value |
other | the other fixed point |
static constexpr Q f | +Q< M, F, S > operator/ | ( | -const float | -x | ) | +const Q< M, F, S > | +a, | +
+ | + | const int32_t | +b | +||||
+ | ) | +
Create a new fixed point from a float.
+Division operator.
x | the float | |
[in] | a | First fixed point value |
[in] | b | Integer |
M | Number of mantissa bits |
F | Number of fractional bits |
S | Is representation signed |
static constexpr Q one | +bool operator< | ( | -) | -+ | const Q< M, F, true, int64_t > & | +b | ) | +const |
Fixed point number representing 1.
-this < b
+b | the other fixed point |
bool operator!= | +bool operator< | ( | -const Q< M, F, false, uint16_t > & | +const Q< M, F, false, uint64_t > & | b | ) | const |
b | the other fixed point |
Q & operator+= | +bool operator< | ( | -const Q< M, F, false, uint16_t > | -other | ) | -+ | const Q< M, F, true, int32_t > & | +b | ) | +const |
this += other
+this < b
other | the other fixed point |
b | the other fixed point |
bool operator<= | +bool operator< | ( | -const Q< M, F, false, uint16_t > & | +const Q< M, F, true, int16_t > & | b | ) | const |
b | the other fixed point |
bool operator== | +bool operator< | ( | const Q< M, F, false, uint16_t > & | b | ) | @@ -3736,19 +4715,19 @@
b | the other fixed point |
bool operator> | +bool operator< | ( | -const Q< M, F, false, uint16_t > & | +const Q< M, F, true, int8_t > & | b | ) | const |
b | the other fixed point |
bool operator>= | +bool operator< | ( | -const Q< M, F, false, uint16_t > & | +const Q< M, F, false, uint8_t > & | b | ) | const |
b | the other fixed point |
static constexpr value_type sat | +bool operator< | ( | -const wider_type | -i | ) | +const Q< M, F > & | +a, | +
+ | + | const Q< M, F > & | +b | +||||
+ | ) | +
Saturate a wider type to the current type.
+Less-than comparison operator.
i | the wider integer type | |
[in] | a | First value |
[in] | b | Second value |
M | Number of mantissa bits |
F | Number of fractional bits |
|
+ +inlinenoexcept | +
Signed fixed point datatypes on 8 bits.
+ +Shift left a fixed point number with a shift known at build time.
M | Number of bits for mantissa (without sign bit) |
F | Number of bits for fractional part |
M | Number of mantissa bits for the fixed point number |
F | Number of fractional bits for the fixed point number |
S | Is the fixed point number using a signed representation |
Public Types | |
-using | value_type = typename fixed_storage_type< M, F, true >::value_type |
Storage type for the value. | |
-using | wider_type = typename fixed_storage_type< M, F, true >::wider_type |
Storage type for the widening of the value. | |
Public Member Functions | |
-constexpr | Q () |
Create a new zero fixed point. | |
constexpr | Q (const value_type x) |
Create a new fixed point from a raw integer. | |
constexpr | Q (const Q< M, F, false > &other) |
Convert an unsigned fixed point to this fixed point. | |
bool | operator== (const Q &b) const |
this == b | |
bool | operator!= (const Q &b) const |
this != b | |
bool | operator< (const Q &b) const |
this < b | |
bool | operator> (const Q &b) const |
this > b | |
bool | operator<= (const Q &b) const |
this <= b | |
bool | operator>= (const Q &b) const |
this >= b | |
Q & | operator+= (const Q other) |
this += other | |
Q & | operator-= (const Q other) |
this -= other | |
Static Public Member Functions | |
static constexpr value_type | sat (const wider_type i) |
Saturate a wider type to the current type. | |
static constexpr value_type | convert (const float f) |
Convert a float to fixed point with saturation. | |
static constexpr Q | f (const float x) |
Create a new fixed point from a float. | |
static constexpr Q | one () |
Fixed point number representing 1. | |
Data Fields | |
-value_type | v |
Storage value. | |
Static Public Attributes | |
-static constexpr int | fracBits = F |
Number of fractional bits. | |
-static constexpr int | mantissaBits = M |
Number of mantissa bits (without sign bit) | |
-static constexpr bool | isSigned = true |
Is this number representation signed. | |
-static constexpr value_type | maxVal = 0x7F |
Maximum representable positive value. | |
-static constexpr value_type | minVal = 0x80 |
Minimum representable negative value. | |
a | First fixed point number |
constexpr Q | +bool operator<= | ( | -const value_type | -x | ) | -+ | const Q< M, F, true, int64_t > & | +b | ) | +const |
Create a new fixed point from a raw integer.
+this <= b
x | the raw integer |
b | the other fixed point |
Convert an unsigned fixed point to this fixed point.
+this <= b
other | The unsigned fixed point number |
b | the other fixed point |
Some problem may occur since the unsigned may not be representable with the less bits required for the sign representation. This convertion is not saturating.
+static constexpr value_type convert | +bool operator<= | ( | -const float | -f | ) | -+ | const Q< M, F, true, int32_t > & | +b | ) | +const |
Convert a float to fixed point with saturation.
+this <= b
f | float value |
b | the other fixed point |
Create a new fixed point from a float.
+this <= b
x | the float |
b | the other fixed point |
static constexpr Q one | +bool operator<= | ( | -) | -+ | const Q< M, F, true, int16_t > & | +b | ) | +const |
Fixed point number representing 1.
-this <= b
+b | the other fixed point |
bool operator!= | +bool operator<= | ( | -const Q< M, F, true, int8_t > & | +const Q< M, F, false, uint16_t > & | b | ) | const |
b | the other fixed point |
Q & operator+= | +bool operator<= | ( | -const Q< M, F, true, int8_t > | -other | ) | -+ | const Q< M, F, true, int8_t > & | +b | ) | +const |
this += other
+this <= b
other | the other fixed point |
b | the other fixed point |
Q & operator-= | +bool operator<= | ( | -const Q< M, F, true, int8_t > | -other | ) | -+ | const Q< M, F, false, uint8_t > & | +b | ) | +const |
this -= other
+this <= b
other | the other fixed point |
b | the other fixed point |
bool operator< | +bool operator<= | ( | -const Q< M, F, true, int8_t > & | -b | ) | -const | +const Q< M, F > & | +a, | +
+ | + | const Q< M, F > & | +b | +|||||
+ | ) | +
this < b
+Less-than-or-equal comparison operator.
b | the other fixed point | |
[in] | a | First value |
[in] | b | Second value |
M | Number of mantissa bits |
F | Number of fractional bits |
bool operator<= | +bool operator== | ( | -const Q< M, F, true, int8_t > & | +const Q< M, F, true, int64_t > & | b | ) | const |
b | the other fixed point |
bool operator> | +bool operator== | ( | -const Q< M, F, true, int8_t > & | +const Q< M, F, true, int32_t > & | b | ) | const |
b | the other fixed point |
bool operator>= | +bool operator== | ( | -const Q< M, F, true, int8_t > & | +const Q< M, F, false, uint32_t > & | b | ) | const |
b | the other fixed point |
static constexpr value_type sat | +bool operator== | ( | -const wider_type | -i | ) | -+ | const Q< M, F, true, int16_t > & | +b | ) | +const |
Saturate a wider type to the current type.
+this == b
i | the wider integer type |
b | the other fixed point |
-
+
+
+template<int M, int F> -struct arm_cmsis_dsp::Q< M, F, false, uint8_t > Unsigned fixed point datatypes on 8 bits. -
+
+ this == b +
Constructor & Destructor Documentation- -◆ Q()+
◆ operator==() [7/9]
@@ -4553,33 +5455,33 @@
constexpr Q |
+ bool operator== |
( |
- const value_type |
- x | ) |
-
+ | const Q< M, F, true, int8_t > & |
+ b | ) |
+ const |
|
-inlineexplicitconstexpr | +inline
Create a new fixed point from a raw integer.
+this == b
x | the raw integer |
b | the other fixed point |
static constexpr value_type convert | +bool operator== | ( | -const float | -f | ) | -+ | const Q< M, F, false, uint8_t > & | +b | ) | +const |
Convert a float to fixed point with saturation.
+this == b
f | float value |
b | the other fixed point |
Create a new fixed point from a float.
+Equality operator.
x | the float | |
[in] | a | First value |
[in] | b | Second value |
M | Number of mantissa bits |
F | Number of fractional bits |
Fixed point number representing 1.
-this > b
+b | the other fixed point |
bool operator!= | +bool operator> | ( | -const Q< M, F, false, uint8_t > & | +const Q< M, F, false, uint64_t > & | b | ) | const |
b | the other fixed point |
Q & operator+= | +bool operator> | ( | -const Q< M, F, false, uint8_t > | -other | ) | -+ | const Q< M, F, true, int32_t > & | +b | ) | +const |
this += other
+this > b
other | the other fixed point |
b | the other fixed point |
bool operator< | +bool operator> | ( | -const Q< M, F, false, uint8_t > & | +const Q< M, F, false, uint32_t > & | b | ) | const |
b | the other fixed point |
bool operator<= | +bool operator> | ( | -const Q< M, F, false, uint8_t > & | +const Q< M, F, true, int16_t > & | b | ) | const |
b | the other fixed point |
bool operator== | +bool operator> | ( | -const Q< M, F, false, uint8_t > & | +const Q< M, F, false, uint16_t > & | b | ) | const |
b | the other fixed point |
bool operator>= | +bool operator> | ( | const Q< M, F, false, uint8_t > & | b | ) | @@ -4910,19 +5837,19 @@
b | the other fixed point |
static constexpr value_type sat | +bool operator> | ( | -const wider_type | -i | ) | +const Q< M, F > & | +a, | +
+ | + | const Q< M, F > & | +b | +||||
+ | ) | +
Saturate a wider type to the current type.
+Greater-than comparison operator.
i | the wider integer type | |
[in] | a | First value |
[in] | b | Second value |
M | Number of mantissa bits |
F | Number of fractional bits |
|
+ +inline | +
Changed fractional representation of a fixed point number using a shift.
-M | Number of mantissa bits for the fixed point number |
FD | Number of fractional bits for the destination fixed point number |
FS | Number of fractional bits for the source fixed point number |
S | Is the fixed point number using a signed representation |
this >= b
src | The fixed point number |
b | the other fixed point |
Only applies if FD > FS
-
- template<int M, int FD, int FS, bool S> -struct arm_cmsis_dsp::FixedCastShift< M, FD, FS, S,(FD< FS)> Changed fractional representation of a fixed point number using a shift. -
|
+ +inline | +
this >= b
src | The fixed point number |
b | the other fixed point |
Only applies if FD < FS
-
|
+ +inline | +
Accumulation without saturation.
-MD | Number of mantissa bits for the destination fixed point number | |||||||||||
MS | Number of mantissa bits for the source fixed point number | |||||||||||
F | Number of fractional bits for fixed point number | |||||||||||
S | Is the fixed point number using a signed representation |
b | the other fixed point |
|
+ +inline | +
Accumulation without saturation.
-MD | Number of mantissa bits for the destination fixed point number |
MS | Number of mantissa bits for the source fixed point number |
F | Number of fractional bits for fixed point number |
S | Is the fixed point number using a signed representation |
b | the other fixed point |
Static Public Member Functions | |
static Q< MD, F, S > | acc (const Q< MD, F, S > &a, const Q< MS, F, S > &b) |
Accumulation without saturation. | |
Accumulation without saturation.
+this >= b
[in] | a | first fixed point number |
[in] | b | second fixed point number |
b | the other fixed point |
Q< MD, F, S > accumulate | +bool operator>= | ( | -const Q< MD, F, S > & | -a, | -|||
- | - | const Q< MS, F, S > & | -b | -||||
- | ) | -+ | const Q< M, F, false, uint16_t > & | +b | ) | +const |
Accumulate without saturation.
+this >= b
[in] | a | First fixed point number |
[in] | b | Second fixed point number |
MD | Number of mantissa bits for destination |
MS | Number of mantissa bits fro source |
F | Number of fractional bits |
S | Is the representation signed |
b | the other fixed point |
Q< M, F, S > add | +bool operator>= | ( | -const Q< M, F, S > & | -a, | -|||
- | - | const Q< M, F, S > & | -b | -||||
- | ) | -+ | const Q< M, F, true, int8_t > & | +b | ) | +const |
Add two fixed point numbers without saturation.
-M | Number of mantissa bits for the fixed point number |
F | Number of fractional bits for the fixed point number |
S | Is the fixed point number using a signed representation |
this >= b
a | First fixed point number |
b | Second fixed point number |
b | the other fixed point |
Q< MA+MB+1, FA+FB, SA||SB > mult | +bool operator>= | ( | -const Q< MA, FA, SA > & | -a, | -|||
- | - | const Q< MB, FB, SB > & | -b | -||||
- | ) | -+ | const Q< M, F, false, uint8_t > & | +b | ) | +const |
Multiplication of two fixed point numbers A and B.
-MA | Number of mantissa bits for A |
FA | Number of fractional bits for A |
MB | Number of mantissa bits for B |
FB | Number of fractional bits for B |
SA | Is A using a signed representation |
SB | Is B using a signed representation |
this >= b
a | First fixed point number |
b | Second fixed point number |
b | the other fixed point |
bool operator!= | +bool operator>= | ( | -const Q< M, F > | +const Q< M, F > & | a, | |||||||
- | const Q< M, F > | +const Q< M, F > & | b | |||||||||
[in] | a | First value |
q15 literal
+Shift right a fixed point number with a shift known at build time.
+M | Number of mantissa bits for the fixed point number |
F | Number of fractional bits for the fixed point number |
S | Is the fixed point number using a signed representation |
x | long double value |
a | First fixed point number |
You can write
The float is converted to Q15 at build time.
+q31 literal
+Convert an unsigned fixed point to this fixed point.
x | long double value |
other | The unsigned fixed point number |
You can write
The float is converted to Q31 at build time.
+Some problem may occur since the unsigned may not be representable with the less bits required for the sign representation. This convertion is not saturating.
q63 literal
+Convert an unsigned fixed point to this fixed point.
x | long double value |
other | The unsigned fixed point number |
You can write
The float is converted to Q63 at build time.
+Some problem may occur since the unsigned may not be representable with the less bits required for the sign representation. This convertion is not saturating.
q7 literal
+Convert an unsigned fixed point to this fixed point.
x | long double value |
other | The unsigned fixed point number |
You can write
The float is converted to Q7 at build time.
+Some problem may occur since the unsigned may not be representable with the less bits required for the sign representation. This convertion is not saturating.
Multiplication operator.
+Convert an unsigned fixed point to this fixed point.
[in] | a | First value |
[in] | b | Second value |
other | The unsigned fixed point number |
Some problem may occur since the unsigned may not be representable with the less bits required for the sign representation. This convertion is not saturating.
Q31 operator* | +constexpr Q | ( | -const Q31 & | -a, | -||
- | - | const Q31 & | -b | -|||
const value_type | +x | ) | - | ) | -
Multiplication operator.
+Create a new fixed point from a raw integer.
[in] | a | First value |
[in] | b | Second value |
x | the raw integer |
Q7 operator* | +constexpr Q | ( | -const Q7 & | -a, | -||
- | - | const Q7 & | -b | -|||
const value_type | +x | ) | - | ) | -
Multiplication operator.
+Create a new fixed point from a raw integer.
[in] | a | First value |
[in] | b | Second value |
x | the raw integer |
Q< M, F, S > operator+ | +constexpr Q | ( | -const Q< M, F, S > & | -a | ) | +const value_type | +x | ) |
No op operator.
+Create a new fixed point from a raw integer.
[in] | a | Fixed point number |
M | Number of mantissa bits |
F | Number of fractional bits |
S | Is the representation signed |
x | the raw integer |
Q< M, F, S > operator+ | +constexpr Q | ( | -const Q< M, F, S > & | -a, | -||
- | - | const Q< M, F, S > & | -b | -|||
const value_type | +x | ) | - | ) | -
Add two fixed point numbers with saturation.
-M | Number of mantissa bits for the fixed point number |
F | Number of fractional bits for the fixed point number |
S | Is the fixed point number using a signed representation |
Create a new fixed point from a raw integer.
a | First fixed point number |
b | Second fixed point number |
x | the raw integer |
Q< M, F, S > operator- | +constexpr Q | ( | -const Q< M, F, S > & | -a | ) | +const value_type | +x | ) |
Negate a fixed point number with saturation.
-M | Number of mantissa bits for the fixed point number |
F | Number of fractional bits for the fixed point number |
S | Is the fixed point number using a signed representation |
Create a new fixed point from a raw integer.
a | First fixed point number |
x | the raw integer |
Q< M, F, S > operator- | +constexpr Q | ( | -const Q< M, F, S > & | -a, | -||
- | - | const Q< M, F, S > & | -b | -|||
const value_type | +x | ) | - | ) | -
Subtract two fixed point numbers with saturation.
-M | Number of mantissa bits for the fixed point number |
F | Number of fractional bits for the fixed point number |
S | Is the fixed point number using a signed representation |
Create a new fixed point from a raw integer.
a | First fixed point number |
b | Second fixed point number |
x | the raw integer |
Q< M, F, S > operator/ | +constexpr Q | ( | -const Q< M, F, S > | -a, | -||
- | - | const int32_t | -b | -|||
const value_type | +x | ) | - | ) | -
Division operator.
+Create a new fixed point from a raw integer.
[in] | a | First fixed point value |
[in] | b | Integer |
M | Number of mantissa bits |
F | Number of fractional bits |
S | Is representation signed |
x | the raw integer |
bool operator< | +constexpr Q | ( | -const Q< M, F > & | -a, | -||
- | - | const Q< M, F > & | -b | -|||
const value_type | +x | ) | - | ) | -
Less-than comparison operator.
+Create a new fixed point from a raw integer.
[in] | a | First value |
[in] | b | Second value |
M | Number of mantissa bits |
F | Number of fractional bits |
x | the raw integer |
Q< M+N, F, S > operator<< | +static constexpr value_type sat | ( | -const Q< M, F, S > & | -a, | -||
- | - | std::integral_constant< int, N > | -- | |||
const wider_type | +i | ) | - | ) | -
Shift left a fixed point number with a shift known at build time.
-M | Number of mantissa bits for the fixed point number |
F | Number of fractional bits for the fixed point number |
S | Is the fixed point number using a signed representation |
Saturate a wider type to the current type.
a | First fixed point number |
i | the wider integer type |
bool operator<= | +static constexpr value_type sat | ( | -const Q< M, F > & | -a, | -||
- | - | const Q< M, F > & | -b | -|||
const wider_type | +i | ) | - | ) | -
Less-than-or-equal comparison operator.
+Saturate a wider type to the current type.
[in] | a | First value |
[in] | b | Second value |
M | Number of mantissa bits |
F | Number of fractional bits |
i | the wider integer type |
bool operator== | +static constexpr value_type sat | ( | -const Q< M, F > | -a, | -||
- | - | const Q< M, F > | -b | -|||
const wider_type | +i | ) | - | ) | -
Equality operator.
+Saturate a wider type to the current type.
[in] | a | First value |
[in] | b | Second value |
M | Number of mantissa bits |
F | Number of fractional bits |
i | the wider integer type |
bool operator> | +static constexpr value_type sat | ( | -const Q< M, F > & | -a, | -||
- | - | const Q< M, F > & | -b | -|||
const wider_type | +i | ) | - | ) | -
Greater-than comparison operator.
+Saturate a wider type to the current type.
[in] | a | First value |
[in] | b | Second value |
M | Number of mantissa bits |
F | Number of fractional bits |
i | the wider integer type |
bool operator>= | +static constexpr value_type sat | ( | -const Q< M, F > & | -a, | -||
- | - | const Q< M, F > & | -b | -|||
const wider_type | +i | ) | - | ) | -
Greater-than-or-equal comparison operator.
+Saturate a wider type to the current type.
[in] | a | First value |
[in] | b | Second value |
M | Number of mantissa bits |
F | Number of fractional bits |
i | the wider integer type |
Q< M, F, S > operator>> | +static constexpr value_type sat | ( | -const Q< M, F, S > & | -a, | -||
- | - | std::integral_constant< int, N > | -- | |||
const wider_type | +i | ) | - | ) | -
Shift right a fixed point number with a shift known at build time.
-M | Number of mantissa bits for the fixed point number |
F | Number of fractional bits for the fixed point number |
S | Is the fixed point number using a signed representation |
Saturate a wider type to the current type.
a | First fixed point number |
i | the wider integer type |
Data Structures | |
struct | FloatType< E > |
Check if datatype are compatible and accept mixed arithmetic complex with real. More... | |
struct | _Expr< T > |
Expression template. More... | |
struct | _UnaryOperator< Scalar, Derived > |
Unary operator. More... | |
struct | _BinaryOperator< Scalar, Derived > |
struct | _BinaryOperator< ScalarLHS, ScalarRHS, Derived > |
Unary operator. More... | |
struct | _AddOp< Scalar > |
struct | _AddOp< ScalarLHS, ScalarRHS > |
Add operator. More... | |
struct | _SubOp< Scalar > |
struct | _SubOp< ScalarLHS, ScalarRHS > |
Sub operator. More... | |
struct | _MulOp< Scalar > |
struct | _MulOp< ScalarLHS, ScalarRHS > |
Mul operator. More... | |
struct | _NegOp< Scalar > |
struct | _NoOp< Scalar > |
No operator. More... | |
struct | _ConjugateOp< Scalar > |
Conjugate operator. More... | |
Functions | |
constexpr bool | has_vector_inst () |
Determines if vector datatype supports vector instruction on a current architecture. | |
template<typename DA > | |
constexpr bool | has_predicate () |
Check if predicated instructions are supported. | |
template<typename DA > | |
constexpr bool | is_mixed () |
Check if expression contains a mix of complex / real operations. | |
template<typename A , typename B > | |
constexpr bool | same_nb_lanes () |
Check same number of lanes is used. | |
template<typename A > | |
constexpr bool | is_complex () |
Check if vector / matrix contains complex numbers. | |
template<typename A > | |
constexpr bool | is_float () |
Determines if datatype is a float (double, float, complex ...). | |
template<typename A > | |
constexpr bool | is_fixed () |
Determines if datatype is fixed (Q31,Q15, complex<Q15> ...). | |
template<typename DA > | |
constexpr bool | has_predicate_inst () |
Determines if datatype has predicated loop for current architecture. | |
template<typename DA , typename DB > | |
constexpr bool | vector_idx_pair () |
Check if both datatype have vector indexing are same scalar datatype. | |
Check if both datatype have vector indexing and are same scalar datatype. | |
template<typename DA > | |
constexpr bool | is_only_vector () |
constexpr bool | same_static_length () |
Check compatibility of length. | |
template<typename VA , typename VB , typename std::enable_if< vector_idx_pair< VA, VB >() &&is_only_vector< VA >() &&is_only_vector< VB >() &&(!IsDynamic< VA >::value||!IsDynamic< VB >::value), bool >::type = true> | |
DotResult< VA > | dot (const VA &a, const VB &b) |
Dot product. | |
template<typename VA , typename VB , typename std::enable_if< vector_idx_pair< VA, VB >() &&is_only_vector< VA >() &&is_only_vector< VB >() &&(!IsDynamic< VA >::value||!IsDynamic< VB >::value), bool >::type = true> | |
DotResult< DotFieldResult< VA, VB > > | dot (const VA &a, const VB &b) |
Dot product. | |
template<typename VA , typename VB , typename std::enable_if< vector_idx_pair< VA, VB >() &&(!IsDynamic< VA >::value||!IsDynamic< VB >::value), bool >::type = true> | |
void | swap (VA &&a, VB &&b) |
Swap vectors. |
struct arm_cmsis_dsp::FloatType | +
Check if datatype are compatible and accept mixed arithmetic complex with real.
+A | LHS datatype |
B | RHS datatype |
Unary operator.
+Unary operator.
Scalar | Datatype for scalar |
Add operator.
+Add operator.
Scalar | Datatype for scalar |
Sub operator.
+Sub operator.
Scalar | Datatype for scalar |
Mul operator.
+Mul operator.
Scalar | Datatype for scalar |
struct _ConjugateOp | +
Conjugate operator.
+Scalar | Datatype for scalar |
DotResult< VA > dot | +DotResult< DotFieldResult< VA, VB > > dot | ( | const VA & | a, | @@ -1009,6 +1085,40 @@
+
|
+ +constexpr | +
Check if predicated instructions are supported.
+DA | The datatype |
+
|
+ +constexpr | +
Check if vector / matrix contains complex numbers.
+A | Datatype |
+
|
+ +constexpr | +
Determines if datatype is fixed (Q31,Q15, complex<Q15> ...).
+A | The datatype |
+
|
+ +constexpr | +
Determines if datatype is a float (double, float, complex ...).
+A | Datatype |
+
|
+ +constexpr | +
Check if expression contains a mix of complex / real operations.
+DA | Expression datatype |
+
|
+ +constexpr | +
Check same number of lanes is used.
+A | Datatype |
B | Datatype |
Check if both datatype have vector indexing are same scalar datatype.
+Check if both datatype have vector indexing and are same scalar datatype.
DA | First datatype |
+Namespaces | |
namespace | inner |
+Data Structures | |
struct | number_traits< std::complex< double > > |
Features for complex double. More... | |
struct | vector_traits< std::complex< double >, arch, void > |
Default vector datatype description for this scalar datatype. More... | |
struct number_traits< std::complex< double > > | +
Features for complex double.
+Public Types | |
+typedef std::complex< double > | accumulator |
Accumulator datatype for this scalar datatype. | |
+typedef std::complex< double > | compute_type |
Compute datatype for this scalar datatype. | |
Static Public Member Functions | |
static constexpr std::complex< double > | one () |
One for this datatype. | |
Static Public Attributes | |
+static constexpr bool | is_float = true |
It is a float number. | |
+static constexpr bool | is_fixed = false |
It is not a fixed point. | |
+
|
+ +inlinestaticconstexpr | +
One for this datatype.
+struct vector_traits< std::complex< double >, arch, void > | +
Default vector datatype description for this scalar datatype.
+arch | Current architecture |
Public Types | |
typedef std::complex< double > | type |
typedef std::complex< double > | storage_type |
typedef bool | vector |
typedef bool | temp_accumulator |
typedef uint32_t | predicate_t |
Static Public Attributes | |
static constexpr bool | has_vector = false |
+static constexpr bool | is_float = true |
It is a float. | |
+static constexpr bool | is_fixed = false |
Not a fixed point. | |
+static constexpr bool | has_predicate = false |
No predicated loops. | |
+static constexpr int | nb_lanes = 1 |
Number of lanes. | |
typedef uint32_t predicate_t | +
Dummy datatype. Must be present for building but not used since by default there is no vector architecture assumed
+ +typedef std::complex<double> storage_type | +
Storage datatype
+ +typedef bool temp_accumulator | +
Dummy datatype. Must be present for building but not used since by default there is no vector architecture assumed
+ +typedef std::complex<double> type | +
Scalar datatype
+ +typedef bool vector | +
Dummy datatype. Must be present for building but not used since by default there is no vector architecture assumed
+ +
+
|
+ +staticconstexpr | +
By default : no vector architecture assumed
+ ++Namespaces | |
namespace | inner |
+Data Structures | |
struct | number_traits< std::complex< float > > |
Features for complex float. More... | |
struct | vector_traits< std::complex< float >, arch, typename std::enable_if<!std::is_base_of< Helium, arch >::value &&!std::is_base_of< Neon, arch >::value >::type > |
Vector instructions for complex float when no Helium or Neon. More... | |
struct number_traits< std::complex< float > > | +
Features for complex float.
+Public Types | |
+typedef std::complex< float > | accumulator |
Accumulator datatype for this scalar datatype. | |
+typedef std::complex< float > | compute_type |
Compute datatype for this scalar datatype. | |
+typedef std::complex< float > | display_type |
Display type for printf. | |
Static Public Member Functions | |
static constexpr std::complex< float > | one () |
One for this datatype. | |
Static Public Attributes | |
+static constexpr bool | is_float = true |
It is a float number. | |
+static constexpr bool | is_fixed = false |
It is not a fixed point. | |
+
|
+ +inlinestaticconstexpr | +
One for this datatype.
+struct vector_traits< std::complex< float >, arch, typename std::enable_if<!std::is_base_of< Helium, arch >::value &&!std::is_base_of< Neon, arch >::value >::type > | +
Vector instructions for complex float when no Helium or Neon.
+arch | Current architecture |
Public Types | |
+typedef std::complex< float > | type |
Current type. | |
+typedef std::complex< float > | storage_type |
Current storage type. | |
+typedef bool | vector |
Dummy type. Not used when no vector instructions. | |
+typedef bool | temp_accumulator |
Dummy type. Not used when no vector instructions. | |
+typedef uint32_t | predicate_t |
Dummy type. Not used when no vector instructions. | |
Static Public Attributes | |
+static constexpr bool | has_vector = false |
No vector instructions for this datatype. | |
+static constexpr bool | is_float = true |
Is float. | |
+static constexpr bool | is_fixed = false |
Is fixed. | |
+static constexpr bool | has_predicate = false |
No predicated loop. | |
+static constexpr int | nb_lanes = 1 |
Number of lanes. | |
+Namespaces | |
namespace | inner |
+Data Structures | |
struct | number_traits< std::complex< float16_t > > |
Feature for complex float16. More... | |
struct | vector_traits< std::complex< float16_t >, arch, typename std::enable_if<!std::is_base_of< Helium, arch >::value &&!std::is_base_of< Neon, arch >::value >::type > |
float16 vector descrition when no vector architecture More... | |
struct number_traits< std::complex< float16_t > > | +
Feature for complex float16.
+Public Types | |
+typedef std::complex< float16_t > | accumulator |
Accumulator datatype. | |
+typedef std::complex< float16_t > | compute_type |
Compute datatype (Less efficient than _Float16 but some C++ std lib is causing issues with _Float16) | |
+typedef std::complex< float16_t > | display_type |
Display type for printf. | |
Static Public Member Functions | |
static constexpr std::complex< float16_t > | one () |
One value. | |
Static Public Attributes | |
+static constexpr bool | is_float = true |
It is a float number. | |
+static constexpr bool | is_fixed = false |
It is not a fixed point number. | |
+
|
+ +inlinestaticconstexpr | +
One value.
+struct vector_traits< std::complex< float16_t >, arch, typename std::enable_if<!std::is_base_of< Helium, arch >::value &&!std::is_base_of< Neon, arch >::value >::type > | +
float16 vector descrition when no vector architecture
+Public Types | |
+typedef std::complex< float16_t > | type |
Float16 datatype. | |
+typedef std::complex< float16_t > | storage_type |
Float16 storage type. | |
+typedef bool | vector |
Dummy type when no vector instruction is supported. | |
+typedef bool | temp_accumulator |
Dummy type when no vector instruction is supported. | |
+typedef uint32_t | predicate_t |
Dummy type when no vector instruction is supported. | |
Static Public Attributes | |
+static constexpr bool | has_vector = false |
No vector instruction. | |
+static constexpr bool | is_float = true |
Is float. | |
+static constexpr bool | is_fixed = false |
Not fixed point. | |
+static constexpr bool | has_predicate = false |
Has predicated loop. | |
+static constexpr int | nb_lanes = 1 |
Number of lanes. | |
+Namespaces | |
namespace | inner |
+Data Structures | |
struct | number_traits< std::complex< Q15 > > |
Features for complex Q15. More... | |
struct | vector_traits< std::complex< Q15 >, arch, typename std::enable_if<!std::is_base_of< Helium, arch >::value &&!std::is_base_of< Neon, arch >::value >::type > |
Vector features for Q15 when no vector architecture. More... | |
struct number_traits< std::complex< Q15 > > | +
Features for complex Q15.
+Public Types | |
+typedef std::complex< Q< 33, 30 > > | accumulator |
Accumulator datatype. | |
+typedef std::complex< Q15 > | compute_type |
Compute type. | |
+typedef std::complex< Q15 > | display_type |
Display type for printf. | |
Static Public Member Functions | |
static constexpr std::complex< Q15 > | one () |
One value. | |
Static Public Attributes | |
+static constexpr bool | is_float = false |
Is not float. | |
+static constexpr bool | is_fixed = true |
Is fixed point. | |
+
|
+ +inlinestaticconstexpr | +
One value.
+struct vector_traits< std::complex< Q15 >, arch, typename std::enable_if<!std::is_base_of< Helium, arch >::value &&!std::is_base_of< Neon, arch >::value >::type > | +
Vector features for Q15 when no vector architecture.
+arch | Current architecture |
Public Types | |
+typedef std::complex< Q15 > | type |
Compute type. | |
+typedef type::value_type | storage_type |
Storage datatype (int16_t) | |
+typedef bool | vector |
Dummy type when no vector instructions. | |
+typedef bool | temp_accumulator |
Dummy type when no vector instructions. | |
+typedef uint32_t | predicate_t |
Dummy type when no vector instructions. | |
Static Public Attributes | |
+static constexpr bool | has_vector = false |
Has no vector instructions. | |
+static constexpr bool | is_float = false |
Is not float. | |
+static constexpr bool | is_fixed = true |
Is fixed point. | |
+static constexpr bool | has_predicate = false |
Has no predicated loop. | |
+static constexpr int | nb_lanes = 1 |
Number of lanes. | |
+Namespaces | |
namespace | inner |
+Data Structures | |
struct | number_traits< std::complex< Q31 > > |
Features for complex Q31. More... | |
struct | vector_traits< std::complex< Q31 >, arch, typename std::enable_if<!std::is_base_of< Helium, arch >::value &&!std::is_base_of< Neon, arch >::value >::type > |
Vector features for std::complex<Q31> when no vector instructions. More... | |
struct number_traits< std::complex< Q31 > > | +
Features for complex Q31.
+Public Types | |
+typedef std::complex< Q< 15, 48 > > | accumulator |
Accumulator datatype. | |
+typedef std::complex< Q31 > | compute_type |
Compute type. | |
+typedef std::complex< Q31 > | display_type |
Display type for printf. | |
Static Public Member Functions | |
static constexpr std::complex< Q31 > | one () |
One value. | |
Static Public Attributes | |
+static constexpr bool | is_float = false |
Is not a float. | |
+static constexpr bool | is_fixed = true |
Is fixed point. | |
+
|
+ +inlinestaticconstexpr | +
One value.
+struct vector_traits< std::complex< Q31 >, arch, typename std::enable_if<!std::is_base_of< Helium, arch >::value &&!std::is_base_of< Neon, arch >::value >::type > | +
Vector features for std::complex<Q31> when no vector instructions.
+arch | Current architecture |
Public Types | |
+typedef std::complex< Q31 > | type |
Datatype. | |
+typedef type::value_type | storage_type |
Storage tpe (int32_t) | |
+typedef bool | vector |
Dummy type when no vector instructions are supported. | |
+typedef bool | temp_accumulator |
Dummy type when no vector instructions are supported. | |
+typedef uint32_t | predicate_t |
Dummy type when no vector instructions are supported. | |
Static Public Attributes | |
+static constexpr bool | has_vector = false |
No vector instruction. | |
+static constexpr bool | is_float = false |
Is not float. | |
+static constexpr bool | is_fixed = true |
Is fixed. | |
+static constexpr bool | has_predicate = false |
No predicated loop. | |
+static constexpr int | nb_lanes = 1 |
Number of lanes. | |
+Namespaces | |
namespace | inner |
+Data Structures | |
struct | number_traits< std::complex< Q7 > > |
Features for Complex Q7. More... | |
struct | vector_traits< std::complex< Q7 >, arch, void > |
Vector descrition when no vector architecture. More... | |
struct number_traits< std::complex< Q7 > > | +
Features for Complex Q7.
+Public Types | |
+typedef std::complex< Q< 17, 14 > > | accumulator |
Accumulator datatype. | |
+typedef std::complex< Q7 > | compute_type |
Compute type. | |
+typedef std::complex< Q7 > | display_type |
Display type for printf. | |
Static Public Member Functions | |
static constexpr std::complex< Q7 > | one () |
One value. | |
Static Public Attributes | |
+static constexpr bool | is_float = false |
Is not float. | |
+static constexpr bool | is_fixed = true |
Is fixed point. | |
+
|
+ +inlinestaticconstexpr | +
One value.
+struct vector_traits< std::complex< Q7 >, arch, void > | +
Vector descrition when no vector architecture.
+arch | Current architecture |
Public Types | |
+typedef std::complex< Q7 > | type |
Current datatype. | |
+typedef type::value_type | storage_type |
Storage datatype (int8_t) | |
+typedef bool | vector |
Dummy datatype when no vector instructions. | |
+typedef bool | temp_accumulator |
Dummy datatype when no vector instructions. | |
+typedef uint32_t | predicate_t |
Dummy datatype when no vector instructions. | |
Static Public Attributes | |
+static constexpr bool | has_vector = false |
No vector instructions. | |
+static constexpr bool | is_float = false |
Is not float. | |
+static constexpr bool | is_fixed = true |
Is fixed point. | |
+static constexpr bool | has_predicate = false |
No predicated loop. | |
+static constexpr int | nb_lanes = 1 |
Number of lanes. | |
Content | |
Complex Double | |
Complex Float | |
Complex Half | |
Complex Q15 | |
Complex Q31 | |
Complex Q7 | |
Double | |
Float | |
Q7 | |
-Namespaces | |
namespace | inner |
Functions | |
template<typename T , typename DST , typename std::enable_if< has_vector_inst< DST >() &&IsVector< DST >::value &&SameElementType< DST, T >::value, bool >::type = true> | |
template<typename T , typename DST , typename std::enable_if< has_vector_inst< DST >() &&IsVector< DST >::value &&compatible_element< DST, T >() &&has_predicate< DST >(), bool >::type = true> | |
void | _Fill (DST &v, const T val, const vector_length_t l, const Helium *=nullptr) |
Fill evaluator for Helium. | |
template<typename T , typename DST , typename std::enable_if< has_vector_inst< DST >() &&must_use_matrix_idx< DST >() &&SameElementType< DST, T >::value, bool >::type = true> | |
template<typename T , typename DST , typename std::enable_if< has_vector_inst< DST >() &&must_use_matrix_idx< DST >() &&compatible_element< DST, T >() &&has_predicate< DST >(), bool >::type = true> | |
void | _Fill2D (DST &v, const T val, const vector_length_t rows, const vector_length_t cols, const Helium *=nullptr) |
Fill2D evaluator for Helium. | |
template<typename DA , typename DB , typename std::enable_if< has_vector_inst< DA >() &&vector_idx_pair< DA, DB >(), bool >::type = true> | |
template<typename DA , typename DB , typename std::enable_if< has_vector_inst< DA >() &&has_vector_inst< DB >() &&vector_idx_pair< DA, DB >() &&same_nb_lanes< DA, DB >() &&has_predicate< DA >(), bool >::type = true> | |
void | eval (DA &v, const DB &other, const vector_length_t l, const Helium *=nullptr) |
Eval function for Helium. | |
template<typename DA , typename DB , typename std::enable_if< has_vector_inst< DA >() &&must_use_matrix_idx_pair< DA, DB >(), bool >::type = true> | |
template<typename DA , typename DB , typename std::enable_if< has_vector_inst< DA >() &&has_vector_inst< DB >() &&must_use_matrix_idx_pair< DA, DB >() &&same_nb_lanes< DA, DB >() &&(has_predicate< DA >() &&has_predicate< DB >()), bool >::type = true> | |
void | eval2D (DA &v, const DB &other, const vector_length_t rows, const vector_length_t cols, const Helium *=nullptr) |
Eval2D function for Helium. | |
void | printt (const std::tuple< T... > &_tup) |
Print tuple. | |
template<typename DA , typename DB , typename std::enable_if< has_vector_inst< DA >() &&vector_idx_pair< DA, DB >(), bool >::type = true> | |
DotResult< DA > | _dot (const DA &a, const DB &b, const vector_length_t l, const Helium *=nullptr) |
Dor product for Helium. | |
template<typename DA , typename DB , typename std::enable_if< has_vector_inst< DA >() &&vector_idx_pair< DA, DB >(), bool >::type = true> | |
template<typename DA , typename DB , typename std::enable_if< has_vector_inst< DA >() &&has_vector_inst< DB >() &&vector_idx_pair< DA, DB >() &&same_nb_lanes< DA, DB >() &&has_predicate< DotFieldResult< DA, DB > >(), bool >::type = true> | |
DotResult< DotFieldResult< DA, DB > > | _dot (const DA &a, const DB &b, const vector_length_t l, const Helium *=nullptr) |
Dor product for Helium. | |
template<typename DA , typename DB , typename std::enable_if< has_vector_inst< DA >() &&has_vector_inst< DB >() &&vector_idx_pair< DA, DB >() &&has_predicate< DA >(), bool >::type = true> | |
void | _swap (DA &&a, DB &&b, const vector_length_t l, const Helium *=nullptr) |
Swap operator for Helium. | |
DotResult< DA > _dot | +DotResult< DotFieldResult< DA, DB > > _dot | ( | const DA & | a, | diff --git a/main/group__HELIUMALG.js b/main/group__HELIUMALG.js index 37f9d709..2a4bfdb8 100644 --- a/main/group__HELIUMALG.js +++ b/main/group__HELIUMALG.js @@ -1,6 +1,6 @@ var group__HELIUMALG = [ - [ "_dot", "group__HELIUMALG.html#ga6e93f3782669bf2f1870ea177c536d7e", null ], + [ "_dot", "group__HELIUMALG.html#ga8b3315347db8969ec7d77c8277fdc692", null ], [ "_Fill", "group__HELIUMALG.html#ga86891b1c2eb658a9f15746434e30fdd5", null ], [ "_Fill2D", "group__HELIUMALG.html#ga2acf49f8cba5a245ed8a3d30b8300c3b", null ], [ "_swap", "group__HELIUMALG.html#gaf769d651b0aa9c7cbc026beefc8257ba", null ], diff --git a/main/group__HeliumComplexFloatNumber.html b/main/group__HeliumComplexFloatNumber.html new file mode 100644 index 00000000..14127a8c --- /dev/null +++ b/main/group__HeliumComplexFloatNumber.html @@ -0,0 +1,407 @@ + + + + + + + +
+Namespaces | |
namespace | inner |
+Data Structures | |
struct | vector_traits< std::complex< float >, arch, typename std::enable_if< std::is_base_of< Helium, arch >::value >::type > |
Vector datatype for Helium. More... | |
struct | vload1_gen_stride< std::complex< float >, 0, 1, 2, 3 > |
Load with generalized stride specialized for <0,1,2,3> More... | |
struct | vstore1_gen_stride< std::complex< float32_t >, 0, 1, 2, 3 > |
Generalized store with stride (Specialized for <0,1,2,3>) More... | |
struct vector_traits< std::complex< float >, arch, typename std::enable_if< std::is_base_of< Helium, arch >::value >::type > | +
Vector datatype for Helium.
+arch | Current architecture |
Public Types | |
+typedef std::complex< float > | type |
Scalar datatype. | |
+typedef std::complex< float > | storage_type |
Storage datatype. | |
+typedef ComplexVector< float32x4_t > | vector |
Vector datatype. | |
+typedef HalfComplexVector< float32x4_t > | half_vector |
Half vector datatype. | |
+typedef float32x4_t | real_vector |
Real vector datatype. | |
+typedef ComplexVector< float32x4_t > | temp_accumulator |
Temp accumulator datatype (must be reduced to final scalar datatype) | |
+typedef bool | predicate_t |
Predicate datatype (not used) | |
Static Public Member Functions | |
static ComplexVector< float32x4_t > | temp_acc_zero () |
Temp accumulator initialized to 0. | |
Static Public Attributes | |
+static constexpr bool | has_vector = true |
Has vector instruction. | |
+static constexpr bool | is_float = true |
Is float. | |
+static constexpr bool | is_fixed = false |
Is not fixed point. | |
+static constexpr bool | has_predicate = false |
Has predicated loops. | |
+static constexpr int | nb_lanes = 4 |
Number of lanes (each lane being two floats) | |
+static constexpr bool | support_mixed = true |
If support mixed arithmetic. | |
+
|
+ +inlinestatic | +
Temp accumulator initialized to 0.
+struct inner::vload1_gen_stride< std::complex< float >, 0, 1, 2, 3 > | +
Load with generalized stride specialized for <0,1,2,3>
+Static Public Member Functions | |
static ComplexVector< float32x4_t > | run (const std::complex< float32_t > *p) |
Load with generalized stride. | |
+
|
+ +inlinestatic | +
Load with generalized stride.
+[in] | p | Load address |
struct inner::vstore1_gen_stride< std::complex< float32_t >, 0, 1, 2, 3 > | +
Generalized store with stride (Specialized for <0,1,2,3>)
+Static Public Member Functions | |
static void | run (std::complex< float32_t > *p, const ComplexVector< float32x4_t > &val) |
Scatter store. | |
+
|
+ +inlinestatic | +
Scatter store.
+p | Store address | |
[in] | val | Value to store |
+Namespaces | |
namespace | inner |
+Data Structures | |
struct | vector_traits< std::complex< float16_t >, arch, typename std::enable_if< std::is_base_of< Helium, arch >::value >::type > |
Vector datatype for Helium. More... | |
struct | vload1_gen_stride< std::complex< float16_t >, 0, 1, 2, 3, 4, 5, 6, 7 > |
Load with generalized stride specialized for <0,1,2,3,4,5,6,7> More... | |
struct | vstore1_gen_stride< std::complex< float16_t >, 0, 1, 2, 3, 4, 5, 6, 7 > |
Generalized store with stride (Specialized for <0,1,2,3>) More... | |
struct vector_traits< std::complex< float16_t >, arch, typename std::enable_if< std::is_base_of< Helium, arch >::value >::type > | +
Vector datatype for Helium.
+arch | Current architecture |
Public Types | |
+typedef std::complex< float16_t > | type |
Scalar datatype. | |
+typedef std::complex< float16_t > | storage_type |
Storage datatype. | |
+typedef ComplexVector< float16x8_t > | vector |
Vector datatype. | |
+typedef HalfComplexVector< float16x8_t > | half_vector |
Half vector datatype. | |
+typedef float16x8_t | real_vector |
Real vector datatype. | |
+typedef ComplexVector< float16x8_t > | temp_accumulator |
Temp accumulator datatype (must be reduced to final scalar datatype) | |
+typedef bool | predicate_t |
Predicate datatype (not used for complex) | |
Static Public Member Functions | |
static ComplexVector< float16x8_t > | temp_acc_zero () |
Temp accumulator initialized to 0. | |
Static Public Attributes | |
+static constexpr bool | has_vector = true |
Has vector instruction. | |
+static constexpr bool | is_float = true |
Is float. | |
+static constexpr bool | is_fixed = false |
Is not fixed point. | |
+static constexpr bool | has_predicate = false |
Has predicated loops (not used for complex) | |
+static constexpr int | nb_lanes = 8 |
Number of lanes (each lane being two floats) | |
+static constexpr bool | support_mixed = true |
If support mixed arithmetic. | |
+
|
+ +inlinestatic | +
Temp accumulator initialized to 0.
+struct inner::vload1_gen_stride< std::complex< float16_t >, 0, 1, 2, 3, 4, 5, 6, 7 > | +
Load with generalized stride specialized for <0,1,2,3,4,5,6,7>
+Static Public Member Functions | |
static ComplexVector< float16x8_t > | run (const std::complex< float16_t > *p) |
Load with generalized stride. | |
+
|
+ +inlinestatic | +
Load with generalized stride.
+[in] | p | Load address |
struct inner::vstore1_gen_stride< std::complex< float16_t >, 0, 1, 2, 3, 4, 5, 6, 7 > | +
Generalized store with stride (Specialized for <0,1,2,3>)
+Static Public Member Functions | |
static void | run (std::complex< float16_t > *p, const ComplexVector< float16x8_t > &val) |
Scatter store. | |
+
|
+ +inlinestatic | +
Scatter store.
+p | Store address | |
[in] | val | Value to store |
struct inner::vload1_gen_stride | -
Load with generalized stride (gather load)
-S | List of offsets known at built time |
Static Public Member Functions | |
static float32x4_t | run (const float32_t *p) |
Load with generalized stride. | |
-
|
- -inlinestatic | -
Load with generalized stride.
-[in] | p | Load address |
struct inner::vload1_gen_stride< 0, 1, 2, 3 > | +struct inner::vload1_gen_stride< float32_t, 0, 1, 2, 3 > |
struct inner::vload1_gen_stride_z | -
Load with generalized stride (gather load) and tail predicate.
-S | List of offsets known at built time |
Static Public Member Functions | |
static float32x4_t | run (const float32_t *p, const std::size_t nb, const mve_pred16_t p0) |
Load. | |
-
|
- -inlinestatic | -
Load.
-[in] | p | Load address |
[in] | nb | Number of remaining samples in loop |
[in] | p0 | Predicate for remaining samples |
struct inner::vload1_gen_stride_z< 0, 1, 2, 3 > | +struct inner::vload1_gen_stride_z< float32_t, 0, 1, 2, 3 > |
struct inner::vstore1_gen_stride | -
Generalized store with strides.
-S | Stride values known at built time |
Static Public Member Functions | |
static void | run (float32_t *p, const float32x4_t val) |
Scatter store. | |
-
|
- -inlinestatic | -
Scatter store.
-p | Store address | |
[in] | val | VAlue to store |
struct inner::vstore1_gen_stride< 0, 1, 2, 3 > | +struct inner::vstore1_gen_stride< float32_t, 0, 1, 2, 3 > |
struct inner::vstore1_gen_stride_z | -
Store with generalized strides and tail predicate.
-S | Strides values known at built time |
Static Public Member Functions | |
static void | vstore1_z (float32_t *p, const float32x4_t val, const std::size_t nb, const mve_pred16_t p0) |
Scatter store with tail predicate. | |
-
|
- -inlinestatic | -
Scatter store with tail predicate.
-p | Store address | |
[in] | val | Value to store |
[in] | nb | Remaining number of loops |
[in] | p0 | Loop predicate |
struct inner::vstore1_gen_stride_z< 0, 1, 2, 3 > | +struct inner::vstore1_gen_stride_z< float32_t, 0, 1, 2, 3 > |
Content | |
Complex Float | |
Complex Half | |
Complex Q15 | |
Complex Q31 | |
Float | |
Half | |
Q7 | |
-Namespaces | |
namespace | inner |
-Data Structures | |
struct | vctpq< float > |
vctpq for this datatype More... | |
struct | vload1_gen_stride< S > |
Load with generalized stride (gather load) More... | |
struct | vload1_gen_stride< 0, 1, 2, 3 > |
Load with generalized stride specialized for <0,1,2,3> More... | |
struct | vload1_gen_stride_z< S > |
Load with generalized stride (gather load) and tail predicate. More... | |
struct | vload1_gen_stride_z< 0, 1, 2, 3 > |
Load with generalized stride (gather load) and tail predicate specialized for <0,1,2,3> More... | |
struct | vstore1_gen_stride< S > |
Generalized store with strides. More... | |
struct | vstore1_gen_stride< 0, 1, 2, 3 > |
Generalized store with stride (Specialized for <0,1,2,3>) More... | |
struct | vstore1_gen_stride_z< S > |
Store with generalized strides and tail predicate. More... | |
struct | vstore1_gen_stride_z< 0, 1, 2, 3 > |
Scatter store with tail predicate (specialized for <0,1,2,3>) More... | |
struct | vctpq< float16_t > |
vctpq for Helium and f16 More... | |
struct inner::vctpq< float > | -
vctpq for this datatype
-Static Public Member Functions | |
static mve_pred16_t | mk (uint32_t v) |
Make a predicate. | |
-
|
- -inlinestatic | -
Make a predicate.
-[in] | v | Number of iterations |
struct inner::vload1_gen_stride | -
Load with generalized stride (gather load)
-S | List of offsets known at built time |
Static Public Member Functions | |
static float32x4_t | run (const float32_t *p) |
Load with generalized stride. | |
-
|
- -inlinestatic | -
Load with generalized stride.
-[in] | p | Load address |
struct inner::vload1_gen_stride< 0, 1, 2, 3 > | -
Load with generalized stride specialized for <0,1,2,3>
-Static Public Member Functions | |
static float32x4_t | run (const float32_t *p) |
Load with generalized stride. | |
-
|
- -inlinestatic | -
Load with generalized stride.
-[in] | p | Load address |
struct inner::vload1_gen_stride_z | -
Load with generalized stride (gather load) and tail predicate.
-S | List of offsets known at built time |
Static Public Member Functions | |
static float32x4_t | run (const float32_t *p, const std::size_t nb, const mve_pred16_t p0) |
Load. | |
-
|
- -inlinestatic | -
Load.
-[in] | p | Load address |
[in] | nb | Number of remaining samples in loop |
[in] | p0 | Predicate for remaining samples |
struct inner::vload1_gen_stride_z< 0, 1, 2, 3 > | -
Load with generalized stride (gather load) and tail predicate specialized for <0,1,2,3>
-S | List of offsets known at built time |
Static Public Member Functions | |
static float32x4_t | run (const float32_t *p, const std::size_t nb, const mve_pred16_t p0) |
Gather load with predicated specialized for <0,1,2,3> | |
-
|
- -inlinestatic | -
Gather load with predicated specialized for <0,1,2,3>
-[in] | p | Load address |
[in] | nb | Number of remaining samples in the loop |
[in] | p0 | Predicate for samples in the loop |
struct inner::vstore1_gen_stride | -
Generalized store with strides.
-S | Stride values known at built time |
Static Public Member Functions | |
static void | run (float32_t *p, const float32x4_t val) |
Scatter store. | |
-
|
- -inlinestatic | -
Scatter store.
-p | Store address | |
[in] | val | VAlue to store |
struct inner::vstore1_gen_stride< 0, 1, 2, 3 > | -
Generalized store with stride (Specialized for <0,1,2,3>)
-Static Public Member Functions | |
static void | run (float32_t *p, const float32x4_t val) |
Scatter store. | |
-
|
- -inlinestatic | -
Scatter store.
-p | Store address | |
[in] | val | Value to store |
struct inner::vstore1_gen_stride_z | -
Store with generalized strides and tail predicate.
-S | Strides values known at built time |
Static Public Member Functions | |
static void | vstore1_z (float32_t *p, const float32x4_t val, const std::size_t nb, const mve_pred16_t p0) |
Scatter store with tail predicate. | |
-
|
- -inlinestatic | -
Scatter store with tail predicate.
-p | Store address | |
[in] | val | Value to store |
[in] | nb | Remaining number of loops |
[in] | p0 | Loop predicate |
struct inner::vstore1_gen_stride_z< 0, 1, 2, 3 > | -
Scatter store with tail predicate (specialized for <0,1,2,3>)
-Static Public Member Functions | |
static void | vstore1_z (float32_t *p, const float32x4_t val, const std::size_t nb, const mve_pred16_t p0) |
Scatter store with tail predicate. | |
-
|
- -inlinestatic | -
Scatter store with tail predicate.
-p | Store address | |
[in] | val | Value to store |
[in] | nb | Number of remaining loops |
[in] | p0 | Loop predicate |
struct inner::vctpq< float16_t > | -
vctpq for Helium and f16
-Static Public Member Functions | |
static mve_pred16_t | mk (uint32_t v) |
Make predicate. | |
-
|
- -inlinestatic | -
Make predicate.
-[in] | v | Remaining iterations |
Vector const matrix_op | +auto matrix_op | ( | const index_t | r, | @@ -515,8 +515,8 @@
Vector const matrix_op_tail | +auto matrix_op_tail | ( | const index_t | r, | @@ -576,8 +576,8 @@
Scalar const operator() | +auto operator() | ( | const index_t | r, | @@ -874,7 +874,7 @@const VectorView< P, CS *S > | col (const index_t i, const index_t start=0, const index_t stop=R) const | |
Create a constant column view vector with stride. | |||||||
template<int RA = R, int CA = C, typename VA , typename std::enable_if< IsVector< VA >::value &&(RA==CA) &&(RA >0) &&SameElementType< VA, P >::value, bool >::type = true> | |||||||
template<int RA = R, int CA = C, typename VA , typename std::enable_if< IsVector< VA >::value &&(RA==CA) &&(RA >0) &&compatible_element< VA, P >(), bool >::type = true> | |||||||
void | fill_diagonal (const VA &a) | ||||||
Fill diagonal of a matrix with a vector. | |||||||
void | vector_store (const index_t i, const Vector val) const | ||||||
Vector store at index i | |||||||
void | vector_store_tail (const index_t i, const vector_length_t remaining, const Vector val) const | ||||||
Vector store at index i with predicated tail | |||||||
Vector const | vector_op_tail (const index_t i, const vector_length_t remaining) const | ||||||
Vector operation at index i with predicated tail | |||||||
template<typename T = P, typename std::enable_if< vector_traits< T >::has_predicate, bool >::type = true> | |||||||
void | vector_store_tail (const index_t i, const vector_length_t remaining, const Vector val) const | ||||||
Vector store at index i with predicated tail | |||||||
template<typename T = P, typename std::enable_if< vector_traits< T >::has_predicate, bool >::type = true> | |||||||
Vector const | vector_op_tail (const index_t i, const vector_length_t remaining) const | ||||||
Vector operation at index i with predicated tail | |||||||
Vector const | vector_op (const index_t i) const | ||||||
Vector operation at index i | |||||||
Static Public Member Functions | |||||||
template<int RA = R, int CA = C, typename VA , typename std::enable_if< IsVector< VA >::value &&(RA==CA) &&(RA >0) &&SameElementType< VA, P >::value, bool >::type = true> | |||||||
template<int RA = R, int CA = C, typename VA , typename std::enable_if< IsVector< VA >::value &&(RA==CA) &&(RA >0) &&compatible_element< VA, P >(), bool >::type = true> | |||||||
static Matrix< P, RA, CA, Allocator > | diagonal (const VA &a) | ||||||
Create a diagonal matrix. | |||||||
Matrix & | operator= (const _Expr< Derived > &other) | ||||||
Assign matrix from expression. | |||||||
template<typename VA , typename std::enable_if< IsVector< VA >::value &&SameElementType< VA, P >::value, bool >::type = true> | |||||||
template<typename VA , typename std::enable_if< IsVector< VA >::value &&compatible_element< VA, P >(), bool >::type = true> | |||||||
void | fill_diagonal (const VA &a) | ||||||
Fill diagonal of a matrix with a vector. | |||||||
void | vector_store (const index_t i, const Vector val) const | ||||||
Vector store at index i | |||||||
void | vector_store_tail (const index_t i, const vector_length_t remaining, const Vector val) const | ||||||
Vector store at index i with predicated tail | |||||||
Vector const | vector_op_tail (const index_t i, const vector_length_t remaining) const | ||||||
Vector operation at index i with predicated tail | |||||||
template<typename T = P, typename std::enable_if< vector_traits< T >::has_predicate, bool >::type = true> | |||||||
void | vector_store_tail (const index_t i, const vector_length_t remaining, const Vector val) const | ||||||
Vector store at index i with predicated tail | |||||||
template<typename T = P, typename std::enable_if< vector_traits< T >::has_predicate, bool >::type = true> | |||||||
Vector const | vector_op_tail (const index_t i, const vector_length_t remaining) const | ||||||
Vector operation at index i with predicated tail | |||||||
Vector const | vector_op (const index_t i) const | ||||||
Vector operation at index i | |||||||
Static Public Member Functions | |||||||
template<typename VA , typename std::enable_if< IsVector< VA >::value &&SameElementType< VA, P >::value, bool >::type = true> | |||||||
template<typename VA , typename std::enable_if< IsVector< VA >::value &&compatible_element< VA, P >(), bool >::type = true> | |||||||
static Matrix< P, DYNAMIC, DYNAMIC, Allocator > | diagonal (const VA &a) | ||||||
Create a diagonal matrix. | |||||||
VectorType const | matrix_op (const index_t row, const index_t col) const | ||||||
Vector operation at a given row,column position | |||||||
template<typename VA , typename std::enable_if< IsVector< VA >::value &&SameElementType< VA, T >::value, bool >::type = true> | |||||||
template<typename VA , typename std::enable_if< IsVector< VA >::value &&compatible_element< VA, T >(), bool >::type = true> | |||||||
void | fill_diagonal (const VA &a) | ||||||
Fill diagonal of a matrix with a vector. | |||||||
VectorType const | matrix_op (const index_t row, const index_t col) const | ||||||
Vector operation at a given row,column position | |||||||
template<typename VA , typename std::enable_if< IsVector< VA >::value &&SameElementType< VA, T >::value, bool >::type = true> | |||||||
template<typename VA , typename std::enable_if< IsVector< VA >::value &&compatible_element< VA, T >(), bool >::type = true> | |||||||
void | fill_diagonal (const VA &a) | ||||||
Fill diagonal of a matrix with a vector. | |||||||
VectorType const | matrix_op (const index_t row, const index_t col) const | ||||||
Vector operation at a given row,column position | |||||||
template<typename VA , typename std::enable_if< IsVector< VA >::value &&SameElementType< VA, T >::value, bool >::type = true> | |||||||
template<typename VA , typename std::enable_if< IsVector< VA >::value &&compatible_element< VA, T >(), bool >::type = true> | |||||||
void | fill_diagonal (const VA &a) | ||||||
Fill diagonal of a matrix with a vector. | |||||||
struct | number_traits< T > | ||||||
Properties of a scalar datatype. More... | |||||||
struct | ComplexVector< T > | ||||||
Vector containing complex values and not just real values but with same number of lanes than a normal float vector. More... | |||||||
struct | HalfComplexVector< T > | ||||||
Vector of complex but with half lanes compared to real (2 complex) More... | |||||||
struct | Dual< T > | ||||||
Dual representation for complex. More... | |||||||
struct | vector_traits< T, arch, typename > | ||||||
Properties of a vector datatype linked to a scalar datatype. More... | |||||||
struct arm_cmsis_dsp::ComplexVector | +
Vector containing complex values and not just real values but with same number of lanes than a normal float vector.
+T | Datatype of vector |
struct arm_cmsis_dsp::HalfComplexVector | +
Vector of complex but with half lanes compared to real (2 complex)
+T | Data type of vector |
struct arm_cmsis_dsp::Dual | +
Functions | |||||||
template<typename T , typename DST , typename std::enable_if< IsVector< DST >::value &&SameElementType< DST, T >::value, bool >::type = true> | |||||||
template<typename T , typename DST , typename std::enable_if< IsVector< DST >::value &&compatible_element< DST, T >(), bool >::type = true> | |||||||
void | _Fill (DST &v, const T val, vector_length_t l, const Scalar *=nullptr) | ||||||
Fill evaluator for scalar architecture. | |||||||
template<typename T , typename DST , typename std::enable_if< must_use_matrix_idx< DST >() &&SameElementType< DST, T >::value, bool >::type = true> | |||||||
template<typename T , typename DST , typename std::enable_if< must_use_matrix_idx< DST >() &&compatible_element< DST, T >(), bool >::type = true> | |||||||
void | _Fill2D (DST &v, const T val, const vector_length_t rows, const vector_length_t cols, const Scalar *=nullptr) | ||||||
Fill2D evaluator for scalar architecture. | |||||||
void | eval2D (DA &v, const DB &other, const vector_length_t rows, const vector_length_t cols, const Scalar *=nullptr) | ||||||
2D expression evaluator for scalar archiecture | |||||||
template<typename DA , typename DB , typename std::enable_if< vector_idx_pair< DA, DB >(), bool >::type = true> | |||||||
DotResult< DA > | _dot (const DA &a, const DB &b, const vector_length_t l, const Scalar *=nullptr) | ||||||
Dot product evaluator for scalar architectuire. | |||||||
template<typename DA , typename DB , typename std::enable_if< vector_idx_pair< DA, DB >(), bool >::type = true> | |||||||
DotResult< DotFieldResult< DA, DB > > | _dot (const DA &a, const DB &b, const vector_length_t l, const Scalar *=nullptr) | ||||||
Dot product evaluator for scalar architectuire. | |||||||
template<typename DA , typename DB , typename std::enable_if< vector_idx_pair< DA, DB >(), bool >::type = true> | |||||||
void | _swap (DA &&a, DB &&b, const vector_length_t l, const Scalar *=nullptr) | ||||||
Swap evaluator for scalar architecture. | |||||||
__STATIC_INLINE void | _dot_m_m (const MA &pSrcA, const MB &pSrcB, RES &&pDst, const TMP &BT, const Scalar *=nullptr) | ||||||
Matrix times matrix for scalar architecture and fixed point. | |||||||
template<typename MA , typename MB , typename RES , typename std::enable_if< number_traits< typename traits< MA >::Scalar >::is_float, bool >::type = true> | |||||||
template<typename MA , typename MB , typename RES , typename std::enable_if< is_float< MA >(), bool >::type = true> | |||||||
__STATIC_INLINE void | _dot_m_m (const MA &pSrcA, const MB &pSrcB, RES &&pDst, const Scalar *=nullptr) | ||||||
Matrix times matrix for scalar architecture and float. | |||||||
DotResult< DA > _dot | +DotResult< DotFieldResult< DA, DB > > _dot | ( | const DA & | a, | diff --git a/main/group__SCALARALG.js b/main/group__SCALARALG.js index c18d7e69..96f453d2 100644 --- a/main/group__SCALARALG.js +++ b/main/group__SCALARALG.js @@ -1,7 +1,7 @@ var group__SCALARALG = [ [ "_arm_mat_trans", "group__SCALARALG.html#ga47bb2ac69df29ba95a74825e4fff2726", null ], - [ "_dot", "group__SCALARALG.html#ga5cf13c3f71d165f946688b084ec87a6a", null ], + [ "_dot", "group__SCALARALG.html#gaab556ffb9401d98c72042cac1b9b1ea0", null ], [ "_dot_m_m", "group__SCALARALG.html#gadcf9c4800720cb2ffba648426eea4411", null ], [ "_dot_m_m", "group__SCALARALG.html#ga4e6fec1c099138a96cf3f56e68b50880", null ], [ "_dot_m_v", "group__SCALARALG.html#gac896323f3479d29fb42470c2880ec387", null ], diff --git a/main/group__VECTOR.html b/main/group__VECTOR.html index 093bd8b4..2901492e 100644 --- a/main/group__VECTOR.html +++ b/main/group__VECTOR.html @@ -155,7 +155,7 @@
Functions | |||||||
template<typename LHS , typename RHS , typename std::enable_if<(!is_scalar< LHS >()||!is_scalar< RHS >()) &&SameElementType< LHS, RHS >::value &&same_static_length< LHS, RHS >(), bool >::type = true> | |||||||
template<typename LHS , typename RHS , typename std::enable_if<(!is_scalar< LHS >()||!is_scalar< RHS >()) &&compatible_element< LHS, RHS >() &&same_static_length< LHS, RHS >(), bool >::type = true> | |||||||
auto | operator+ (const LHS &a, const RHS &b) | ||||||
Addition operator for expressions. | |||||||
auto | copy (const LHS &a) | ||||||
Identity operator for expression. | |||||||
template<typename LHS , typename RHS , typename std::enable_if<(!is_scalar< LHS >()||!is_scalar< RHS >()) &&SameElementType< LHS, RHS >::value &&same_static_length< LHS, RHS >(), bool >::type = true> | |||||||
template<typename LHS , typename RHS , typename std::enable_if<(!is_scalar< LHS >()||!is_scalar< RHS >()) &&compatible_element< LHS, RHS >() &&same_static_length< LHS, RHS >(), bool >::type = true> | |||||||
auto | operator- (const LHS &a, const RHS &b) | ||||||
Subtraction operator for expressions. | |||||||
template<typename LHS , typename RHS , typename std::enable_if<(!is_scalar< LHS >()||!is_scalar< RHS >()) &&SameElementType< LHS, RHS >::value &&same_static_length< LHS, RHS >(), bool >::type = true> | |||||||
template<typename LHS , typename std::enable_if<!is_scalar< LHS >(), bool >::type = true> | |||||||
auto | conjugate (const LHS &a) | ||||||
| |||||||
template<typename LHS , typename RHS , typename std::enable_if<(!is_scalar< LHS >()||!is_scalar< RHS >()) &&compatible_element< LHS, RHS >() &&same_static_length< LHS, RHS >(), bool >::type = true> | |||||||
auto | operator* (const LHS &a, const RHS &b) | ||||||
Element wise multiplication operator for expressions. | |||||||
void | vector_store (const index_t i, const Vector val) const | ||||||
Vector store at index i | |||||||
void | vector_store_tail (const index_t i, const vector_length_t remaining, const Vector val) const | ||||||
Vector store at index i with predicated tail | |||||||
Vector const | vector_op_tail (const index_t i, const vector_length_t remaining) const | ||||||
Vector operation at index i with predicated tail | |||||||
template<typename T = P, typename std::enable_if< vector_traits< T >::has_predicate, bool >::type = true> | |||||||
void | vector_store_tail (const index_t i, const vector_length_t remaining, const Vector val) const | ||||||
Vector store at index i with predicated tail | |||||||
template<typename T = P, typename std::enable_if< vector_traits< T >::has_predicate, bool >::type = true> | |||||||
Vector const | vector_op_tail (const index_t i, const vector_length_t remaining) const | ||||||
Vector operation at index i with predicated tail | |||||||
Vector const | vector_op (const index_t i) const | ||||||
Vector operation at index i | |||||||
void | vector_store (const index_t i, const Vector val) const | ||||||
Vector store at index i | |||||||
void | vector_store_tail (const index_t i, const vector_length_t remaining, const Vector val) const | ||||||
Vector store at index i with predicated tail | |||||||
Vector const | vector_op_tail (const index_t i, const vector_length_t remaining) const | ||||||
Vector operation at index i with predicated tail | |||||||
template<typename T = P, typename std::enable_if< vector_traits< T >::has_predicate, bool >::type = true> | |||||||
void | vector_store_tail (const index_t i, const vector_length_t remaining, const Vector val) const | ||||||
Vector store at index i with predicated tail | |||||||
template<typename T = P, typename std::enable_if< vector_traits< T >::has_predicate, bool >::type = true> | |||||||
Vector const | vector_op_tail (const index_t i, const vector_length_t remaining) const | ||||||
Vector operation at index i with predicated tail | |||||||
Vector const | vector_op (const index_t i) const | ||||||
Vector operation at index i | |||||||
void | vector_store (const index_t i, const Vector val) const | ||||||
Vector store at index i | |||||||
void | vector_store_tail (const index_t i, const vector_length_t remaining, const Vector val) const | ||||||
Vector store at index i with predicated tail | |||||||
Vector const | vector_op_tail (const index_t i, const vector_length_t remaining) const | ||||||
Vector operation at index i with predicated tail | |||||||
template<typename T = P, typename std::enable_if< vector_traits< T >::has_predicate, bool >::type = true> | |||||||
void | vector_store_tail (const index_t i, const vector_length_t remaining, const Vector val) const | ||||||
Vector store at index i with predicated tail | |||||||
template<typename T = P, typename std::enable_if< vector_traits< T >::has_predicate, bool >::type = true> | |||||||
Vector const | vector_op_tail (const index_t i, const vector_length_t remaining) const | ||||||
Vector operation at index i with predicated tail | |||||||
Vector const | vector_op (const index_t i) const | ||||||
Vector operation at index i | |||||||
+
|
+ +inline | +
LHS | Left hand side datatype |
a | Left hand side expression tree |
-vector (including matrix)
+ +C_BinaryOperator< Scalar, Derived > | Unary operator |
►C_BinaryOperator< Scalar, _AddOp< Scalar > > | |
►C_BinaryOperator< Scalar, _MulOp< Scalar > > | |
►C_BinaryOperator< Scalar, _SubOp< Scalar > > | |
C_BinaryOperator< Scalar, DerivedOp > | |
C_BinaryOperator< ScalarLHS, ScalarRHS, Derived > | Unary operator |
►C_BinaryOperator< ScalarLHS, ScalarRHS, _AddOp< ScalarLHS, ScalarRHS > > | |
►C_BinaryOperator< ScalarLHS, ScalarRHS, _MulOp< ScalarLHS, ScalarRHS > > | |
►C_BinaryOperator< ScalarLHS, ScalarRHS, _SubOp< ScalarLHS, ScalarRHS > > | |
C_BinaryOperator< ScalarLHS, ScalarRHS, DerivedOp > | |
C_Expr< T > | Expression template |
►C_Expr< _Binary< LHS, RHS, DerivedOp > > | |
►C_Expr< _Unary< LHS, DerivedOp > > | |
C_UnaryOperator< Scalar, Derived > | Unary operator |
►C_UnaryOperator< Scalar, _NegOp< Scalar > > | |
►C_UnaryOperator< Scalar, _NoOp< Scalar > > | |
C_UnaryOperator< Scalar, DerivedOp > | |
CAccumulate< MD, MS, F, S, bool > | Accumulation without saturation |
CAccumulate< MD, MS, F, S, true > | Accumulation without saturation |
Carm_bilinear_interp_instance_f16 | Instance structure for the floating-point bilinear interpolation function |
Carm_bilinear_interp_instance_f32 | Instance structure for the floating-point bilinear interpolation function |
Carm_bilinear_interp_instance_q15 | Instance structure for the Q15 bilinear interpolation function |
Carm_bilinear_interp_instance_q31 | Instance structure for the Q31 bilinear interpolation function |
Carm_bilinear_interp_instance_q7 | Instance structure for the Q15 bilinear interpolation function |
Carm_biquad_cas_df1_32x64_ins_q31 | Instance structure for the high precision Q31 Biquad cascade filter |
Carm_biquad_cascade_df2T_instance_f16 | Instance structure for the floating-point transposed direct form II Biquad cascade filter |
Carm_biquad_cascade_df2T_instance_f32 | Instance structure for the floating-point transposed direct form II Biquad cascade filter |
Carm_biquad_cascade_df2T_instance_f64 | Instance structure for the floating-point transposed direct form II Biquad cascade filter |
Carm_biquad_cascade_stereo_df2T_instance_f16 | Instance structure for the floating-point transposed direct form II Biquad cascade filter |
Carm_biquad_cascade_stereo_df2T_instance_f32 | Instance structure for the floating-point transposed direct form II Biquad cascade filter |
Carm_biquad_casd_df1_inst_f16 | Instance structure for the floating-point Biquad cascade filter |
Carm_biquad_casd_df1_inst_f32 | Instance structure for the floating-point Biquad cascade filter |
Carm_biquad_casd_df1_inst_q15 | Instance structure for the Q15 Biquad cascade filter |
Carm_biquad_casd_df1_inst_q31 | Instance structure for the Q31 Biquad cascade filter |
Carm_cfft_instance_f16 | Instance structure for the floating-point CFFT/CIFFT function |
Carm_cfft_instance_f32 | Instance structure for the floating-point CFFT/CIFFT function |
Carm_cfft_instance_f64 | Instance structure for the Double Precision Floating-point CFFT/CIFFT function |
Carm_cfft_instance_q15 | Instance structure for the fixed-point CFFT/CIFFT function |
Carm_cfft_instance_q31 | Instance structure for the fixed-point CFFT/CIFFT function |
Carm_cfft_radix2_instance_f16 | Instance structure for the floating-point CFFT/CIFFT function |
Carm_cfft_radix2_instance_f32 | Instance structure for the floating-point CFFT/CIFFT function |
Carm_cfft_radix2_instance_q15 | Instance structure for the Q15 CFFT/CIFFT function |
Carm_cfft_radix2_instance_q31 | Instance structure for the Radix-2 Q31 CFFT/CIFFT function |
Carm_cfft_radix4_instance_f16 | Instance structure for the floating-point CFFT/CIFFT function |
Carm_cfft_radix4_instance_f32 | Instance structure for the floating-point CFFT/CIFFT function |
Carm_cfft_radix4_instance_q15 | Instance structure for the Q15 CFFT/CIFFT function |
Carm_cfft_radix4_instance_q31 | Instance structure for the Q31 CFFT/CIFFT function |
Carm_dct4_instance_f32 | Instance structure for the floating-point DCT4/IDCT4 function |
Carm_dct4_instance_q15 | Instance structure for the Q15 DCT4/IDCT4 function |
Carm_dct4_instance_q31 | Instance structure for the Q31 DCT4/IDCT4 function |
Carm_fir_decimate_instance_f32 | Instance structure for single precision floating-point FIR decimator |
Carm_fir_decimate_instance_f64 | Instance structure for double precision floating-point FIR decimator |
Carm_fir_decimate_instance_q15 | Instance structure for the Q15 FIR decimator |
Carm_fir_decimate_instance_q31 | Instance structure for the Q31 FIR decimator |
Carm_fir_instance_f16 | Instance structure for the floating-point FIR filter |
Carm_fir_instance_f32 | Instance structure for the floating-point FIR filter |
Carm_fir_instance_f64 | Instance structure for the floating-point FIR filter |
Carm_fir_instance_q15 | Instance structure for the Q15 FIR filter |
Carm_fir_instance_q31 | Instance structure for the Q31 FIR filter |
Carm_fir_instance_q7 | Instance structure for the Q7 FIR filter |
Carm_fir_interpolate_instance_f32 | Instance structure for the floating-point FIR interpolator |
Carm_fir_interpolate_instance_q15 | Instance structure for the Q15 FIR interpolator |
Carm_fir_interpolate_instance_q31 | Instance structure for the Q31 FIR interpolator |
Carm_fir_lattice_instance_f32 | Instance structure for the floating-point FIR lattice filter |
Carm_fir_lattice_instance_q15 | Instance structure for the Q15 FIR lattice filter |
Carm_fir_lattice_instance_q31 | Instance structure for the Q31 FIR lattice filter |
Carm_fir_sparse_instance_f32 | Instance structure for the floating-point sparse FIR filter |
Carm_fir_sparse_instance_q15 | Instance structure for the Q15 sparse FIR filter |
Carm_fir_sparse_instance_q31 | Instance structure for the Q31 sparse FIR filter |
Carm_fir_sparse_instance_q7 | Instance structure for the Q7 sparse FIR filter |
Carm_gaussian_naive_bayes_instance_f16 | Instance structure for Naive Gaussian Bayesian estimator |
Carm_gaussian_naive_bayes_instance_f32 | Instance structure for Naive Gaussian Bayesian estimator |
Carm_iir_lattice_instance_f32 | Instance structure for the floating-point IIR lattice filter |
Carm_iir_lattice_instance_q15 | Instance structure for the Q15 IIR lattice filter |
Carm_iir_lattice_instance_q31 | Instance structure for the Q31 IIR lattice filter |
Carm_linear_interp_instance_f16 | Instance structure for the half floating-point Linear Interpolate function |
Carm_linear_interp_instance_f32 | Instance structure for the floating-point Linear Interpolate function |
Carm_lms_instance_f32 | Instance structure for the floating-point LMS filter |
Carm_lms_instance_q15 | Instance structure for the Q15 LMS filter |
Carm_lms_instance_q31 | Instance structure for the Q31 LMS filter |
Carm_lms_norm_instance_f32 | Instance structure for the floating-point normalized LMS filter |
Carm_lms_norm_instance_q15 | Instance structure for the Q15 normalized LMS filter |
Carm_lms_norm_instance_q31 | Instance structure for the Q31 normalized LMS filter |
Carm_matrix_instance_f16 | Instance structure for the floating-point matrix structure |
Carm_matrix_instance_f32 | Instance structure for the floating-point matrix structure |
Carm_matrix_instance_f64 | Instance structure for the floating-point matrix structure |
Carm_matrix_instance_q15 | Instance structure for the Q15 matrix structure |
Carm_matrix_instance_q31 | Instance structure for the Q31 matrix structure |
Carm_matrix_instance_q7 | Instance structure for the Q7 matrix structure |
Carm_merge_sort_instance_f32 | Instance structure for the sorting algorithms |
Carm_mfcc_instance_f16 | Instance structure for the Floating-point MFCC function |
Carm_mfcc_instance_f32 | Instance structure for the Floating-point MFCC function |
Carm_mfcc_instance_q15 | Instance structure for the Q15 MFCC function |
Carm_mfcc_instance_q31 | Instance structure for the Q31 MFCC function |
Carm_pid_instance_f32 | Instance structure for the floating-point PID Control |
Carm_pid_instance_q15 | Instance structure for the Q15 PID Control |
Carm_pid_instance_q31 | Instance structure for the Q31 PID Control |
Carm_rfft_fast_instance_f16 | Instance structure for the floating-point RFFT/RIFFT function |
Carm_rfft_fast_instance_f32 | Instance structure for the floating-point RFFT/RIFFT function |
Carm_rfft_fast_instance_f64 | Instance structure for the Double Precision Floating-point RFFT/RIFFT function |
Carm_rfft_instance_f32 | Instance structure for the floating-point RFFT/RIFFT function |
Carm_rfft_instance_q15 | Instance structure for the Q15 RFFT/RIFFT function |
Carm_rfft_instance_q31 | Instance structure for the Q31 RFFT/RIFFT function |
Carm_sort_instance_f32 | Instance structure for the sorting algorithms |
Carm_spline_instance_f32 | Instance structure for the floating-point cubic spline interpolation |
Carm_svm_linear_instance_f16 | Instance structure for linear SVM prediction function |
Carm_svm_linear_instance_f32 | Instance structure for linear SVM prediction function |
Carm_svm_polynomial_instance_f16 | Instance structure for polynomial SVM prediction function |
Carm_svm_polynomial_instance_f32 | Instance structure for polynomial SVM prediction function |
Carm_svm_rbf_instance_f16 | Instance structure for rbf SVM prediction function |
Carm_svm_rbf_instance_f32 | Instance structure for rbf SVM prediction function |
Carm_svm_sigmoid_instance_f16 | Instance structure for sigmoid SVM prediction function |
Carm_svm_sigmoid_instance_f32 | Instance structure for sigmoid SVM prediction function |
Cdefault_user_allocator_malloc_free | Malloc memory allocator |
Cfixed_storage_type< M, F, s, bool > | Storage type for a fixed point number |
Cfixed_storage_type< M, F, false > | |
Cfixed_storage_type< M, F, false, test16(M, F, 0)> | Storage type for a fixed point number representable on uint16 |
Cfixed_storage_type< M, F, false, test32(M, F, 0)> | Storage type for a fixed point number representable on uint32 |
Cfixed_storage_type< M, F, false, test64(M, F, 0)> | Storage type for a fixed point number representable on uint64 |
Cfixed_storage_type< M, F, false, test8(M, F, 0)> | Storage type for a fixed point number representable on uint8 |
Cfixed_storage_type< M, F, true > | |
Cfixed_storage_type< M, F, true, test16(M, F, 1)> | Storage type for a fixed point number representable on int16 |
Cfixed_storage_type< M, F, true, test32(M, F, 1)> | Storage type for a fixed point number representable on int32 |
Cfixed_storage_type< M, F, true, test64(M, F, 1)> | Storage type for a fixed point number representable on int64 |
Cfixed_storage_type< M, F, true, test8(M, F, 1)> | Storage type for a fixed point number representable on int8 |
CFixedCastShift< M, FD, FS, S,(FD >FS)> | Changed fractional representation of a fixed point number using a shift |
CFixedCastShift< M, FD, FS, S,(FD< FS)> | Changed fractional representation of a fixed point number using a shift |
CListElem | Simple list of elements |
Cmalloc_allocator< L > | Default memory allocator for vectors and matrixes |
CMatrixView< T, S > | Matrix |
CMatrixView< T, DYNAMIC > | Dynamic Matrix View |
CMemoryPool< BUF_SIZE, UserAllocator > | This class describes a memory pool that can be used to build a memory allocator for vectors and matrixes |
Cnumber_traits< T > | Properties of a scalar datatype |
Cnumber_traits< double > | Features for double |
Cnumber_traits< float > | Features for float |
Cnumber_traits< float16_t > | Feature of float16 datatype |
Cnumber_traits< Q15 > | Q15 features |
Cnumber_traits< Q31 > | Features for Q31 |
Cnumber_traits< Q7 > | Q7 features |
Cnumber_traits< std::tuple< E... > > | Number description for a tuple of numbers |
CQ< M, F, S, T > | Fixed point template |
CQ15DSPVector | Representation of a vector when DSP extension supported |
CQ< M, F, false, uint16_t > | Unsigned fixed point datatypes on 16 bits |
CQ< M, F, false, uint32_t > | Unsigned fixed point datatypes on 32 bits |
CQ< M, F, false, uint64_t > | Unsigned fixed point datatypes on 64 bits |
CQ< M, F, false, uint8_t > | Unsigned fixed point datatypes on 8 bits |
CQ< M, F, true, int16_t > | Signed fixed point datatypes on 16 bits |
CQ< M, F, true, int32_t > | Signed fixed point datatypes on 32 bits |
CQ< M, F, true, int64_t > | Signed fixed point datatypes on 64 bits |
CQ< M, F, true, int8_t > | Signed fixed point datatypes on 8 bits |
►CScalar | |
CSlice | Slice |
Cuser_allocator_aligned_malloc | Memory allocation for aligned buffers |
Cvctpq< T, typename > | Predicate (only defined for vector architectures) |
Cvctpq< float > | Vctpq for this datatype |
Cvctpq< float16_t > | Vctpq for Helium and f16 |
►CVector_Base< P > | Storage for a vector |
Cvector_traits< T, arch, typename > | Properties of a vector datatype linked to a scalar datatype |
Cvector_traits< double, arch, void > | Default vector datatype description for this scalar datatype |
Cvector_traits< float, arch, typename std::enable_if< std::is_base_of< Helium, arch >::value >::type > | Vector datatype for Helium |
Cvector_traits< float, arch, typename std::enable_if<!std::is_base_of< Helium, arch >::value &&!std::is_base_of< Neon, arch >::value >::type > | Vector instructions for float when no Helium or Neon |
Cvector_traits< float16_t > | Float16 vector descrition when no vector architecture |
Cvector_traits< float16_t, arch, typename std::enable_if< std::is_base_of< Helium, arch >::value >::type > | Vector features for f16 on Helium |
Cvector_traits< Q15, arch, typename std::enable_if< std::is_base_of< Helium, arch >::value >::type > | Vector features for Q15 on Helium |
Cvector_traits< Q15, arch, typename std::enable_if<!std::is_base_of< Helium, arch >::value &&!std::is_base_of< Neon, arch >::value &&!std::is_base_of< DSP, arch >::value >::type > | Vector features for Q15 when no vector architecture |
Cvector_traits< Q15, DSP, typename std::enable_if< true >::type > | Vector description for Q15 with DSP extensions |
Cvector_traits< Q31, arch, typename std::enable_if<!std::is_base_of< Helium, arch >::value &&!std::is_base_of< Neon, arch >::value >::type > | Vector features for Q31 when no vector instructions |
Cvector_traits< Q7, arch, typename std::enable_if<!std::is_base_of< Helium, arch >::value &&!std::is_base_of< Neon, arch >::value &&!std::is_base_of< DSP, arch >::value >::type > | Vector descrition when no vector architecture |
Cvector_traits< std::tuple< E... >, arch > | Tuple of compatible vectors |
CVectorView< T, stride > | Vector view |
►CVectorView< T, 1 > | |
CVectorView< T, DYNAMIC > | Vector view with dynamic stride (not known at build time) |
Cvload1_gen_stride< S > | Load with generalized stride (gather load) |
Cvload1_gen_stride< 0, 1, 2, 3 > | Load with generalized stride specialized for <0,1,2,3> |
Cvload1_gen_stride_z< S > | Load with generalized stride (gather load) and tail predicate |
Cvload1_gen_stride_z< 0, 1, 2, 3 > | Load with generalized stride (gather load) and tail predicate specialized for <0,1,2,3> |
Cvstore1_gen_stride< S > | Generalized store with strides |
Cvstore1_gen_stride< 0, 1, 2, 3 > | Generalized store with stride (Specialized for <0,1,2,3>) |
Cvstore1_gen_stride_z< S > | Store with generalized strides and tail predicate |
Cvstore1_gen_stride_z< 0, 1, 2, 3 > | Scatter store with tail predicate (specialized for <0,1,2,3>) |
►C_UnaryOperator< Scalar, _ConjugateOp< Scalar > > | |
►C_UnaryOperator< Scalar, _NegOp< Scalar > > | |
►C_UnaryOperator< Scalar, _NoOp< Scalar > > | |
C_UnaryOperator< Scalar, DerivedOp > | |
CAccumulate< MD, MS, F, S, bool > | Accumulation without saturation |
CAccumulate< MD, MS, F, S, true > | Accumulation without saturation |
Carm_bilinear_interp_instance_f16 | Instance structure for the floating-point bilinear interpolation function |
Carm_bilinear_interp_instance_f32 | Instance structure for the floating-point bilinear interpolation function |
Carm_bilinear_interp_instance_q15 | Instance structure for the Q15 bilinear interpolation function |
Carm_bilinear_interp_instance_q31 | Instance structure for the Q31 bilinear interpolation function |
Carm_bilinear_interp_instance_q7 | Instance structure for the Q15 bilinear interpolation function |
Carm_biquad_cas_df1_32x64_ins_q31 | Instance structure for the high precision Q31 Biquad cascade filter |
Carm_biquad_cascade_df2T_instance_f16 | Instance structure for the floating-point transposed direct form II Biquad cascade filter |
Carm_biquad_cascade_df2T_instance_f32 | Instance structure for the floating-point transposed direct form II Biquad cascade filter |
Carm_biquad_cascade_df2T_instance_f64 | Instance structure for the floating-point transposed direct form II Biquad cascade filter |
Carm_biquad_cascade_stereo_df2T_instance_f16 | Instance structure for the floating-point transposed direct form II Biquad cascade filter |
Carm_biquad_cascade_stereo_df2T_instance_f32 | Instance structure for the floating-point transposed direct form II Biquad cascade filter |
Carm_biquad_casd_df1_inst_f16 | Instance structure for the floating-point Biquad cascade filter |
Carm_biquad_casd_df1_inst_f32 | Instance structure for the floating-point Biquad cascade filter |
Carm_biquad_casd_df1_inst_q15 | Instance structure for the Q15 Biquad cascade filter |
Carm_biquad_casd_df1_inst_q31 | Instance structure for the Q31 Biquad cascade filter |
Carm_cfft_instance_f16 | Instance structure for the floating-point CFFT/CIFFT function |
Carm_cfft_instance_f32 | Instance structure for the floating-point CFFT/CIFFT function |
Carm_cfft_instance_f64 | Instance structure for the Double Precision Floating-point CFFT/CIFFT function |
Carm_cfft_instance_q15 | Instance structure for the fixed-point CFFT/CIFFT function |
Carm_cfft_instance_q31 | Instance structure for the fixed-point CFFT/CIFFT function |
Carm_cfft_radix2_instance_f16 | Instance structure for the floating-point CFFT/CIFFT function |
Carm_cfft_radix2_instance_f32 | Instance structure for the floating-point CFFT/CIFFT function |
Carm_cfft_radix2_instance_q15 | Instance structure for the Q15 CFFT/CIFFT function |
Carm_cfft_radix2_instance_q31 | Instance structure for the Radix-2 Q31 CFFT/CIFFT function |
Carm_cfft_radix4_instance_f16 | Instance structure for the floating-point CFFT/CIFFT function |
Carm_cfft_radix4_instance_f32 | Instance structure for the floating-point CFFT/CIFFT function |
Carm_cfft_radix4_instance_q15 | Instance structure for the Q15 CFFT/CIFFT function |
Carm_cfft_radix4_instance_q31 | Instance structure for the Q31 CFFT/CIFFT function |
Carm_dct4_instance_f32 | Instance structure for the floating-point DCT4/IDCT4 function |
Carm_dct4_instance_q15 | Instance structure for the Q15 DCT4/IDCT4 function |
Carm_dct4_instance_q31 | Instance structure for the Q31 DCT4/IDCT4 function |
Carm_fir_decimate_instance_f32 | Instance structure for single precision floating-point FIR decimator |
Carm_fir_decimate_instance_f64 | Instance structure for double precision floating-point FIR decimator |
Carm_fir_decimate_instance_q15 | Instance structure for the Q15 FIR decimator |
Carm_fir_decimate_instance_q31 | Instance structure for the Q31 FIR decimator |
Carm_fir_instance_f16 | Instance structure for the floating-point FIR filter |
Carm_fir_instance_f32 | Instance structure for the floating-point FIR filter |
Carm_fir_instance_f64 | Instance structure for the floating-point FIR filter |
Carm_fir_instance_q15 | Instance structure for the Q15 FIR filter |
Carm_fir_instance_q31 | Instance structure for the Q31 FIR filter |
Carm_fir_instance_q7 | Instance structure for the Q7 FIR filter |
Carm_fir_interpolate_instance_f32 | Instance structure for the floating-point FIR interpolator |
Carm_fir_interpolate_instance_q15 | Instance structure for the Q15 FIR interpolator |
Carm_fir_interpolate_instance_q31 | Instance structure for the Q31 FIR interpolator |
Carm_fir_lattice_instance_f32 | Instance structure for the floating-point FIR lattice filter |
Carm_fir_lattice_instance_q15 | Instance structure for the Q15 FIR lattice filter |
Carm_fir_lattice_instance_q31 | Instance structure for the Q31 FIR lattice filter |
Carm_fir_sparse_instance_f32 | Instance structure for the floating-point sparse FIR filter |
Carm_fir_sparse_instance_q15 | Instance structure for the Q15 sparse FIR filter |
Carm_fir_sparse_instance_q31 | Instance structure for the Q31 sparse FIR filter |
Carm_fir_sparse_instance_q7 | Instance structure for the Q7 sparse FIR filter |
Carm_gaussian_naive_bayes_instance_f16 | Instance structure for Naive Gaussian Bayesian estimator |
Carm_gaussian_naive_bayes_instance_f32 | Instance structure for Naive Gaussian Bayesian estimator |
Carm_iir_lattice_instance_f32 | Instance structure for the floating-point IIR lattice filter |
Carm_iir_lattice_instance_q15 | Instance structure for the Q15 IIR lattice filter |
Carm_iir_lattice_instance_q31 | Instance structure for the Q31 IIR lattice filter |
Carm_linear_interp_instance_f16 | Instance structure for the half floating-point Linear Interpolate function |
Carm_linear_interp_instance_f32 | Instance structure for the floating-point Linear Interpolate function |
Carm_lms_instance_f32 | Instance structure for the floating-point LMS filter |
Carm_lms_instance_q15 | Instance structure for the Q15 LMS filter |
Carm_lms_instance_q31 | Instance structure for the Q31 LMS filter |
Carm_lms_norm_instance_f32 | Instance structure for the floating-point normalized LMS filter |
Carm_lms_norm_instance_q15 | Instance structure for the Q15 normalized LMS filter |
Carm_lms_norm_instance_q31 | Instance structure for the Q31 normalized LMS filter |
Carm_matrix_instance_f16 | Instance structure for the floating-point matrix structure |
Carm_matrix_instance_f32 | Instance structure for the floating-point matrix structure |
Carm_matrix_instance_f64 | Instance structure for the floating-point matrix structure |
Carm_matrix_instance_q15 | Instance structure for the Q15 matrix structure |
Carm_matrix_instance_q31 | Instance structure for the Q31 matrix structure |
Carm_matrix_instance_q7 | Instance structure for the Q7 matrix structure |
Carm_merge_sort_instance_f32 | Instance structure for the sorting algorithms |
Carm_mfcc_instance_f16 | Instance structure for the Floating-point MFCC function |
Carm_mfcc_instance_f32 | Instance structure for the Floating-point MFCC function |
Carm_mfcc_instance_q15 | Instance structure for the Q15 MFCC function |
Carm_mfcc_instance_q31 | Instance structure for the Q31 MFCC function |
Carm_pid_instance_f32 | Instance structure for the floating-point PID Control |
Carm_pid_instance_q15 | Instance structure for the Q15 PID Control |
Carm_pid_instance_q31 | Instance structure for the Q31 PID Control |
Carm_rfft_fast_instance_f16 | Instance structure for the floating-point RFFT/RIFFT function |
Carm_rfft_fast_instance_f32 | Instance structure for the floating-point RFFT/RIFFT function |
Carm_rfft_fast_instance_f64 | Instance structure for the Double Precision Floating-point RFFT/RIFFT function |
Carm_rfft_instance_f32 | Instance structure for the floating-point RFFT/RIFFT function |
Carm_rfft_instance_q15 | Instance structure for the Q15 RFFT/RIFFT function |
Carm_rfft_instance_q31 | Instance structure for the Q31 RFFT/RIFFT function |
Carm_sort_instance_f32 | Instance structure for the sorting algorithms |
Carm_spline_instance_f32 | Instance structure for the floating-point cubic spline interpolation |
Carm_svm_linear_instance_f16 | Instance structure for linear SVM prediction function |
Carm_svm_linear_instance_f32 | Instance structure for linear SVM prediction function |
Carm_svm_polynomial_instance_f16 | Instance structure for polynomial SVM prediction function |
Carm_svm_polynomial_instance_f32 | Instance structure for polynomial SVM prediction function |
Carm_svm_rbf_instance_f16 | Instance structure for rbf SVM prediction function |
Carm_svm_rbf_instance_f32 | Instance structure for rbf SVM prediction function |
Carm_svm_sigmoid_instance_f16 | Instance structure for sigmoid SVM prediction function |
Carm_svm_sigmoid_instance_f32 | Instance structure for sigmoid SVM prediction function |
CComplexVector< T > | Vector containing complex values and not just real values but with same number of lanes than a normal float vector |
Cdefault_user_allocator_malloc_free | Malloc memory allocator |
CDual< T > | Dual representation for complex |
Cfixed_storage_type< M, F, s, bool > | Storage type for a fixed point number |
Cfixed_storage_type< M, F, false > | |
Cfixed_storage_type< M, F, false, test16(M, F, 0)> | Storage type for a fixed point number representable on uint16 |
Cfixed_storage_type< M, F, false, test32(M, F, 0)> | Storage type for a fixed point number representable on uint32 |
Cfixed_storage_type< M, F, false, test64(M, F, 0)> | Storage type for a fixed point number representable on uint64 |
Cfixed_storage_type< M, F, false, test8(M, F, 0)> | Storage type for a fixed point number representable on uint8 |
Cfixed_storage_type< M, F, true > | |
Cfixed_storage_type< M, F, true, test16(M, F, 1)> | Storage type for a fixed point number representable on int16 |
Cfixed_storage_type< M, F, true, test32(M, F, 1)> | Storage type for a fixed point number representable on int32 |
Cfixed_storage_type< M, F, true, test64(M, F, 1)> | Storage type for a fixed point number representable on int64 |
Cfixed_storage_type< M, F, true, test8(M, F, 1)> | Storage type for a fixed point number representable on int8 |
CFixedCastShift< M, FD, FS, S,(FD >FS)> | Changed fractional representation of a fixed point number using a shift |
CFixedCastShift< M, FD, FS, S,(FD< FS)> | Changed fractional representation of a fixed point number using a shift |
CFloatType< E > | Check if datatype are compatible and accept mixed arithmetic complex with real |
CHalfComplexVector< T > | Vector of complex but with half lanes compared to real (2 complex) |
CListElem | Simple list of elements |
Cmalloc_allocator< L > | Default memory allocator for vectors and matrixes |
CMatrixView< T, S > | Matrix |
CMatrixView< T, DYNAMIC > | Dynamic Matrix View |
CMemoryPool< BUF_SIZE, UserAllocator > | This class describes a memory pool that can be used to build a memory allocator for vectors and matrixes |
Cnumber_traits< T > | Properties of a scalar datatype |
Cnumber_traits< double > | Features for double |
Cnumber_traits< float > | Features for float |
Cnumber_traits< float16_t > | Feature of float16 datatype |
Cnumber_traits< Q15 > | Q15 features |
Cnumber_traits< Q31 > | Features for Q31 |
Cnumber_traits< Q7 > | Q7 features |
Cnumber_traits< std::complex< double > > | Features for complex double |
Cnumber_traits< std::complex< float > > | Features for complex float |
Cnumber_traits< std::complex< float16_t > > | Feature for complex float16 |
Cnumber_traits< std::complex< Q15 > > | Features for complex Q15 |
Cnumber_traits< std::complex< Q31 > > | Features for complex Q31 |
Cnumber_traits< std::complex< Q7 > > | Features for Complex Q7 |
Cnumber_traits< std::tuple< E... > > | Number description for a tuple of numbers |
CQ< M, F, S, T > | Fixed point template |
CQ15DSPVector | Representation of a vector when DSP extension supported |
CQ< M, F, false, uint16_t > | Unsigned fixed point datatypes on 16 bits |
CQ< M, F, false, uint32_t > | Unsigned fixed point datatypes on 32 bits |
CQ< M, F, false, uint64_t > | Unsigned fixed point datatypes on 64 bits |
CQ< M, F, false, uint8_t > | Unsigned fixed point datatypes on 8 bits |
CQ< M, F, true, int16_t > | Signed fixed point datatypes on 16 bits |
CQ< M, F, true, int32_t > | Signed fixed point datatypes on 32 bits |
CQ< M, F, true, int64_t > | Signed fixed point datatypes on 64 bits |
CQ< M, F, true, int8_t > | Signed fixed point datatypes on 8 bits |
►CScalar | |
CSlice | Slice |
Cuser_allocator_aligned_malloc | Memory allocation for aligned buffers |
Cvctpq< T, typename > | Predicate (only defined for vector architectures) |
Cvctpq< float > | Vctpq for this datatype |
Cvctpq< float16_t > | Vctpq for Helium and f16 |
►CVector_Base< P > | Storage for a vector |
Cvector_traits< T, arch, typename > | Properties of a vector datatype linked to a scalar datatype |
Cvector_traits< double, arch, void > | Default vector datatype description for this scalar datatype |
Cvector_traits< float, arch, typename std::enable_if< std::is_base_of< Helium, arch >::value >::type > | Vector datatype for Helium |
Cvector_traits< float, arch, typename std::enable_if<!std::is_base_of< Helium, arch >::value &&!std::is_base_of< Neon, arch >::value >::type > | Vector instructions for float when no Helium or Neon |
Cvector_traits< float16_t > | Float16 vector descrition when no vector architecture |
Cvector_traits< float16_t, arch, typename std::enable_if< std::is_base_of< Helium, arch >::value >::type > | Vector features for f16 on Helium |
Cvector_traits< Q15, arch, typename std::enable_if< std::is_base_of< Helium, arch >::value >::type > | Vector features for Q15 on Helium |
Cvector_traits< Q15, arch, typename std::enable_if<!std::is_base_of< Helium, arch >::value &&!std::is_base_of< Neon, arch >::value &&!std::is_base_of< DSP, arch >::value >::type > | Vector features for Q15 when no vector architecture |
Cvector_traits< Q15, DSP, typename std::enable_if< true >::type > | Vector description for Q15 with DSP extensions |
Cvector_traits< Q31, arch, typename std::enable_if<!std::is_base_of< Helium, arch >::value &&!std::is_base_of< Neon, arch >::value >::type > | Vector features for Q31 when no vector instructions |
Cvector_traits< Q7, arch, typename std::enable_if<!std::is_base_of< Helium, arch >::value &&!std::is_base_of< Neon, arch >::value &&!std::is_base_of< DSP, arch >::value >::type > | Vector descrition when no vector architecture |
Cvector_traits< std::complex< double >, arch, void > | Default vector datatype description for this scalar datatype |
Cvector_traits< std::complex< float >, arch, typename std::enable_if< std::is_base_of< Helium, arch >::value >::type > | Vector datatype for Helium |
Cvector_traits< std::complex< float >, arch, typename std::enable_if<!std::is_base_of< Helium, arch >::value &&!std::is_base_of< Neon, arch >::value >::type > | Vector instructions for complex float when no Helium or Neon |
Cvector_traits< std::complex< float16_t >, arch, typename std::enable_if< std::is_base_of< Helium, arch >::value >::type > | Vector datatype for Helium |
Cvector_traits< std::complex< float16_t >, arch, typename std::enable_if<!std::is_base_of< Helium, arch >::value &&!std::is_base_of< Neon, arch >::value >::type > | Float16 vector descrition when no vector architecture |
Cvector_traits< std::complex< Q15 >, arch, typename std::enable_if<!std::is_base_of< Helium, arch >::value &&!std::is_base_of< Neon, arch >::value >::type > | Vector features for Q15 when no vector architecture |
Cvector_traits< std::complex< Q31 >, arch, typename std::enable_if<!std::is_base_of< Helium, arch >::value &&!std::is_base_of< Neon, arch >::value >::type > | Vector features for std::complex<Q31> when no vector instructions |
Cvector_traits< std::complex< Q7 >, arch, void > | Vector descrition when no vector architecture |
Cvector_traits< std::tuple< E... >, arch > | Tuple of compatible vectors |
CVectorView< T, stride > | Vector view |
►CVectorView< T, 1 > | |
CVectorView< T, DYNAMIC > | Vector view with dynamic stride (not known at build time) |
Cvload1_gen_stride< float32_t, 0, 1, 2, 3 > | Load with generalized stride specialized for <0,1,2,3> |
Cvload1_gen_stride< std::complex< float >, 0, 1, 2, 3 > | Load with generalized stride specialized for <0,1,2,3> |
Cvload1_gen_stride< std::complex< float16_t >, 0, 1, 2, 3, 4, 5, 6, 7 > | Load with generalized stride specialized for <0,1,2,3,4,5,6,7> |
Cvload1_gen_stride_z< float32_t, 0, 1, 2, 3 > | Load with generalized stride (gather load) and tail predicate specialized for <0,1,2,3> |
Cvstore1_gen_stride< float32_t, 0, 1, 2, 3 > | Generalized store with stride (Specialized for <0,1,2,3>) |
Cvstore1_gen_stride< std::complex< float16_t >, 0, 1, 2, 3, 4, 5, 6, 7 > | Generalized store with stride (Specialized for <0,1,2,3>) |
Cvstore1_gen_stride< std::complex< float32_t >, 0, 1, 2, 3 > | Generalized store with stride (Specialized for <0,1,2,3>) |
Cvstore1_gen_stride_z< float32_t, 0, 1, 2, 3 > | Scatter store with tail predicate (specialized for <0,1,2,3>) |
#include <memory>
#include <cstring>
#include <algorithm>
#include <iostream>
#include "common.hpp"
#include "arch.hpp"
#include <type_traits>
#include <memory>
#include <cstring>
#include <algorithm>
#include <iostream>
#include "common.hpp"
#include "arch.hpp"
#include <type_traits>
#include "arm_helium_utils.h"