Skip to content

Commit f937271

Browse files
committed
Introduce [parallel.simd.unary]
1 parent b8da32d commit f937271

File tree

1 file changed

+168
-0
lines changed

1 file changed

+168
-0
lines changed

data_parallel_types.html

Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1464,6 +1464,174 @@ <h1><ins><code>simd</code> subscript operators</ins></h1>
14641464
</cxx-throws>
14651465
</cxx-function>
14661466
</cxx-section>
1467+
1468+
<cxx-section id="parallel.simd.unary">
1469+
<h1><ins><code>simd</code> unary operators</ins></h1>
1470+
1471+
<p>
1472+
<ins>
1473+
Effects in this subclause are applied as unary element-wise operations.
1474+
</ins>
1475+
</p>
1476+
1477+
<cxx-function>
1478+
<cxx-signature><ins>simd& operator++();</ins></cxx-signature>
1479+
1480+
<cxx-effects>
1481+
<ins>
1482+
Increments every element by one.
1483+
</ins>
1484+
</cxx-effects>
1485+
1486+
<cxx-returns>
1487+
<ins>
1488+
<code>*this</code>.
1489+
</ins>
1490+
</cxx-returns>
1491+
1492+
<cxx-throws>
1493+
<ins>
1494+
Nothing.
1495+
</ins>
1496+
</cxx-throws>
1497+
</cxx-function>
1498+
1499+
<cxx-function>
1500+
<cxx-signature><ins>simd operator++(int);</ins></cxx-signature>
1501+
1502+
<cxx-effects>
1503+
<ins>
1504+
Increments every element by one.
1505+
</ins>
1506+
</cxx-effects>
1507+
1508+
<cxx-returns>
1509+
<ins>
1510+
A copy of <code>*this</code> before incrementing.
1511+
</ins>
1512+
</cxx-effects>
1513+
1514+
<cxx-throws>
1515+
<ins>
1516+
Nothing.
1517+
</ins>
1518+
</cxx-throws>
1519+
</cxx-function>
1520+
1521+
<cxx-function>
1522+
<cxx-signature><ins>simd& operator--();</ins></cxx-signature>
1523+
1524+
<cxx-effects>
1525+
<ins>
1526+
Decrements every element by one.
1527+
</ins>
1528+
</cxx-effects>
1529+
1530+
<cxx-returns>
1531+
<ins>
1532+
<code>*this</code>.
1533+
</ins>
1534+
</cxx-returns>
1535+
1536+
<cxx-throws>
1537+
<ins>
1538+
Nothing.
1539+
</ins>
1540+
</cxx-throws>
1541+
</cxx-function>
1542+
1543+
<cxx-function>
1544+
<cxx-signature><ins>simd operator--(int);</ins></cxx-signature>
1545+
1546+
<cxx-effects>
1547+
<ins>
1548+
Decrements every element by one.
1549+
</ins>
1550+
</cxx-effects>
1551+
1552+
<cxx-returns>
1553+
<ins>
1554+
A copy of <code>*this</code> before decrementing.
1555+
</ins>
1556+
</cxx-effects>
1557+
1558+
<cxx-throws>
1559+
<ins>
1560+
Nothing.
1561+
</ins>
1562+
</cxx-throws>
1563+
</cxx-function>
1564+
1565+
<cxx-function>
1566+
<cxx-signature><ins>mask_type operator!() const;</ins></cxx-signature>
1567+
1568+
<cxx-returns>
1569+
<ins>
1570+
A <code>simd_mask</code> object with the <em>i</em>-th element set to <code>!operator[](i)</code> for all <code>i</code> &#8714; <code>[0, size())</code>.
1571+
</ins>
1572+
</cxx-returns>
1573+
1574+
<cxx-throws>
1575+
<ins>
1576+
Nothing.
1577+
</ins>
1578+
</cxx-throws>
1579+
</cxx-function>
1580+
1581+
<cxx-function>
1582+
<cxx-signature><ins>simd operator~() const;</ins></cxx-signature>
1583+
1584+
<cxx-returns>
1585+
<ins>
1586+
A <code>simd</code> object where each bit is the inverse of the corresponding bit in <code>*this</code>.
1587+
</ins>
1588+
</cxx-returns>
1589+
1590+
<cxx-throws>
1591+
<ins>
1592+
Nothing.
1593+
</ins>
1594+
</cxx-throws>
1595+
1596+
<cxx-remarks>
1597+
<ins>
1598+
<code>simd::operator~()</code> shall not participate in overload resolution unless <code>T</code> is an integral type.
1599+
</ins>
1600+
</cxx-remarks>
1601+
</cxx-function>
1602+
1603+
<cxx-function>
1604+
<cxx-signature><ins>simd operator+() const;</ins></cxx-signature>
1605+
1606+
<cxx-returns>
1607+
<ins>
1608+
<code>*this</code>.
1609+
</ins>
1610+
</cxx-returns>
1611+
1612+
<cxx-throws>
1613+
<ins>
1614+
Nothing.
1615+
</ins>
1616+
</cxx-throws>
1617+
</cxx-function>
1618+
1619+
<cxx-function>
1620+
<cxx-signature><ins>simd operator-() const;</ins></cxx-signature>
1621+
1622+
<cxx-returns>
1623+
<ins>
1624+
A <code>simd</code> object where the <em>i</em>-th element is initialized to <code>-operator[](i)</code> for all <code>i</code> &#8714; <code>[0, size())</code>.
1625+
</ins>
1626+
</cxx-returns>
1627+
1628+
<cxx-throws>
1629+
<ins>
1630+
Nothing.
1631+
</ins>
1632+
</cxx-throws>
1633+
</cxx-function>
1634+
</cxx-section>
14671635
</cxx-section>
14681636
</cxx-clause>
14691637

0 commit comments

Comments
 (0)