|
| vfloat8 () |
| Default constructor (contents undefined) More...
|
|
| vfloat8 (float a) |
| Construct from a single value (store it in all slots) More...
|
|
| vfloat8 (float a, float b, float c, float d, float e, float f, float g, float h) |
| Construct from 8 values. More...
|
|
| vfloat8 (const float *f) |
| Construct from a pointer to 8 values. More...
|
|
| vfloat8 (const vfloat8 &other) |
| Copy construct from another vfloat8. More...
|
|
| vfloat8 (const vint8 &ival) |
| Construct from an int vector (promoting all components to float) More...
|
|
| vfloat8 (const vfloat4 &lo, const vfloat4 &hi) |
| Construct from two vfloat4's. More...
|
|
| vfloat8 (const simd_t &m) |
| Construct from the underlying SIMD type. More...
|
|
| operator simd_t () const |
| Return the raw SIMD type. More...
|
|
simd_t | simd () const |
|
simd_t & | simd () |
|
const value_t * | data () const |
| Return a pointer to the underlying scalar type. More...
|
|
value_t * | data () |
|
| vfloat8 (const unsigned short *vals) |
| Construct from a pointer to unsigned short values. More...
|
|
| vfloat8 (const short *vals) |
| Construct from a pointer to short values. More...
|
|
| vfloat8 (const unsigned char *vals) |
| Construct from a pointer to unsigned char values. More...
|
|
| vfloat8 (const char *vals) |
| Construct from a pointer to char values. More...
|
|
const vfloat8 & | operator= (float a) |
| Assign a single value to all components. More...
|
|
const vfloat8 & | operator= (vfloat8 other) |
| Assign a vfloat8. More...
|
|
void | clear () |
| Set all components to 0.0. More...
|
|
float | operator[] (int i) const |
| Component access (get) More...
|
|
float & | operator[] (int i) |
| Component access (set) More...
|
|
void | setcomp (int i, float value) |
| Component access (set). More...
|
|
value_t | x () const |
|
value_t | y () const |
|
value_t | z () const |
|
value_t | w () const |
|
void | set_x (value_t val) |
|
void | set_y (value_t val) |
|
void | set_z (value_t val) |
|
void | set_w (value_t val) |
|
vfloat4 | lo () const |
| Extract the lower precision vfloat4. More...
|
|
vfloat4 | hi () const |
| Extract the higher precision vfloat4. More...
|
|
void | load (float val) |
| Helper: load a single value into all components. More...
|
|
void | load (float a, float b, float c, float d, float e, float f, float g, float h) |
| Helper: load 8 values. More...
|
|
void | load (const float *values) |
| Load from an array of values. More...
|
|
void | load (const float *values, int n) |
|
void | load (const unsigned short *values) |
| Load from an array of 8 unsigned short values, convert to float. More...
|
|
void | load (const short *values) |
| Load from an array of 8 short values, convert to float. More...
|
|
void | load (const unsigned char *values) |
| Load from an array of 8 unsigned char values, convert to float. More...
|
|
void | load (const char *values) |
| Load from an array of 8 char values, convert to float. More...
|
|
void | store (float *values) const |
|
void | store (float *values, int n) const |
| Store the first n values into memory. More...
|
|
void | load_mask (int mask, const value_t *values) |
|
void | load_mask (const vbool_t &mask, const value_t *values) |
|
void | store_mask (int mask, value_t *values) const |
|
void | store_mask (const vbool_t &mask, value_t *values) const |
|
template<int scale = 4> |
void | gather (const value_t *baseptr, const vint_t &vindex) |
| Load values from addresses (char*)basepatr + vindex[i]*scale. More...
|
|
template<int scale = 4> |
void | gather_mask (const vbool_t &mask, const value_t *baseptr, const vint_t &vindex) |
|
template<int scale = 4> |
void | gather_mask (int mask, const value_t *baseptr, const vint_t &vindex) |
|
template<int scale = 4> |
void | scatter (value_t *baseptr, const vint_t &vindex) const |
| Store values at addresses (char*)basepatr + vindex[i]*scale. More...
|
|
template<int scale = 4> |
void | scatter_mask (const vbool_t &mask, value_t *baseptr, const vint_t &vindex) const |
| Scatter elements defined by the mask. More...
|
|
template<int scale = 4> |
void | scatter_mask (int mask, value_t *baseptr, const vint_t &vindex) const |
|
template<int scale> |
OIIO_FORCEINLINE void | gather (const value_t *baseptr, const vint_t &vindex) |
|
template<int scale> |
OIIO_FORCEINLINE void | gather_mask (const vbool_t &mask, const value_t *baseptr, const vint_t &vindex) |
|
template<int scale> |
OIIO_FORCEINLINE void | scatter (value_t *baseptr, const vint_t &vindex) const |
|
template<int scale> |
OIIO_FORCEINLINE void | scatter_mask (const vbool_t &mask, value_t *baseptr, const vint_t &vindex) const |
|
|
vfloat8 | operator+ (const vfloat8 &a, const vfloat8 &b) |
|
vfloat8 | operator- (const vfloat8 &a) |
|
vfloat8 | operator- (const vfloat8 &a, const vfloat8 &b) |
|
vfloat8 | operator* (const vfloat8 &a, const vfloat8 &b) |
|
vfloat8 | operator* (const vfloat8 &a, float b) |
|
vfloat8 | operator* (float a, const vfloat8 &b) |
|
vfloat8 | operator/ (const vfloat8 &a, const vfloat8 &b) |
|
vfloat8 | operator% (const vfloat8 &a, const vfloat8 &b) |
|
const vfloat8 & | operator+= (vfloat8 &a, const vfloat8 &b) |
|
const vfloat8 & | operator-= (vfloat8 &a, const vfloat8 &b) |
|
const vfloat8 & | operator*= (vfloat8 &a, const vfloat8 &b) |
|
const vfloat8 & | operator/= (vfloat8 &a, const vfloat8 &b) |
|
vbool8 | operator== (const vfloat8 &a, const vfloat8 &b) |
|
vbool8 | operator!= (const vfloat8 &a, const vfloat8 &b) |
|
vbool8 | operator< (const vfloat8 &a, const vfloat8 &b) |
|
vbool8 | operator> (const vfloat8 &a, const vfloat8 &b) |
|
vbool8 | operator>= (const vfloat8 &a, const vfloat8 &b) |
|
vbool8 | operator<= (const vfloat8 &a, const vfloat8 &b) |
|
std::ostream & | operator<< (std::ostream &cout, const vfloat8 &val) |
| Stream output. More...
|
|
Floating point 8-vector, accelerated by SIMD instructions when available.
Definition at line 2437 of file simd.h.