]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
Implement PEP 238 in its (almost) full glory.
authorGuido van Rossum <guido@python.org>
Wed, 8 Aug 2001 05:00:18 +0000 (05:00 +0000)
committerGuido van Rossum <guido@python.org>
Wed, 8 Aug 2001 05:00:18 +0000 (05:00 +0000)
commit4668b000a1d9113394941ad39875c827634feb49
tree734560442fef1ce34912ceb772099b9a006e010a
parent074c9d2b2081237c1071a3775f6e36252cf16ad7
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.
19 files changed:
Grammar/Grammar
Include/abstract.h
Include/compile.h
Include/object.h
Include/opcode.h
Include/pythonrun.h
Include/token.h
Lib/__future__.py
Objects/abstract.c
Objects/classobject.c
Objects/complexobject.c
Objects/floatobject.c
Objects/intobject.c
Objects/longobject.c
Parser/tokenizer.c
Python/ceval.c
Python/compile.c
Python/future.c
Python/graminit.c