|
| vint16 () |
| Default constructor (contents undefined) More...
|
|
| vint16 (int a) |
| Construct from a single value (store it in all slots) More...
|
|
| vint16 (int v0, int v1, int v2, int v3, int v4, int v5, int v6, int v7, int v8, int v9, int v10, int v11, int v12, int v13, int v14, int v15) |
| Construct from 16 values (won't work for vint16) More...
|
|
| vint16 (const int *vals) |
| Construct from a pointer to values. More...
|
|
| vint16 (const unsigned short *vals) |
| Construct from a pointer to unsigned short values. More...
|
|
| vint16 (const short *vals) |
| Construct from a pointer to signed short values. More...
|
|
| vint16 (const unsigned char *vals) |
| Construct from a pointer to unsigned char values (0 - 255) More...
|
|
| vint16 (const char *vals) |
| Construct from a pointer to signed char values (-128 - 127) More...
|
|
| vint16 (const vint16 &other) |
| Copy construct from another vint16. More...
|
|
| vint16 (const vfloat16 &f) |
| Convert a vfloat16 to an vint16. Equivalent to i = (int)f;. More...
|
|
| vint16 (const vint8 &lo, const vint8 &hi) |
| Construct from two vint8's. More...
|
|
| vint16 (const vint4 &a, const vint4 &b, const vint4 &c, const vint4 &d) |
| Construct from four vint4's. More...
|
|
| vint16 (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 vint16 & | operator= (int a) |
| Assign one value to all components. More...
|
|
const vint16 & | operator= (const vint16 &other) |
| Assignment from another vint16. 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) |
|
vint8 | lo () const |
| Extract the lower precision vint8. More...
|
|
vint8 | hi () const |
| Extract the higher precision vint8. More...
|
|
void | load (int a) |
| Helper: load a single int into all components. More...
|
|
void | load (int v0, int v1, int v2, int v3, int v4, int v5, int v6, int v7, int v8, int v9, int v10, int v11, int v12, int v13, int v14, int v15) |
| Load separate values into each component. More...
|
|
void | load (const int *values) |
| Load from an array of 16 values. More...
|
|
void | load (const int *values, int n) |
|
void | load (const unsigned short *values) |
| Load from an array of 16 unsigned short values, convert to vint16. More...
|
|
void | load (const short *values) |
| Load from an array of 16 unsigned short values, convert to vint16. More...
|
|
void | load (const unsigned char *values) |
| Load from an array of 16 unsigned char values, convert to vint16. More...
|
|
void | load (const char *values) |
| Load from an array of 16 unsigned char values, convert to vint16. 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 (const vbool_t &mask, const value_t *values) |
|
void | load_mask (int mask, const value_t *values) |
|
void | store_mask (const vbool_t &mask, value_t *values) const |
|
void | store_mask (int 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 |
|
|
vint16 | operator+ (const vint16 &a, const vint16 &b) |
|
vint16 | operator- (const vint16 &a) |
|
vint16 | operator- (const vint16 &a, const vint16 &b) |
|
vint16 | operator* (const vint16 &a, const vint16 &b) |
|
vint16 | operator/ (const vint16 &a, const vint16 &b) |
|
vint16 | operator% (const vint16 &a, const vint16 &b) |
|
const vint16 & | operator+= (vint16 &a, const vint16 &b) |
|
const vint16 & | operator-= (vint16 &a, const vint16 &b) |
|
const vint16 & | operator*= (vint16 &a, const vint16 &b) |
|
const vint16 & | operator/= (vint16 &a, const vint16 &b) |
|
const vint16 & | operator%= (vint16 &a, const vint16 &b) |
|
vint16 | operator& (const vint16 &a, const vint16 &b) |
|
vint16 | operator| (const vint16 &a, const vint16 &b) |
|
vint16 | operator^ (const vint16 &a, const vint16 &b) |
|
const vint16 & | operator&= (vint16 &a, const vint16 &b) |
|
const vint16 & | operator|= (vint16 &a, const vint16 &b) |
|
const vint16 & | operator^= (vint16 &a, const vint16 &b) |
|
vint16 | operator~ (const vint16 &a) |
|
vint16 | operator<< (const vint16 &a, unsigned int bits) |
|
vint16 | operator>> (const vint16 &a, unsigned int bits) |
|
const vint16 & | operator<<= (vint16 &a, unsigned int bits) |
|
const vint16 & | operator>>= (vint16 &a, unsigned int bits) |
|
vbool16 | operator== (const vint16 &a, const vint16 &b) |
|
vbool16 | operator!= (const vint16 &a, const vint16 &b) |
|
vbool16 | operator< (const vint16 &a, const vint16 &b) |
|
vbool16 | operator> (const vint16 &a, const vint16 &b) |
|
vbool16 | operator>= (const vint16 &a, const vint16 &b) |
|
vbool16 | operator<= (const vint16 &a, const vint16 &b) |
|
std::ostream & | operator<< (std::ostream &cout, const vint16 &a) |
| Stream output. More...
|
|
Integer 16-vector, accelerated by SIMD instructions when available.
Definition at line 1478 of file simd.h.