|
| vint8 () |
| Default constructor (contents undefined) More...
|
|
| vint8 (int a) |
| Construct from a single value (store it in all slots) More...
|
|
| vint8 (int a, int b) |
| Construct from 2 values – (a,a,b,b) More...
|
|
| vint8 (int a, int b, int c, int d, int e, int f, int g, int h) |
| Construct from 8 values (won't work for vint8) More...
|
|
| vint8 (const int *vals) |
| Construct from a pointer to values. More...
|
|
| vint8 (const unsigned short *vals) |
| Construct from a pointer to unsigned short values. More...
|
|
| vint8 (const short *vals) |
| Construct from a pointer to signed short values. More...
|
|
| vint8 (const unsigned char *vals) |
| Construct from a pointer to unsigned char values (0 - 255) More...
|
|
| vint8 (const char *vals) |
| Construct from a pointer to signed char values (-128 - 127) More...
|
|
| vint8 (const vint8 &other) |
| Copy construct from another vint8. More...
|
|
| vint8 (const vfloat8 &f) |
| Convert a vfloat8 to an vint8. Equivalent to i = (int)f;. More...
|
|
| vint8 (const vint4 &lo, const vint4 &hi) |
| Construct from two vint4's. More...
|
|
| vint8 (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 () |
|
void | clear () |
| Sset all components to 0. More...
|
|
const vint8 & | operator= (int a) |
| Assign one value to all components. More...
|
|
const vint8 & | operator= (const vint8 &other) |
| Assignment from another vint8. More...
|
|
int | operator[] (int i) const |
| Component access (get) More...
|
|
int & | operator[] (int i) |
| Component access (set) More...
|
|
void | setcomp (int i, int 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) |
|
vint4 | lo () const |
| Extract the lower precision vint4. More...
|
|
vint4 | hi () const |
| Extract the higher precision vint4. More...
|
|
void | load (int a) |
| Helper: load a single int into all components. More...
|
|
void | load (int a, int b, int c, int d, int e, int f, int g, int h) |
| Load separate values into each component. More...
|
|
void | load (const int *values) |
| Load from an array of 8 values. More...
|
|
void | load (const int *values, int n) |
|
void | load (const unsigned short *values) |
| Load from an array of 8 unsigned short values, convert to vint8. More...
|
|
void | load (const short *values) |
| Load from an array of 8 unsigned short values, convert to vint8. More...
|
|
void | load (const unsigned char *values) |
| Load from an array of 8 unsigned char values, convert to vint8. More...
|
|
void | load (const char *values) |
| Load from an array of 8 unsigned char values, convert to vint8. More...
|
|
void | store (int *values) const |
| Store the values into memory. More...
|
|
void | store (int *values, int n) const |
| Store the first n values into memory. More...
|
|
void | store (unsigned short *values) const |
|
void | store (unsigned char *values) const |
|
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) |
| Gather elements defined by the mask, leave others unchanged. More...
|
|
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 |
|
|
vint8 | operator+ (const vint8 &a, const vint8 &b) |
|
vint8 | operator- (const vint8 &a) |
|
vint8 | operator- (const vint8 &a, const vint8 &b) |
|
vint8 | operator* (const vint8 &a, const vint8 &b) |
|
vint8 | operator/ (const vint8 &a, const vint8 &b) |
|
vint8 | operator% (const vint8 &a, const vint8 &b) |
|
const vint8 & | operator+= (vint8 &a, const vint8 &b) |
|
const vint8 & | operator-= (vint8 &a, const vint8 &b) |
|
const vint8 & | operator*= (vint8 &a, const vint8 &b) |
|
const vint8 & | operator/= (vint8 &a, const vint8 &b) |
|
const vint8 & | operator%= (vint8 &a, const vint8 &b) |
|
vint8 | operator& (const vint8 &a, const vint8 &b) |
|
vint8 | operator| (const vint8 &a, const vint8 &b) |
|
vint8 | operator^ (const vint8 &a, const vint8 &b) |
|
const vint8 & | operator&= (vint8 &a, const vint8 &b) |
|
const vint8 & | operator|= (vint8 &a, const vint8 &b) |
|
const vint8 & | operator^= (vint8 &a, const vint8 &b) |
|
vint8 | operator~ (const vint8 &a) |
|
vint8 | operator<< (const vint8 &a, unsigned int bits) |
|
vint8 | operator>> (const vint8 &a, unsigned int bits) |
|
const vint8 & | operator<<= (vint8 &a, unsigned int bits) |
|
const vint8 & | operator>>= (vint8 &a, unsigned int bits) |
|
vbool8 | operator== (const vint8 &a, const vint8 &b) |
|
vbool8 | operator!= (const vint8 &a, const vint8 &b) |
|
vbool8 | operator< (const vint8 &a, const vint8 &b) |
|
vbool8 | operator> (const vint8 &a, const vint8 &b) |
|
vbool8 | operator>= (const vint8 &a, const vint8 &b) |
|
vbool8 | operator<= (const vint8 &a, const vint8 &b) |
|
std::ostream & | operator<< (std::ostream &cout, const vint8 &a) |
| Stream output. More...
|
|
Integer 8-vector, accelerated by SIMD instructions when available.
Definition at line 1180 of file simd.h.