|
| vint4 () |
| Default constructor (contents undefined) More...
|
|
| vint4 (int a) |
| Construct from a single value (store it in all slots) More...
|
|
| vint4 (int a, int b) |
| Construct from 2 values – (a,a,b,b) More...
|
|
| vint4 (int a, int b, int c, int d) |
| Construct from 4 values. More...
|
|
| vint4 (const int *vals) |
| Construct from a pointer to values. More...
|
|
| vint4 (const unsigned short *vals) |
| Construct from a pointer to unsigned short values. More...
|
|
| vint4 (const short *vals) |
| Construct from a pointer to signed short values. More...
|
|
| vint4 (const unsigned char *vals) |
| Construct from a pointer to unsigned char values (0 - 255) More...
|
|
| vint4 (const char *vals) |
| Construct from a pointer to signed char values (-128 - 127) More...
|
|
| vint4 (const vint4 &other) |
| Copy construct from another vint4. More...
|
|
| vint4 (const vfloat4 &f) |
| Convert a vfloat to an vint. Equivalent to i = (int)f;. More...
|
|
| vint4 (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 vint4 & | operator= (int a) |
| Assign one value to all components. More...
|
|
const vint4 & | operator= (const vint4 &other) |
| Assignment from another vint4. 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) |
|
void | load (int a) |
| Helper: load a single int into all components. More...
|
|
void | load (int a, int b, int c, int d) |
| Helper: load separate values into each component. More...
|
|
void | load (const int *values) |
| Load from an array of 4 values. More...
|
|
void | load (const int *values, int n) |
|
void | load (const unsigned short *values) |
| Load from an array of 4 unsigned short values, convert to vint4. More...
|
|
void | load (const short *values) |
| Load from an array of 4 unsigned short values, convert to vint4. More...
|
|
void | load (const unsigned char *values) |
| Load from an array of 4 unsigned char values, convert to vint4. More...
|
|
void | load (const char *values) |
| Load from an array of 4 unsigned char values, convert to vint4. 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 |
|
|
vint4 | operator+ (const vint4 &a, const vint4 &b) |
|
vint4 | operator- (const vint4 &a) |
|
vint4 | operator- (const vint4 &a, const vint4 &b) |
|
vint4 | operator* (const vint4 &a, const vint4 &b) |
|
vint4 | operator/ (const vint4 &a, const vint4 &b) |
|
vint4 | operator% (const vint4 &a, const vint4 &b) |
|
const vint4 & | operator+= (vint4 &a, const vint4 &b) |
|
const vint4 & | operator-= (vint4 &a, const vint4 &b) |
|
const vint4 & | operator*= (vint4 &a, const vint4 &b) |
|
const vint4 & | operator/= (vint4 &a, const vint4 &b) |
|
const vint4 & | operator%= (vint4 &a, const vint4 &b) |
|
vint4 | operator& (const vint4 &a, const vint4 &b) |
|
vint4 | operator| (const vint4 &a, const vint4 &b) |
|
vint4 | operator^ (const vint4 &a, const vint4 &b) |
|
const vint4 & | operator&= (vint4 &a, const vint4 &b) |
|
const vint4 & | operator|= (vint4 &a, const vint4 &b) |
|
const vint4 & | operator^= (vint4 &a, const vint4 &b) |
|
vint4 | operator~ (const vint4 &a) |
|
vint4 | operator<< (const vint4 &a, unsigned int bits) |
|
vint4 | operator>> (const vint4 &a, unsigned int bits) |
|
const vint4 & | operator<<= (vint4 &a, unsigned int bits) |
|
const vint4 & | operator>>= (vint4 &a, unsigned int bits) |
|
vbool4 | operator== (const vint4 &a, const vint4 &b) |
|
vbool4 | operator!= (const vint4 &a, const vint4 &b) |
|
vbool4 | operator< (const vint4 &a, const vint4 &b) |
|
vbool4 | operator> (const vint4 &a, const vint4 &b) |
|
vbool4 | operator>= (const vint4 &a, const vint4 &b) |
|
vbool4 | operator<= (const vint4 &a, const vint4 &b) |
|
std::ostream & | operator<< (std::ostream &cout, const vint4 &a) |
| Stream output. More...
|
|
Integer 4-vector, accelerated by SIMD instructions when available.
Definition at line 890 of file simd.h.