libsimdpp  0.9.3
simdpp::float32x4 Class Reference

Class representing float32x4 vector. More...

Public Types

typedef float element_type
 
typedef uint32_t uint_element_type
 
typedef basic_int32x4 int_vector_type
 
typedef uint32x4 uint_vector_type
 
typedef mask_float32x4 mask_type
 

Public Member Functions

 float32x4 ()
 
 float32x4 (const float32x4 &d)
 
float32x4operator= (const float32x4 &d)
 

Static Public Member Functions

static float32x4 zero ()
 Construct from the underlying vector type. More...
 
static float32x4 load_broadcast (const float *v0)
 Creates a float32x4 vector from a value loaded from memory. More...
 
static float32x4 set_broadcast (float v0)
 Creates a float32x4 vector from a value stored in a core register. More...
 
static float32x4 make_const (float v0)
 Creates a float32x4 vector from a value known at compile-time. More...
 
static float32x4 make_const (float v0, float v1)
 Creates a float32x4 vector from two values known at compile-time. More...
 
static float32x4 make_const (float v0, float v1, float v2, float v3)
 Creates a float32x4 vector from four values known at compile-time. More...
 

Static Public Attributes

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

Detailed Description

Class representing float32x4 vector.

Member Typedef Documentation

Constructor & Destructor Documentation

simdpp::float32x4::float32x4 ( )
inline
simdpp::float32x4::float32x4 ( const float32x4 d)
inline

Member Function Documentation

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

Creates a float32x4 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 float32x4 simdpp::float32x4::make_const ( float  v0)
static

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

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

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

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

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

| 0 1 2 3 |
r = [ v0 v1 v2 v3 ]
float32x4& simdpp::float32x4::operator= ( const float32x4 d)
inline
static float32x4 simdpp::float32x4::set_broadcast ( float  v0)
static

Creates a float32x4 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 float32x4 simdpp::float32x4::zero ( )
static

Construct from the underlying vector type.

Convert to underlying vector type Construct from compatible int32x4 integer vector type Creates a float32x4 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::float32x4::all_bits = 0xffffffff
static
const unsigned simdpp::float32x4::length = 4
static
const unsigned simdpp::float32x4::num_bits = 32
static

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