LIBINT
2.1.0-stable
|
SIMD vector of 2 double-precision floating-point real numbers, operations on which use SSE2 instructions available on all recent x86 hardware. More...
#include <vector_x86.h>
Public Types | |
typedef double | T |
Public Member Functions | |
VectorSSEDouble () | |
creates a vector of default-initialized values. | |
VectorSSEDouble (T a) | |
Initializes all elements to the same value. More... | |
VectorSSEDouble (T(&a)[2]) | |
creates a vector of values initialized by an ordinary static-sized array | |
VectorSSEDouble (T a0, T a1) | |
creates a vector of values initialized by an ordinary static-sized array | |
VectorSSEDouble (__m128d a) | |
converts a 128-bit SSE double vector type to VectorSSEDouble | |
VectorSSEDouble & | operator= (T a) |
VectorSSEDouble & | operator+= (VectorSSEDouble a) |
VectorSSEDouble & | operator-= (VectorSSEDouble a) |
VectorSSEDouble | operator- () const |
operator double () const | |
operator __m128d () const | |
implicit conversion to SSE 128-bit "register" | |
void | load (T const *a) |
loads a to this | |
void | load_aligned (T const *a) |
loads a to this More... | |
void | convert (T *a) const |
writes this to a | |
void | convert_aligned (T *a) const |
writes this to a More... | |
Public Attributes | |
__m128d | d |
SIMD vector of 2 double-precision floating-point real numbers, operations on which use SSE2 instructions available on all recent x86 hardware.
|
inline |
Initializes all elements to the same value.
a | the value to which all elements will be set |
|
inline |
writes this
to a
a
must be aligned to 16 bytes References libint2::fma_minus(), libint2::fma_plus(), and libint2::operator*().
|
inline |
loads a
to this
a
must be aligned to 16 bytes Referenced by libint2::FmEval_Chebyshev3< Real >::eval(), and libint2::FmEval_Chebyshev7< Real >::eval().