std::experimental::simd<T,Abi>::operator+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=

< cpp‎ | experimental‎ | simd‎ | simd
friend simd& operator+=( simd& lhs, const simd& rhs ) noexcept;
(1) (parallelism TS v2)
friend simd& operator-=( simd& lhs, const simd& rhs ) noexcept;
(2) (parallelism TS v2)
friend simd& operator*=( simd& lhs, const simd& rhs ) noexcept;
(3) (parallelism TS v2)
friend simd& operator/=( simd& lhs, const simd& rhs ) noexcept;
(4) (parallelism TS v2)
friend simd& operator%=( simd& lhs, const simd& rhs ) noexcept;
(5) (parallelism TS v2)
friend simd& operator&=( simd& lhs, const simd& rhs ) noexcept;
(6) (parallelism TS v2)
friend simd& operator|=( simd& lhs, const simd& rhs ) noexcept;
(7) (parallelism TS v2)
friend simd& operator^=( simd& lhs, const simd& rhs ) noexcept;
(8) (parallelism TS v2)
friend simd& operator<<=( simd& lhs, const simd& rhs ) noexcept;
(9) (parallelism TS v2)
friend simd& operator<<=( simd& lhs, int n ) noexcept;
(10) (parallelism TS v2)
friend simd& operator>>=( simd& lhs, const simd& rhs ) noexcept;
(11) (parallelism TS v2)
friend simd& operator>>=( simd& lhs, int n ) noexcept;
(12) (parallelism TS v2)

Applies the given compound assignment operator element-wise to each corresponding element of the operands such that for all i in the range of [0size()) the result is equivalent to:

1) lhs[i] += rhs[i]
2) lhs[i] -= rhs[i]
3) lhs[i] *= rhs[i]
4) lhs[i] /= rhs[i]
5) lhs[i] %= rhs[i]
6) lhs[i] &= rhs[i]
7) lhs[i] |= rhs[i]
8) lhs[i] ^= rhs[i]
9) lhs[i] <<= rhs[i]
10) lhs[i] <<= n
11) lhs[i] >>= rhs[i]
12) lhs[i] >>= n

Parameters

lhs - left operands
rhs - right operands
n - number of bits to shift each element in lhs

Return value

lhs

Example

See also

element-wise binary operators
(function)