mirror of
https://github.com/python/cpython.git
synced 2026-01-06 15:32:22 +00:00
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.
This commit is contained in:
parent
074c9d2b20
commit
4668b000a1
19 changed files with 476 additions and 226 deletions
|
|
@ -12,6 +12,7 @@ extern "C" {
|
|||
accordingly then. */
|
||||
#define PyCF_NESTED_SCOPES (0x00000001UL)
|
||||
#define PyCF_GENERATORS (0x00000002UL)
|
||||
#define PyCF_DIVISION (0x00000004UL)
|
||||
typedef struct {
|
||||
unsigned long cf_flags; /* bitmask of PyCF_xxx flags */
|
||||
} PyCompilerFlags;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue