Free Electron
Public Member Functions | Protected Attributes | List of all members
fe::Vector< FE_VDIM, F32 > Class Template Reference

Fully specialized 3 or 4 component F32 vector using GNU SIMD. More...

#include <VectorNf_gnu.h>

Public Member Functions

template<int N, typename T >
 Vector (const Vector< N, T > &other)
 
 Vector (const Vector< FE_VDIM, F32 > &other)
 
 Vector (const F32 *array)
 
template<typename T , typename U >
 Vector (T x, U y)
 
template<typename T , typename U , typename V >
 Vector (T x, U y, V z)
 
template<typename T , typename U , typename V , typename W >
 Vector (T x, U y, V z, W w)
 
Vector< FE_VDIM, F32 > & operator= (const F32 *array)
 
template<typename T >
Vector< FE_VDIM, F32 > & operator= (const Vector< 3, T > &other)
 
template<typename T >
Vector< FE_VDIM, F32 > & operator= (const Vector< 2, T > &other)
 
template<typename T >
Vector< FE_VDIM, F32 > & operator= (const Vector< 1, T > &other)
 
template<int N, typename T >
Vector< FE_VDIM, F32 > & operator= (const Vector< N, T > &other)
 
Vector< FE_VDIM, F32 > & operator= (const Vector< FE_VDIM, F32 > &other)
 
BWORD operator== (const Vector< FE_VDIM, F32 > &other)
 
BWORD operator!= (const Vector< FE_VDIM, F32 > &other)
 
F32 operator[] (U32 index) const
 
F32 & operator[] (U32 index)
 Access internal component. More...
 
template<typename T , typename U , typename V , typename W >
Vector< FE_VDIM, F32 > & set4 (T x, U y, V z, W w)
 
template<typename T >
void get4 (T array[4])
 
const Raw temp (void) const
 
const v4sf & simd (void) const
 
v4sf & simd (void)
 
void checkValid (void) const
 

Protected Attributes

union fe::Vector< FE_VDIM, F32 >:: { ... }  
 

Detailed Description

template<>
class fe::Vector< FE_VDIM, F32 >

Fully specialized 3 or 4 component F32 vector using GNU SIMD.

Member Function Documentation

◆ checkValid()

void fe::Vector< FE_VDIM, F32 >::checkValid ( void  ) const
inline

◆ operator[]()

F32& fe::Vector< FE_VDIM, F32 >::operator[] ( U32  index)
inline

Access internal component.

Warning, this provides internal access and should be limited to immediate use only.

◆ simd() [1/2]

const v4sf& fe::Vector< FE_VDIM, F32 >::simd ( void  ) const
inline

◆ simd() [2/2]

v4sf& fe::Vector< FE_VDIM, F32 >::simd ( void  )
inline

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