diff options
author | Guido van Rossum <guido@python.org> | 2001-08-08 05:00:18 +0000 |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2001-08-08 05:00:18 +0000 |
commit | a87e6ef59e177409e25b09a3d1f25acc6bf0c14f (patch) | |
tree | df74b5a7b92885e46feda829273f0985672da1a6 /Include/opcode.h | |
parent | cb9ea39487839f95b0d453d22d7302e41373c2a4 (diff) | |
download | cpython-a87e6ef59e177409e25b09a3d1f25acc6bf0c14f.tar.gz |
Implement PEP 238 in its (almost) full glory.
This introduces:
- A new operator // that means floor division (the kind of division
where 1/2 is 0).
- The "future division" statement ("from __future__ import division)
which changes the meaning of the / operator to implement "true
division" (where 1/2 is 0.5).
- New overloadable operators __truediv__ and __floordiv__.
- New slots in the PyNumberMethods struct for true and floor division,
new abstract APIs for them, new opcodes, and so on.
I emphasize that without the future division statement, the semantics
of / will remain unchanged until Python 3.0.
Not yet implemented are warnings (default off) when / is used with int
or long arguments.
This has been on display since 7/31 as SF patch #443474.
Flames to /dev/null.
Diffstat (limited to 'Include/opcode.h')
-rw-r--r-- | Include/opcode.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Include/opcode.h b/Include/opcode.h index c1e8362853..9508499426 100644 --- a/Include/opcode.h +++ b/Include/opcode.h @@ -29,6 +29,10 @@ extern "C" { #define BINARY_ADD 23 #define BINARY_SUBTRACT 24 #define BINARY_SUBSCR 25 +#define BINARY_FLOOR_DIVIDE 26 +#define BINARY_TRUE_DIVIDE 27 +#define INPLACE_FLOOR_DIVIDE 28 +#define INPLACE_TRUE_DIVIDE 29 #define SLICE 30 /* Also uses 31-33 */ |