From Jason Turner

[simd.unary]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp4p07krpf/{from.md → to.md} +79 -0
tmp/tmp4p07krpf/{from.md → to.md} RENAMED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #### Unary operators <a id="simd.unary">[[simd.unary]]</a>
2
+
3
+ Effects in [[simd.unary]] are applied as unary element-wise operations.
4
+
5
+ ``` cpp
6
+ constexpr basic_vec& operator++() noexcept;
7
+ ```
8
+
9
+ *Constraints:* `requires (value_type a) { ++a; }` is `true`.
10
+
11
+ *Effects:* Increments every element by one.
12
+
13
+ *Returns:* `*this`.
14
+
15
+ ``` cpp
16
+ constexpr basic_vec operator++(int) noexcept;
17
+ ```
18
+
19
+ *Constraints:* `requires (value_type a) { a++; }` is `true`.
20
+
21
+ *Effects:* Increments every element by one.
22
+
23
+ *Returns:* A copy of `*this` before incrementing.
24
+
25
+ ``` cpp
26
+ constexpr basic_vec& operator--() noexcept;
27
+ ```
28
+
29
+ *Constraints:* `requires (value_type a) { –a; }` is `true`.
30
+
31
+ *Effects:* Decrements every element by one.
32
+
33
+ *Returns:* `*this`.
34
+
35
+ ``` cpp
36
+ constexpr basic_vec operator--(int) noexcept;
37
+ ```
38
+
39
+ *Constraints:* `requires (value_type a) { a–; }` is `true`.
40
+
41
+ *Effects:* Decrements every element by one.
42
+
43
+ *Returns:* A copy of `*this` before decrementing.
44
+
45
+ ``` cpp
46
+ constexpr mask_type operator!() const noexcept;
47
+ ```
48
+
49
+ *Constraints:* `requires (const value_type a) { !a; }` is `true`.
50
+
51
+ *Returns:* A `basic_mask` object with the iᵗʰ element set to
52
+ `!operator[](`i`)` for all i in the range of \[`0`, `size()`).
53
+
54
+ ``` cpp
55
+ constexpr basic_vec operator~() const noexcept;
56
+ ```
57
+
58
+ *Constraints:* `requires (const value_type a) { ~a; }` is `true`.
59
+
60
+ *Returns:* A `basic_vec` object with the iᵗʰ element set to
61
+ `~operator[](`i`)` for all i in the range of \[`0`, `size()`).
62
+
63
+ ``` cpp
64
+ constexpr basic_vec operator+() const noexcept;
65
+ ```
66
+
67
+ *Constraints:* `requires (const value_type a) { +a; }` is `true`.
68
+
69
+ *Returns:* `*this`.
70
+
71
+ ``` cpp
72
+ constexpr basic_vec operator-() const noexcept;
73
+ ```
74
+
75
+ *Constraints:* `requires (const value_type a) { -a; }` is `true`.
76
+
77
+ *Returns:* A `basic_vec` object where the iᵗʰ element is initialized to
78
+ `-operator[](`i`)` for all i in the range of \[`0`, `size()`).
79
+