simdpp::sub(integer)

From libsimdpp-docs
< int
template<unsigned N, class E1, class E2>
Ret<N, _DETAIL_> sub( Vec1<N,E1> a, Vec2<N,E2> b );

Performs subtraction of two integer values. The implementation behaves as if the following set of overloads is provided:

Ret Vec1 Vec2
int8 int8 int8
uint8 uint8 int8
uint8 int8 uint8
uint8 uint8 uint8
int16 int16 int16
uint16 uint16 int16
uint16 int16 uint16
uint16 uint16 uint16
int32 int32 int32
uint32 uint32 int32
uint32 int32 uint32
uint32 uint32 uint32
int64 int64 int64
uint64 uint64 int64
uint64 int64 uint64
uint64 uint64 uint64

The return type is a vector expression.

Scalar arguments[edit]

Several additional overloads are provided to implement implicit conversions from scalar types. Values of the following types are accepted as the first or the second argument: int32_t, int64_t, uint32_t, uint64_t. Each element of the expanded vector contains bitwise representation of the source value, with the highest bits discarded if the source data is too large.

The return type is a vector expression. The vector type is the same as the vector argument except that masks are unmasked to respective non-mask vector types.

Parameters[edit]

a, b - integer vectors

Return value[edit]

A vector expression evaluating to a - b.

Equivalent operation[edit]

r0 = a0 - b0
...
rN = aN - bN

See also[edit]

Template:int/dsc reduce sub