diff options
author | Benjamin Peterson <benjamin@python.org> | 2014-04-10 03:55:56 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2014-04-10 03:55:56 (GMT) |
commit | d51374ed78a3e3145911a16cdf3b9b84b3ba7d15 (patch) | |
tree | 31f9086f20f5b8923604f41f1a4d139fa809aaed /Doc/library | |
parent | 2aad6ef77419887f5875ba942e9369b4bdd34a5e (diff) | |
download | cpython-d51374ed78a3e3145911a16cdf3b9b84b3ba7d15.zip cpython-d51374ed78a3e3145911a16cdf3b9b84b3ba7d15.tar.gz cpython-d51374ed78a3e3145911a16cdf3b9b84b3ba7d15.tar.bz2 |
PEP 465: a dedicated infix operator for matrix multiplication (closes #21176)
Diffstat (limited to 'Doc/library')
-rw-r--r-- | Doc/library/dis.rst | 10 | ||||
-rw-r--r-- | Doc/library/operator.rst | 18 | ||||
-rw-r--r-- | Doc/library/token.rst | 1 |
3 files changed, 29 insertions, 0 deletions
diff --git a/Doc/library/dis.rst b/Doc/library/dis.rst index d86550f..fbabe35 100644 --- a/Doc/library/dis.rst +++ b/Doc/library/dis.rst @@ -364,6 +364,11 @@ result back on the stack. Implements ``TOS = TOS1 * TOS``. +.. opcode:: BINARY_MATRIX_MULTIPLY + + Implements ``TOS = TOS1 @ TOS``. + + .. opcode:: BINARY_FLOOR_DIVIDE Implements ``TOS = TOS1 // TOS``. @@ -436,6 +441,11 @@ the original TOS1. Implements in-place ``TOS = TOS1 * TOS``. +.. opcode:: INPLACE_MATRIX_MULTIPLY + + Implements in-place ``TOS = TOS1 @ TOS``. + + .. opcode:: INPLACE_FLOOR_DIVIDE Implements in-place ``TOS = TOS1 // TOS``. diff --git a/Doc/library/operator.rst b/Doc/library/operator.rst index 3bcbaa4..3654d13 100644 --- a/Doc/library/operator.rst +++ b/Doc/library/operator.rst @@ -138,6 +138,14 @@ The mathematical and bitwise operations are the most numerous: Return ``a * b``, for *a* and *b* numbers. +.. function:: matmul(a, b) + __matmul__(a, b) + + Return ``a @ b``. + + .. versionadded:: 3.5 + + .. function:: neg(obj) __neg__(obj) @@ -400,6 +408,8 @@ Python syntax and the functions in the :mod:`operator` module. +-----------------------+-------------------------+---------------------------------------+ | Multiplication | ``a * b`` | ``mul(a, b)`` | +-----------------------+-------------------------+---------------------------------------+ +| Matrix Multiplication | ``a @ b`` | ``matmul(a, b)`` | ++-----------------------+-------------------------+---------------------------------------+ | Negation (Arithmetic) | ``- a`` | ``neg(a)`` | +-----------------------+-------------------------+---------------------------------------+ | Negation (Logical) | ``not a`` | ``not_(a)`` | @@ -508,6 +518,14 @@ will perform the update, so no subsequent assignment is necessary: ``a = imul(a, b)`` is equivalent to ``a *= b``. +.. function:: imatmul(a, b) + __imatmul__(a, b) + + ``a = imatmul(a, b)`` is equivalent to ``a @= b``. + + .. versionadded:: 3.5 + + .. function:: ior(a, b) __ior__(a, b) diff --git a/Doc/library/token.rst b/Doc/library/token.rst index 4cd7098..88fb38b 100644 --- a/Doc/library/token.rst +++ b/Doc/library/token.rst @@ -93,6 +93,7 @@ The token constants are: DOUBLESLASH DOUBLESLASHEQUAL AT + ATEQUAL RARROW ELLIPSIS OP |