CMSIS-DSP  
CMSIS DSP Software Library
 
Loading...
Searching...
No Matches

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...
 

Description


Data Structure Documentation

◆ vector_traits< std::complex< float16_t >, arch, typename std::enable_if< std::is_base_of< Helium, arch >::value >::type >

struct vector_traits< std::complex< float16_t >, arch, typename std::enable_if< std::is_base_of< Helium, arch >::value >::type >
template<typename arch>
struct vector_traits< std::complex< float16_t >, arch, typename std::enable_if< std::is_base_of< Helium, arch >::value >::type >

Vector datatype for Helium.

Template Parameters
archCurrent 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.
 

Member Function Documentation

◆ temp_acc_zero()

static ComplexVector< float16x8_t > temp_acc_zero ( )
inlinestatic

Temp accumulator initialized to 0.

Returns
Temp accumulator initialized to 0

◆ inner::vload1_gen_stride< std::complex< float16_t >, 0, 1, 2, 3, 4, 5, 6, 7 >

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.
 

Member Function Documentation

◆ run()

static ComplexVector< float16x8_t > run ( const std::complex< float16_t > *  p)
inlinestatic

Load with generalized stride.

Parameters
[in]pLoad address
Returns
Loaded vector

◆ inner::vstore1_gen_stride< std::complex< float16_t >, 0, 1, 2, 3, 4, 5, 6, 7 >

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.
 

Member Function Documentation

◆ run()

static void run ( std::complex< float16_t > *  p,
const ComplexVector< float16x8_t > &  val 
)
inlinestatic

Scatter store.

Parameters
pStore address
[in]valValue to store