libsimdpp  0.9.3
simdpp::float64x4 Class Reference

Public Types

typedef double element_type
 
typedef uint64_t uint_element_type
 
typedef basic_int64x4 int_vector_type
 
typedef uint64x4 uint_vector_type
 
typedef float64x2 half_vector_type
 
typedef mask_float64x4 mask_type
 

Public Member Functions

 float64x4 ()
 
 float64x4 (const float64x4 &d)
 
float64x4operator= (const float64x4 &d)
 
 float64x4 (float64x2 d0, float64x2 d1)
 
const float64x2operator[] (unsigned i) const
 
float64x2operator[] (unsigned i)
 
 float64x4 (basic_int64x4 d)
 Construct from the underlying vector type. More...
 
float64x4operator= (basic_int64x4 d)
 Construct from the underlying vector type. More...
 

Static Public Member Functions

static float64x4 zero ()
 Creates a float64x4 vector with the contens set to zero. More...
 
static float64x4 load_broadcast (const double *v0)
 Creates a float64x4 vector from a value loaded from memory. More...
 
static float64x4 set_broadcast (double v0)
 Creates a float64x4 vector from a value stored in a core register. More...
 
static float64x4 make_const (double v0)
 Creates a float64x4 vector from a value known at compile-time. More...
 
static float64x4 make_const (double v0, double v1)
 Creates a float64x4 vector from two values known at compile-time. More...
 
static float64x4 make_const (double v0, double v1, double v2, double v3)
 Creates a float64x4 vector from four values known at compile-time. More...
 

Static Public Attributes

static const unsigned length = 4
 
static const unsigned num_bits = 64
 
static const uint_element_type all_bits = 0xffffffffffffffff
 

Detailed Description

Class representing float64x4 vector

Member Typedef Documentation

Constructor & Destructor Documentation

simdpp::float64x4::float64x4 ( )
inline
simdpp::float64x4::float64x4 ( const float64x4 d)
inline
simdpp::float64x4::float64x4 ( basic_int64x4  d)
inlineexplicit

Construct from the underlying vector type.

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

simdpp::float64x4::float64x4 ( float64x2  d0,
float64x2  d1 
)
inline

Member Function Documentation

static float64x4 simdpp::float64x4::load_broadcast ( const double *  v0)
static

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

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

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

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

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

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

| 0 1 2 3 |
r = [ v0 v1 v2 v3 ]
float64x4& simdpp::float64x4::operator= ( const float64x4 d)
inline
float64x4& simdpp::float64x4::operator= ( basic_int64x4  d)
inline

Construct from the underlying vector type.

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

const float64x2& simdpp::float64x4::operator[] ( unsigned  i) const
inline
float64x2& simdpp::float64x4::operator[] ( unsigned  i)
inline
static float64x4 simdpp::float64x4::set_broadcast ( double  v0)
static

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

Creates a float64x4 vector with the contens set to zero.

r0 = 0.0
...
r7 = 0.0

Member Data Documentation

const uint_element_type simdpp::float64x4::all_bits = 0xffffffffffffffff
static
const unsigned simdpp::float64x4::length = 4
static
const unsigned simdpp::float64x4::num_bits = 64
static

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