Init
This commit is contained in:
72
cppdraft/simd/cassign.md
Normal file
72
cppdraft/simd/cassign.md
Normal file
@@ -0,0 +1,72 @@
|
||||
[simd.cassign]
|
||||
|
||||
# 29 Numerics library [[numerics]](./#numerics)
|
||||
|
||||
## 29.10 Data-parallel types [[simd]](simd#cassign)
|
||||
|
||||
### 29.10.8 basic_vec non-member operations [[simd.nonmembers]](simd.nonmembers#simd.cassign)
|
||||
|
||||
#### 29.10.8.2 basic_vec compound assignment [simd.cassign]
|
||||
|
||||
[ð](#lib:operator+=,basic_vec)
|
||||
|
||||
`friend constexpr basic_vec& operator+=(basic_vec& lhs, const basic_vec& rhs) noexcept;
|
||||
friend constexpr basic_vec& operator-=(basic_vec& lhs, const basic_vec& rhs) noexcept;
|
||||
friend constexpr basic_vec& operator*=(basic_vec& lhs, const basic_vec& rhs) noexcept;
|
||||
friend constexpr basic_vec& operator/=(basic_vec& lhs, const basic_vec& rhs) noexcept;
|
||||
friend constexpr basic_vec& operator%=(basic_vec& lhs, const basic_vec& rhs) noexcept;
|
||||
friend constexpr basic_vec& operator&=(basic_vec& lhs, const basic_vec& rhs) noexcept;
|
||||
friend constexpr basic_vec& operator|=(basic_vec& lhs, const basic_vec& rhs) noexcept;
|
||||
friend constexpr basic_vec& operator^=(basic_vec& lhs, const basic_vec& rhs) noexcept;
|
||||
friend constexpr basic_vec& operator<<=(basic_vec& lhs, const basic_vec& rhs) noexcept;
|
||||
friend constexpr basic_vec& operator>>=(basic_vec& lhs, const basic_vec& rhs) noexcept;
|
||||
`
|
||||
|
||||
[1](#1)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L18217)
|
||||
|
||||
Let *op* be the operator[.](#1.sentence-1)
|
||||
|
||||
[2](#2)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L18220)
|
||||
|
||||
*Constraints*: requires (value_type a, value_type b) { a *op* b; } istrue[.](#2.sentence-1)
|
||||
|
||||
[3](#3)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L18225)
|
||||
|
||||
*Effects*: These operators apply the indicated operator to lhs and rhs as
|
||||
an element-wise operation[.](#3.sentence-1)
|
||||
|
||||
[4](#4)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L18230)
|
||||
|
||||
*Returns*: lhs[.](#4.sentence-1)
|
||||
|
||||
[ð](#lib:operator%3c%3c=,basic_vec_)
|
||||
|
||||
`friend constexpr basic_vec& operator<<=(basic_vec& lhs, simd-size-type n) noexcept;
|
||||
friend constexpr basic_vec& operator>>=(basic_vec& lhs, simd-size-type n) noexcept;
|
||||
`
|
||||
|
||||
[5](#5)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L18243)
|
||||
|
||||
Let *op* be the operator[.](#5.sentence-1)
|
||||
|
||||
[6](#6)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L18246)
|
||||
|
||||
*Constraints*: requires (value_type a, *simd-size-type* b) { a*op* b; } is true[.](#6.sentence-1)
|
||||
|
||||
[7](#7)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L18251)
|
||||
|
||||
*Effects*: Equivalent to: return operator *op* (lhs, basic_vec(n));
|
||||
Reference in New Issue
Block a user