Vector types
From libsimdpp-docs
This page outlines the available vector types in the library. Several higher-level descriptions are available in the following pages:
Regular vector types[edit]
Regular vector types are any vector type with void
Expr
template parameter. Vector types correspond to one or more physical SIMD registers.
vector containing unsigned 8-bit integers (class template) |
|
vector containing signed 8-bit integers (class template) |
|
vector containing masks for 8-bit integers (class template) |
|
vector containing unsigned 16-bit integers (class template) |
|
vector containing signed 16-bit integers (class template) |
|
vector containing masks for 16-bit integers (class template) |
|
vector containing unsigned 32-bit integers (class template) |
|
vector containing signed 32-bit integers (class template) |
|
vector containing masks for 32-bit integers (class template) |
|
vector containing unsigned 64-bit integers (class template) |
|
vector containing signed 64-bit integers (class template) |
|
vector containing masks for 64-bit integers (class template) |
|
vector containing 32-bit floating-point numbers (class template) |
|
vector containing masks for 32-bit floating-point numbers (class template) |
|
vector containing 64-bit floating-point numbers (class template) |
|
vector containing masks for 64-bit floating-point numbers (class template) |
Vector expressions[edit]
Vector expressions are any vector type with non-void
Expr
template parameter. Vector expression stores information needed to evaluate a certain expression.
Vector expressions are not meant to be created by the library user. The user may only evaluate them to a regular vector type.
vector containing unsigned 8-bit integers (class template) |
|
vector containing signed 8-bit integers (class template) |
|
vector containing masks for 8-bit integers (class template) |
|
vector containing unsigned 16-bit integers (class template) |
|
vector containing signed 16-bit integers (class template) |
|
vector containing masks for 16-bit integers (class template) |
|
vector containing unsigned 32-bit integers (class template) |
|
vector containing signed 32-bit integers (class template) |
|
vector containing masks for 32-bit integers (class template) |
|
vector containing unsigned 64-bit integers (class template) |
|
vector containing signed 64-bit integers (class template) |
|
vector containing masks for 64-bit integers (class template) |
|
vector containing 32-bit floating-point numbers (class template) |
|
vector containing masks for 32-bit floating-point numbers (class template) |
|
vector containing 64-bit floating-point numbers (class template) |
|
vector containing masks for 64-bit floating-point numbers (class template) |
Categorization types[edit]
represents either of int8, uint8 or mask_int8 (class template) |
|
represents either of int16, uint16 or mask_int16 (class template) |
|
represents either of int32, uint32 or mask_int32 (class template) |
|
represents either of int64, uint64 or mask_int64 (class template) |
|
represents either of float32 or mask_float32 (class template) |
|
represents either of float64 or mask_float64 (class template) |
|
represents any_int8 (class template) |
|
represents any_int16 (class template) |
|
represents either any_int32 or any_float32 (class template) |
|
represents either any_int64 or any_float64 (class template) |
|
represents any vector (class template) |
Helper typedefs[edit]
The following helper typedefs are provided:
Type
|
Definition
|
---|---|
int8x16 | int8<16> |
int8x32 | int8<32> |
uint8x16 | uint8<16> |
uint8x32 | uint8<32> |
mask_int8x16 | mask_int8<16> |
mask_int8x32 | mask_int8<32>
|
int16x8 | int16<8> |
int16x16 | int16<16> |
uint16x8 | uint16<8> |
uint16x16 | uint16<16> |
mask_int16x8 | mask_int16<8> |
mask_int16x16 | mask_int16<16>
|
int32x4 | int32<4> |
int32x8 | int32<8> |
uint32x4 | uint32<4> |
uint32x8 | uint32<8> |
mask_int32x4 | mask_int32<4> |
mask_int32x8 | mask_int32<8>
|
int64x2 | int64<2> |
int64x4 | int64<4> |
uint64x2 | uint64<2> |
uint64x4 | uint64<4> |
mask_int64x2 | mask_int64<2> |
mask_int64x4 | mask_int64<4>
|
float32v | float32<SIMDPP_FAST_FLOAT32_SIZE> |
mask_float32v | mask_float32<SIMDPP_FAST_FLOAT32_SIZE> |
float64v | float64<SIMDPP_FAST_FLOAT64_SIZE> |
mask_float64v | mask_float64<SIMDPP_FAST_FLOAT64_SIZE>
|
int8v | int8<SIMDPP_FAST_INT8_SIZE> |
uint8v | uint8<SIMDPP_FAST_INT8_SIZE> |
mask_int8v | mask_int8<SIMDPP_FAST_INT8_SIZE>
|
int16v | int16<SIMDPP_FAST_INT16_SIZE> |
uint16v | uint16<SIMDPP_FAST_INT16_SIZE> |
mask_int16v | mask_int16<SIMDPP_FAST_INT16_SIZE>
|
int32v | int32<SIMDPP_FAST_INT32_SIZE> |
uint32v | uint32<SIMDPP_FAST_INT32_SIZE> |
mask_int32v | mask_int32<SIMDPP_FAST_INT32_SIZE>
|
int64v | int64<SIMDPP_FAST_INT64_SIZE> |
uint64v | uint64<SIMDPP_FAST_INT64_SIZE> |
mask_int64v | mask_int64<SIMDPP_FAST_INT64_SIZE>
|
mask_float32v2 | mask_float32<SIMDPP_FAST_FLOAT32_SIZE*2> |
float64v2 | float64<SIMDPP_FAST_FLOAT64_SIZE*2> |
mask_float64v2 | mask_float64<SIMDPP_FAST_FLOAT64_SIZE*2>
|
int8v2 | int8<SIMDPP_FAST_INT8_SIZE*2> |
uint8v2 | uint8<SIMDPP_FAST_INT8_SIZE*2> |
mask_int8v2 | mask_int8<SIMDPP_FAST_INT8_SIZE*2>
|
int16v2 | int16<SIMDPP_FAST_INT16_SIZE*2> |
uint16v2 | uint16<SIMDPP_FAST_INT16_SIZE*2> |
mask_int16v2 | mask_int16<SIMDPP_FAST_INT16_SIZE*2>
|
int32v2 | int32<SIMDPP_FAST_INT32_SIZE*2> |
uint32v2 | uint32<SIMDPP_FAST_INT32_SIZE*2> |
mask_int32v2 | mask_int32<SIMDPP_FAST_INT32_SIZE*2>
|
int64v2 | int64<SIMDPP_FAST_INT64_SIZE*2> |
uint64v2 | uint64<SIMDPP_FAST_INT64_SIZE*2> |
mask_int64v2 | mask_int64<SIMDPP_FAST_INT64_SIZE*2>
|
float32v4 | float32<SIMDPP_FAST_FLOAT32_SIZE*4> |
mask_float32v4 | mask_float32<SIMDPP_FAST_FLOAT32_SIZE*4> |
float64v4 | float64<SIMDPP_FAST_FLOAT64_SIZE*4> |
mask_float64v4 | mask_float64<SIMDPP_FAST_FLOAT64_SIZE*4>
|
int8v4 | int8<SIMDPP_FAST_INT8_SIZE*4> |
uint8v4 | uint8<SIMDPP_FAST_INT8_SIZE*4> |
mask_int8v4 | mask_int8<SIMDPP_FAST_INT8_SIZE*4>
|
int16v4 | int16<SIMDPP_FAST_INT16_SIZE*4> |
uint16v4 | uint16<SIMDPP_FAST_INT16_SIZE*4> |
mask_int16v4 | mask_int16<SIMDPP_FAST_INT16_SIZE*4>
|
int32v4 | int32<SIMDPP_FAST_INT32_SIZE*4> |
uint32v4 | uint32<SIMDPP_FAST_INT32_SIZE*4> |
mask_int32v4 | mask_int32<SIMDPP_FAST_INT32_SIZE*4>
|
int64v4 | int64<SIMDPP_FAST_INT64_SIZE*4> |
uint64v4 | uint64<SIMDPP_FAST_INT64_SIZE*4> |
mask_int64v4 | mask_int64<SIMDPP_FAST_INT64_SIZE*4>
|