]> granicus.if.org Git - python/commit
SF Patch [ 429024 ] deal with some unary ops at compile time
authorJeremy Hylton <jeremy@alum.mit.edu>
Sun, 12 Aug 2001 01:54:38 +0000 (01:54 +0000)
committerJeremy Hylton <jeremy@alum.mit.edu>
Sun, 12 Aug 2001 01:54:38 +0000 (01:54 +0000)
commitd5e5a2aa284d610b2bf1fb948c0e8da348ad2733
tree2d4893c4c38e39d40e35e74dac432896e9e273f6
parentb5b7b78414e5f1a42ab4205c110626c9cd7a79b9
SF Patch [ 429024 ] deal with some unary ops at compile time

Revised version of Fred's patch, including support for ~ operator.

If the unary +, -, or ~ operator is applied to a constant, don't
generate a UNARY_xxx opcode. Just store the approriate value as a
constant.  If the value is negative, extend the string containing the
constant and insert a negative in the 0th position.

For ~, compute the inverse of int and longs and use them directly, but
be prepared to generate code for all other possibilities (invalid
numbers, floats, complex).
Python/compile.c