libsimdpp  0.9.3
simdpp::float32x8 Class Reference

Public Types

typedef float element_type
 
typedef uint32_t uint_element_type
 
typedef basic_int32x8 int_vector_type
 
typedef uint32x8 uint_vector_type
 
typedef float32x4 half_vector_type
 
typedef mask_float32x8 mask_type
 

Public Member Functions

 float32x8 ()
 
 float32x8 (const float32x8 &d)
 
float32x8operator= (const float32x8 &d)
 
 float32x8 (float32x4 d0, float32x4 d1)
 
const float32x4operator[] (unsigned i) const
 
float32x4operator[] (unsigned i)
 
 float32x8 (basic_int32x8 d)
 Construct from the underlying vector type. More...
 
float32x8operator= (basic_int32x8 d)
 Construct from the underlying vector type. More...
 

Static Public Member Functions

static float32x8 zero ()
 Creates a float32x8 vector with the contents set to zero. More...
 
static float32x8 load_broadcast (const float *v0)
 Creates a float32x8 vector from a value loaded from memory. More...
 
static float32x8 set_broadcast (float v0)
 Creates a float32x8 vector from a value stored in a core register. More...
 
static float32x8 make_const (float v0)
 Creates a float32x8 vector from a value known at compile-time. More...
 
static float32x8 make_const (float v0, float v1)
 Creates a float32x8 vector from two values known at compile-time. More...
 
static float32x8 make_const (float v0, float v1, float v2, float v3)
 Creates a float32x8 vector from four values known at compile-time. More...
 
static float32x8 make_const (float v0, float v1, float v2, float v3, float v4, float v5, float v6, float v7)
 Creates a float32x8 vector from four values known at compile-time. More...
 

Static Public Attributes

static const unsigned length = 8
 
static const unsigned num_bits = 32
 
static const uint_element_type all_bits = 0xffffffff
 

Detailed Description

Class representing a float32x8 vector

Member Typedef Documentation

Constructor & Destructor Documentation

simdpp::float32x8::float32x8 ( )
inline
simdpp::float32x8::float32x8 ( const float32x8 d)
inline
simdpp::float32x8::float32x8 ( basic_int32x8  d)
inlineexplicit

Construct from the underlying vector type.

Convert to underlying vector type Construct from compatible int32x8 integer vector type

simdpp::float32x8::float32x8 ( float32x4  d0,
float32x4  d1 
)
inline

Member Function Documentation

static float32x8 simdpp::float32x8::load_broadcast ( const float *  v0)
static

Creates a float32x8 vector from a value loaded from memory.

| 0 1 2 3 |
r = [ v0 v0 v0 v0 ]
  • In SSE2-SSE4.1 this intrinsic results in at least 2 instructions.
static float32x8 simdpp::float32x8::make_const ( float  v0)
static

Creates a float32x8 vector from a value known at compile-time.

| 0 1 2 3 |
r = [ v0 v0 v0 v0 ]
static float32x8 simdpp::float32x8::make_const ( float  v0,
float  v1 
)
static

Creates a float32x8 vector from two values known at compile-time.

| 0 1 2 3 |
r = [ v0 v1 v0 v1 ]
static float32x8 simdpp::float32x8::make_const ( float  v0,
float  v1,
float  v2,
float  v3 
)
static

Creates a float32x8 vector from four values known at compile-time.

| 0 1 2 3 |
r = [ v0 v1 v2 v3 ]
static float32x8 simdpp::float32x8::make_const ( float  v0,
float  v1,
float  v2,
float  v3,
float  v4,
float  v5,
float  v6,
float  v7 
)
static

Creates a float32x8 vector from four values known at compile-time.

| 0 1 ... 7 |
r = [ v0 v1 ... v7 ]
float32x8& simdpp::float32x8::operator= ( const float32x8 d)
inline
float32x8& simdpp::float32x8::operator= ( basic_int32x8  d)
inline

Construct from the underlying vector type.

Convert to underlying vector type Construct from compatible int32x8 integer vector type

const float32x4& simdpp::float32x8::operator[] ( unsigned  i) const
inline
float32x4& simdpp::float32x8::operator[] ( unsigned  i)
inline
static float32x8 simdpp::float32x8::set_broadcast ( float  v0)
static

Creates a float32x8 vector from a value stored in a core register.

| 0 1 2 3 |
r = [ v0 v0 v0 v0 ]
  • In SSE2-SSE4.1 this intrinsic results in at least 2 instructions.
  • In NEON this intrinsic results in at least 2 instructions.
static float32x8 simdpp::float32x8::zero ( )
static

Creates a float32x8 vector with the contents set to zero.

r0 = 0.0f
r1 = 0.0f
r2 = 0.0f
r3 = 0.0f

Member Data Documentation

const uint_element_type simdpp::float32x8::all_bits = 0xffffffff
static
const unsigned simdpp::float32x8::length = 8
static
const unsigned simdpp::float32x8::num_bits = 32
static

The documentation for this class was generated from the following file: