History log of /external/python/cpython2/Objects/complexobject.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
ca56dd4767617a2f5e946130de4beb06442a5cd5 17-Sep-2016 Martin Panter <vadmium+py@gmail.com> Issue #28139: Fix messed up indentation

Also update the classmethod and staticmethod doc strings and comments to
match the RST documentation.
/external/python/cpython2/Objects/complexobject.c
646b528467b171148143980452d2aa4294cbe5c8 22-Jun-2016 Martin Panter <vadmium+py@gmail.com> Issue #22463: Backport compiler warning fixes and workarounds

* Set but unused variable in Parser/pgen.c in non-debug builds. Patch by
Christian Heimes.
* Unused static function in Modules/readline.c. Patch by Georg Brandl.
* main_window unused in Modules/tkappinit.c. Patch by Gregory P. Smith.
* Dead assignment in Modules/_ctypes/cfield.c. Extracted from patch by Brett
Cannon.
* Expression result unused in PyObject_INIT macro expansions. Based on
patches by Christian Heimes.
* Load expat_config.h and therefore pyconfig.h before C stdlib headers are
loaded. This silences pre-processor warnings including '_POSIX_C_SOURCE
redefined'. Extracted from patch by Christian Heimes.
/external/python/cpython2/Objects/complexobject.c
6156560e4b40ae81304d80b5a932fd90e6b4ba80 20-Nov-2015 Serhiy Storchaka <storchaka@gmail.com> Issue #25678: Copy buffer objects to null-terminated strings.

Avoid buffer overreads when int(), long(), float(), and compile()
are passed buffer objects. Similar code is removed from the
complex() constructor, where it was not reachable.

Patch backported from issue #24802 by Eryk Sun.
/external/python/cpython2/Objects/complexobject.c
d0a5e9bb4a153f4d6d6b890c7de20d781bc95819 10-Oct-2014 Antoine Pitrou <solipsis@pitrou.net> Issue #22604: Fix assertion error in debug mode when dividing a complex number by (nan+0j).
/external/python/cpython2/Objects/complexobject.c
eb053167a84fad09a76db46da2f8861ddd0098a2 05-Oct-2013 Ezio Melotti <ezio.melotti@gmail.com> #19068: use imperative mood in complex object docstrings. Patch by Marco Buttu.
/external/python/cpython2/Objects/complexobject.c
4ca7c3c089cf59d14a76f8035b360f4fbf98f9bb 30-May-2010 Mark Dickinson <dickinsm@gmail.com> Issue #8748: Fix incorrect results from comparisons between an integer
and a complex instance. Based on a patch by Meador Inge.
/external/python/cpython2/Objects/complexobject.c
4b3035d0b8f10112e2e9f348ded2bd721ad6ddb8 30-May-2010 Mark Dickinson <dickinsm@gmail.com> Remove declaration for unused variable.
/external/python/cpython2/Objects/complexobject.c
813363743d4f46062b1d5149d62252c0e2794289 30-May-2010 Mark Dickinson <dickinsm@gmail.com> Issue #5211: Complete removal of implicit coercions for the complex
type. Coercion for arithmetic operations was already removed in
r78280, but that commit didn't remove coercion for rich comparisons.
/external/python/cpython2/Objects/complexobject.c
c83ea137d7e717f764e2f31fc2544f522de7d857 09-May-2010 Antoine Pitrou <solipsis@pitrou.net> Untabify C files. Will watch buildbots.
/external/python/cpython2/Objects/complexobject.c
bce3e17bd2897d998b08b34420877fbc09a9ca75 22-Feb-2010 Ezio Melotti <ezio.melotti@gmail.com> #7482: clarify error message in case of division by zero of float and complex numbers.
/external/python/cpython2/Objects/complexobject.c
82b34c5dbebdd4c39dd310056b20e89d2bed63ed 21-Feb-2010 Mark Dickinson <dickinsm@gmail.com> Issue #5211: Fix complex type to avoid implicit calls to
complex.__coerce__. Thanks Meador Inge for the patch.
/external/python/cpython2/Objects/complexobject.c
3694366af54082ae77f8978e16948d24269d06f6 04-Jan-2010 Benjamin Peterson <benjamin@python.org> factor out __complex__ lookup code to fix another case
/external/python/cpython2/Objects/complexobject.c
ecdae19fbe9506fffe6616d86f3bbf4a1858f3e2 04-Jan-2010 Benjamin Peterson <benjamin@python.org> do correct lookup of the __complex__ method
/external/python/cpython2/Objects/complexobject.c
31f0cfef0e2f409d90b67ec5836c217c29be4bb6 28-Nov-2009 Mark Dickinson <dickinsm@gmail.com> Include ieeefp.h (when available) in pyport.h instead of individually in
Objects/floatobject.c and Objects/complexobject.c. This should silence
compiler warnings about implicit declaration of the 'finite' function
on Solaris.
/external/python/cpython2/Objects/complexobject.c
c04c7c5b72db5bcdde04982cad52212d3ddbc1a1 26-Oct-2009 Mark Dickinson <dickinsm@gmail.com> Issue #7117: Use PyOS_string_to_double instead of PyOS_ascii_strtod in
complexobject.c. Also remove length restriction on unicode inputs to
the complex constructor.
/external/python/cpython2/Objects/complexobject.c
a4e0efa4b13e9a51faad19be27b18ed02c9a26f0 20-May-2009 Mark Dickinson <dickinsm@gmail.com> Issue #5829: don't raise OverflowError for complex('1e500'). Backport of r72803.
/external/python/cpython2/Objects/complexobject.c
50626db437de2d68936bf43c3da6752453fafca9 17-May-2009 Mark Dickinson <dickinsm@gmail.com> Issue #6044: remove confusing wording from complex -> integer and
complex -> float conversion error messages.
/external/python/cpython2/Objects/complexobject.c
a985a3aee46dfda4b59cf20414bab199ba1b9659 05-May-2009 Eric Smith <eric@trueblade.com> Issue #5920: Changed format.__float__ and complex.__float__ to use a precision of 12 when using the empty presentation type. This more closely matches str()'s behavior and reduces surprises when adding alignment flags to an empty format string. Patch by Mark Dickinson.
/external/python/cpython2/Objects/complexobject.c
777e4ff5039d1ac5aba9bb16b6edcb00d4d7c151 03-May-2009 Mark Dickinson <dickinsm@gmail.com> Eliminate some locale-dependent calls to isspace and tolower.
/external/python/cpython2/Objects/complexobject.c
9139cc6a3ba9b6c66a09256f3295b1a4ed50adc9 30-Apr-2009 Eric Smith <eric@trueblade.com> Issue #1588: Add complex.__format__.
/external/python/cpython2/Objects/complexobject.c
944c6aedd08d10314988027fc53ccd4106af5091 26-Apr-2009 Mark Dickinson <dickinsm@gmail.com> Reset errno before both calls to PyOS_ascii_strtod, not just one.
/external/python/cpython2/Objects/complexobject.c
0a6501bf56f559d9319baecb4e99732bd1b41908 25-Apr-2009 Mark Dickinson <dickinsm@gmail.com> Fix typo in complex parsing code; expand tests.
/external/python/cpython2/Objects/complexobject.c
90d47cb46c5845d15bc4fdc0590e19e58e894e0c 24-Apr-2009 Mark Dickinson <dickinsm@gmail.com> Fix missing 'return NULL'
/external/python/cpython2/Objects/complexobject.c
95bc980d9ee2aabfedb90512906247f3e3c3fdf7 24-Apr-2009 Mark Dickinson <dickinsm@gmail.com> Issue #5816:
- simplify parsing and printing of complex numbers
- make complex(repr(z)) round-tripping work for complex
numbers involving nans, infs, or negative zeros
- don't accept some of the stranger complex strings
that were previously allowed---e.g., complex('1..1j')
/external/python/cpython2/Objects/complexobject.c
dd96db63f689e2f0d8ae5a1436b3b3395eec7de5 09-Jun-2008 Gregory P. Smith <greg@mad-scientist.com> This reverts r63675 based on the discussion in this thread:

http://mail.python.org/pipermail/python-dev/2008-June/079988.html

Python 2.6 should stick with PyString_* in its codebase. The PyBytes_* names
in the spirit of 3.0 are available via a #define only. See the email thread.
/external/python/cpython2/Objects/complexobject.c
80af6da7489c3b28e0a46c73849da34273972e3b 04-Jun-2008 Alexandre Vassalotti <alexandre@peadrop.com> Fixed complex.__getnewargs__() to not emit another complex object.
/external/python/cpython2/Objects/complexobject.c
593daf545bd9b7e7bcb27b498ecc6f36db9ae395 26-May-2008 Christian Heimes <christian@cheimes.de> Renamed PyString to PyBytes
/external/python/cpython2/Objects/complexobject.c
6f34109384f3a78d5f4f8bdd418a89caca19631e 19-Apr-2008 Christian Heimes <christian@cheimes.de> I finally got the time to update and merge Mark's and my trunk-math branch. The patch is collaborated work of Mark Dickinson and me. It was mostly done a few months ago. The patch fixes a lot of loose ends and edge cases related to operations with NaN, INF, very small values and complex math.

The patch also adds acosh, asinh, atanh, log1p and copysign to all platforms. Finally it fixes differences between platforms like different results or exceptions for edge cases. Have fun :)
/external/python/cpython2/Objects/complexobject.c
9fdfaaf9af621d45c849061ea05bd3f2c37232c8 28-Mar-2008 Neal Norwitz <nnorwitz@gmail.com> Fix compiler warning about finite() missing on Solaris.
/external/python/cpython2/Objects/complexobject.c
2f0da53d28b316197a94919c96195a514acc668f 15-Feb-2008 Christian Heimes <christian@cheimes.de> Fixed repr() and str() of complex numbers. Complex suffered from the same problem as floats but I forgot to test and fix them.
/external/python/cpython2/Objects/complexobject.c
d7e1b2bd17cee31bb581a71fff20101be0b34bc6 28-Jan-2008 Christian Heimes <christian@cheimes.de> static PyObject* variables should use PyString_InternFromString() instead of PyObject_FromString() to store a python string in a function level static var.
/external/python/cpython2/Objects/complexobject.c
96f2184de6f48acc44c69f9ff0d80410e93b904a 19-Jan-2008 Georg Brandl <georg@python.org> Indentation normalization.
/external/python/cpython2/Objects/complexobject.c
2f3c16be73a8562d357b9b13bbb8088e275840a7 03-Jan-2008 Jeffrey Yasskin <jyasskin@gmail.com> Backport PEP 3141 from the py3k branch to the trunk. This includes r50877 (just
the complex_pow part), r56649, r56652, r56715, r57296, r57302, r57359, r57361,
r57372, r57738, r57739, r58017, r58039, r58040, and r59390, and new
documentation. The only significant difference is that round(x) returns a float
to preserve backward-compatibility. See http://bugs.python.org/issue1689.
/external/python/cpython2/Objects/complexobject.c
e227263a6c4b4f7152553d9df89175b67dfcef4a 03-Dec-2007 Guido van Rossum <guido@python.org> Shut up a compiler warning.
/external/python/cpython2/Objects/complexobject.c
715ec1818de43836cffea50d5f4b5e53fc68a849 27-Nov-2007 Guido van Rossum <guido@python.org> Patch # 1507 by Mark Dickinson. Make complex(x, -0) retain the sign of
the imaginary part (as long as it's not complex).
Backport candidate?
/external/python/cpython2/Objects/complexobject.c
0153159e67bf4247c4402a1a6e717819372c9337 17-Sep-2007 Brett Cannon <bcannon@gmail.com> Add a bunch of GIL release/acquire points in tp_print implementations and for
PyObject_Print().

Closes issue #1164.
/external/python/cpython2/Objects/complexobject.c
6819210b9e4e5719a6f7f9c1725f8fa70a8936f6 21-Jul-2007 Martin v. Löwis <martin@v.loewis.de> PEP 3123: Provide forward compatibility with Python 3.0, while keeping
backwards compatibility. Add Py_Refcnt, Py_Type, Py_Size, and
PyVarObject_HEAD_INIT.
/external/python/cpython2/Objects/complexobject.c
2b869943fa284be9f3b9572df10b334f12962aa6 17-Mar-2007 Georg Brandl <georg@python.org> Patch #1675423: PyComplex_AsCComplex() now tries to convert an object
to complex using its __complex__() method before falling back to the
__float__() method. Therefore, the functions in the cmath module now
can operate on objects that define a __complex__() method.
(backport)
/external/python/cpython2/Objects/complexobject.c
8f032cbb05b3eb6cc5452f96282523fb1a7a3077 13-Mar-2007 Georg Brandl <georg@python.org> Patch #1642844: comments to clarify the complexobject constructor.
/external/python/cpython2/Objects/complexobject.c
e38051db87b92efeb09373bea3900cde073cda96 09-Mar-2007 Collin Winter <collinw@gmail.com> Patch #1491866: change the complex() constructor to allow parthensized forms. This means complex(repr(x)) now works instead of raising a ValueError.
/external/python/cpython2/Objects/complexobject.c
0593de32d92ef69353791fc0ae1b31980e9ea2bc 09-Mar-2007 Neal Norwitz <nnorwitz@gmail.com> Fix SF #1676971, Complex OverflowError has a typo
/external/python/cpython2/Objects/complexobject.c
4b0a315c3179c1785fcec6857ed4a69417fd7ae8 16-Jul-2006 Neal Norwitz <nnorwitz@gmail.com> Use sizeof(buffer) instead of duplicating the constants to ensure they won't
be wrong.

The real change is to pass (bufsz - 1) to PyOS_ascii_formatd and 1
to strncat. strncat copies n+1 bytes from src (not dest).

Reported by Klocwork #58.
/external/python/cpython2/Objects/complexobject.c
6b50c63a23227d542b094432525d2f857be648ef 01-Jun-2006 Georg Brandl <georg@python.org> Correctly allocate complex types with tp_alloc. (bug #1498638)
/external/python/cpython2/Objects/complexobject.c
429433b30bbfb957c38b1bc0b699cda2fb30db1c 18-Apr-2006 Skip Montanaro <skip@pobox.com> C++ compiler cleanup: bunch-o-casts, plus use of unsigned loop index var in a couple places
/external/python/cpython2/Objects/complexobject.c
347b30042b68e80b245a03b23cb616024ecb1f1e 30-Mar-2006 Georg Brandl <georg@python.org> Remove unnecessary casts in type object initializers.
/external/python/cpython2/Objects/complexobject.c
15e62742fad688b026ba80bf17d1345c4cbd423b 27-Feb-2006 Martin v. Löwis <martin@v.loewis.de> Revert backwards-incompatible const changes.
/external/python/cpython2/Objects/complexobject.c
18e165558b24d29e7e0ca501842b9236589b012a 15-Feb-2006 Martin v. Löwis <martin@v.loewis.de> Merge ssize_t branch.
/external/python/cpython2/Objects/complexobject.c
af68c874a6803b4e90b616077a602c0593719a1d 10-Dec-2005 Jeremy Hylton <jeremy@alum.mit.edu> Add const to several API functions that take char *.

In C++, it's an error to pass a string literal to a char* function
without a const_cast(). Rather than require every C++ extension
module to put a cast around string literals, fix the API to state the
const-ness.

I focused on parts of the API where people usually pass literals:
PyArg_ParseTuple() and friends, Py_BuildValue(), PyMethodDef, the type
slots, etc. Predictably, there were a large set of functions that
needed to be fixed as a result of these changes. The most pervasive
change was to make the keyword args list passed to
PyArg_ParseTupleAndKewords() to be a const char *kwlist[].

One cast was required as a result of the changes: A type object
mallocs the memory for its tp_doc slot and later frees it.
PyTypeObject says that tp_doc is const char *; but if the type was
created by type_new(), we know it is safe to cast to char *.
/external/python/cpython2/Objects/complexobject.c
c404ff2f2d711fdb0f9adf096b4ffa01891fd3d4 16-Sep-2005 Georg Brandl <georg@python.org> patch [ 1118729 ] Error in representation of complex numbers(again)
/external/python/cpython2/Objects/complexobject.c
5d01aa4f6ad6d257c852d8dd454b7af9dcdd6d77 19-Dec-2004 Raymond Hettinger <python@rcn.com> Bug #1079011: Incorrect error message (somewhat)
/external/python/cpython2/Objects/complexobject.c
70aa1f20951a443dcd6387a23a8835bde596055f 22-Aug-2004 Martin v. Löwis <martin@v.loewis.de> Fix repr for negative imaginary part. Fixes #1013908.
/external/python/cpython2/Objects/complexobject.c
737ea82a5abd448b3e214b44d7d3c579b77e8155 08-Jun-2004 Martin v. Löwis <martin@v.loewis.de> Patch #774665: Make Python LC_NUMERIC agnostic.
/external/python/cpython2/Objects/complexobject.c
8ae468965700fd9900efc28bff8fa2015dae2bef 12-Oct-2003 Raymond Hettinger <python@rcn.com> Simplify and speedup uses of Py_BuildValue():

* Py_BuildValue("(OOO)",a,b,c) --> PyTuple_Pack(3,a,b,c)
* Py_BuildValue("()",a) --> PyTuple_New(0)
* Py_BuildValue("O", a) --> Py_INCREF(a)
/external/python/cpython2/Objects/complexobject.c
0970dbab97d82e23ba6a39ef21fe5c02f22bbc48 31-Aug-2003 Raymond Hettinger <python@rcn.com> Remove 'e.g.' from error message
/external/python/cpython2/Objects/complexobject.c
465fa3dac49e5bbbb7904c755ff999dd5362c83e 15-Aug-2003 Tim Peters <tim.peters@gmail.com> complex_new(): This could leak when the argument was neither string nor
number. This accounts for the 2 refcount leaks per test_complex run
Michael Hudson discovered (I figured only I would have the stomach to
look for leaks in floating-point code <wink>).
/external/python/cpython2/Objects/complexobject.c
5ecd6c4db2b9d4b2d536b0210ad5aaf23bfc4dee 17-Jun-2003 Walter Dörwald <walter@livinglogic.de> Fix typo in comment.
/external/python/cpython2/Objects/complexobject.c
4eadfa2b2eeca190546261149cbf1607488dea0a 02-Mar-2003 Guido van Rossum <guido@python.org> Fix from Greg Chapman from SF bug #695651: a complex subclass
constructor, when passed a single complex argument, returns the
argument unchanged. This should be done only for the complex base
class; a complex subclass should of course cast the value to the
subclass in this case.

The fix also revealed a segfault in complex_getnewargs(): the argument
for the Py_BuildValue() format code "D" is the *address* of a
Py_complex struct, not the value. (This corroborated by the API
documentation.)

I expect this needs to be backported to 2.2.3.
/external/python/cpython2/Objects/complexobject.c
5d9113d8be81596bc93f2b1a37f57e5110d39a77 29-Jan-2003 Guido van Rossum <guido@python.org> Implement appropriate __getnewargs__ for all immutable subclassable builtin
types. The special handling for these can now be removed from save_newobj().
Add some testing for this.

Also add support for setting the 'fast' flag on the Python Pickler class,
which suppresses use of the memo.
/external/python/cpython2/Objects/complexobject.c
604cd6ae79e0e7ff52b96bba9aa9fbd6c21e1e8f 29-Aug-2002 Raymond Hettinger <python@rcn.com> complex() was the only numeric constructor that created a new instance
when given its own type as an argument.
/external/python/cpython2/Objects/complexobject.c
e3a8e7ed1d221e5c19d0b3cd9796b393bc41dc68 19-Aug-2002 Guido van Rossum <guido@python.org> Call me anal, but there was a particular phrase that was speading to
comments everywhere that bugged me: /* Foo is inlined */ instead of
/* Inline Foo */. Somehow the "is inlined" phrase always confused me
for half a second (thinking, "No it isn't" until I added the missing
"here"). The new phrase is hopefully unambiguous.
/external/python/cpython2/Objects/complexobject.c
14f8b4cfcb98de74b9c6e9316539be9e2a5cd31f 13-Jun-2002 Martin v. Löwis <martin@v.loewis.de> Patch #568124: Add doc string macros.
/external/python/cpython2/Objects/complexobject.c
65ce6de35cdb973852fcd17323f7246ecabdbde4 13-Jun-2002 Guido van Rossum <guido@python.org> Rearrange the #ifndef WITHOUT_COMPLEX so it can be picked up from
pyconfig.h.
/external/python/cpython2/Objects/complexobject.c
478d47a168bf45da9014ac1a299a222726eda058 06-Jun-2002 Raymond Hettinger <python@rcn.com> Close SF bug 563740. complex() now finds __complex__() in new style classes.
Made conversion failure error messages consistent between types.
Added related unittests.
/external/python/cpython2/Objects/complexobject.c
69cf3c7641a7c4a76e0e66e3367f949d14d7d6c4 15-Apr-2002 Guido van Rossum <guido@python.org> Deprecate % as well. The message for deprecation of //, % and divmod
is the same in all three cases (mostly because // calls divmod :-).
/external/python/cpython2/Objects/complexobject.c
9ec4c78a5414883a9a22453d7930c2d26880570a 15-Apr-2002 Guido van Rossum <guido@python.org> SF bug #543387.

Complex numbers implement divmod() and //, neither of which makes one
lick of sense. Unfortunately this is documented, so I'm adding a
deprecation warning now, so we can delete this silliness, oh, around
2005 or so.

Bugfix candidate (At least for 2.2.2, I think.)
/external/python/cpython2/Objects/complexobject.c
077f27141fbd31849d6bba074e445bf391a0e6f4 15-Apr-2002 Tim Peters <tim.peters@gmail.com> SF bug 543840: complex(string) accepts strings with \0
complex_subtype_from_string(): this stopped parsing at the first 0
byte, as if that were the end of the input string.

Bugfix candidate.
/external/python/cpython2/Objects/complexobject.c
aa769ae468c7b857226ebe5b073b4c787a60445a 12-Apr-2002 Neil Schemenauer <nascheme@enme.ucalgary.ca> PyObject_Del can now be used as a function designator.
/external/python/cpython2/Objects/complexobject.c
bab22beda8583471caf44b2e91f0fc18b62d3405 22-Mar-2002 Tim Peters <tim.peters@gmail.com> SF bug 533198: Complex power underflow raises exception.
Konrad was too kind. Not only did it raise an exception, the specific
exception it raised made no sense. These are old bugs in complex_pow()
and friends:

1. Raising 0 to a negative power isn't a range error, it's a domain
error, so changed c_pow() to set errno to EDOM in that case instead
of ERANGE.

2. Changed complex_pow() to:

A. Used the Py_ADJUST_ERANGE2 macro to try to clear errno of a spurious
ERANGE error due to underflow in the libm pow() called by c_pow().

B. Produced different exceptions depending on the errno value:
i) For errno==EDOM, raise ZeroDivisionError instead of ValueError.
This is for consistency with the non-complex cases 0.0**-2 and
0**-2 and 0L**-2.
ii) For errno==ERANGE, raise OverflowError.

Bugfix candidate.
/external/python/cpython2/Objects/complexobject.c
fa2e4c27d26ebf34779fbd2d7f77e08fc7bf7bd2 08-Feb-2002 Guido van Rossum <guido@python.org> Declare real and imag as read-only attributes.

This fixes SF bug #514858 (Gregory Smith): complex not entirely
immutable

2.2.1 Bugfix candidate!
/external/python/cpython2/Objects/complexobject.c
526c7a0101d826fdab8b1ef5a757e1eae351687c 13-Dec-2001 Fred Drake <fdrake@acm.org> Ensure that complex() only accepts a string argument as the first arg,
and only if there is no second arg.
This closes SF patch #479551.
/external/python/cpython2/Objects/complexobject.c
01d697a06711d9070c459bc9f1028dd0abc79fab 28-Nov-2001 Barry Warsaw <barry@python.org> complex_to_buf(), complex_subtype_from_c_complex(): Conversion of
sprintf() to PyOS_snprintf() for buffer overrun avoidance.

complex_print(), complex_repr(), complex_str(): Call complex_to_buf()
passing in sizeof(buf).
/external/python/cpython2/Objects/complexobject.c
70e368836421a2e8c08dbd043a1540ad56d7ae5c 25-Oct-2001 Guido van Rossum <guido@python.org> complex_subtype_from_string(): move the declaration of s_buffer[] out
of the if block where it was before. The name is only used inside
that if block, but the storage is referenced outside it via the 's'
variable.

(This patch was part of SF patch #474590 -- RISC OS support.)
/external/python/cpython2/Objects/complexobject.c
9475a2310d9cdec4b4c36dee8bf30c72605ae928 05-Oct-2001 Guido van Rossum <guido@python.org> Enable GC for new-style instances. This touches lots of files, since
many types were subclassable but had a xxx_dealloc function that
called PyObject_DEL(self) directly instead of deferring to
self->ob_type->tp_free(self). It is permissible to set tp_free in the
type object directly to _PyObject_Del, for non-GC types, or to
_PyObject_GC_Del, for GC types. Still, PyObject_DEL was a tad faster,
so I'm fearing that our pystone rating is going down again. I'm not
sure if doing something like

void xxx_dealloc(PyObject *self)
{
if (PyXxxCheckExact(self))
PyObject_DEL(self);
else
self->ob_type->tp_free(self);
}

is any faster than always calling the else branch, so I haven't
attempted that -- however those types whose own dealloc is fancier
(int, float, unicode) do use this pattern.
/external/python/cpython2/Objects/complexobject.c
2ed6bf87c9ce5d2e8a0eb33f7aa6503196205a0c 27-Sep-2001 Guido van Rossum <guido@python.org> Merge branch changes (coercion, rich comparisons) into trunk.
/external/python/cpython2/Objects/complexobject.c
2205642fe0af9c00bbfa713dae1c8ba4562d2236 24-Sep-2001 Guido van Rossum <guido@python.org> Do the same thing to complex that I did to str: the rich comparison
function returns NotImplemented when comparing objects whose
tp_richcompare slot is not itself.
/external/python/cpython2/Objects/complexobject.c
6f7993765ac0989b5d13084240797913627a31d8 20-Sep-2001 Guido van Rossum <guido@python.org> Add optional docstrings to member descriptors. For backwards
compatibility, this required all places where an array of "struct
memberlist" structures was declared that is referenced from a type's
tp_members slot to change the type of the structure to PyMemberDef;
"struct memberlist" is now only used by old code that still calls
PyMember_Get/Set. The code in PyObject_GenericGetAttr/SetAttr now
calls the new APIs PyMember_GetOne/SetOne, which take a PyMemberDef
argument.

As examples, I added actual docstrings to the attributes of a few
types: file, complex, instance method, super, and xxsubtype.spamlist.

Also converted the symtable to new style getattr.
/external/python/cpython2/Objects/complexobject.c
638059603ca96a1e9b6d05f4d5c51a06a17b63ec 19-Sep-2001 Guido van Rossum <guido@python.org> complex_coerce(): add explicit PyComplex_Check() test. Previously,
complex_coerce() would never be called with a complex argument,
because PyNumber_Coerce[Ex] doesn't bother calling the type's coercion
method if the values already have the same type. But now, of course,
it's possible to pass an instance of a complex *subtype*, and those
must be accepted.
/external/python/cpython2/Objects/complexobject.c
2400fa4ad115e8ebe75c61c3bb96bd7cf2364dd4 12-Sep-2001 Tim Peters <tim.peters@gmail.com> Again perhaps the end of [#460020] bug or feature: unicode() and subclasses.
Inhibited complex unary plus optimization when applied to a complex subtype.
Added PyComplex_CheckExact macro. Some comments and minor code fiddling.
/external/python/cpython2/Objects/complexobject.c
387c547fd38d321e42bf202c166e9403e7ee9b61 06-Sep-2001 Martin v. Löwis <martin@v.loewis.de> Revert parts of patch #453627, documenting the resulting test failures
instead.
/external/python/cpython2/Objects/complexobject.c
655c9557f6e0da64527cb6f97da65d4b59232c29 05-Sep-2001 Martin v. Löwis <martin@v.loewis.de> Patch #453627: Define the following macros when compiling on a UnixWare 7.x system:
SCO_ATAN2_BUG, SCO_ACCEPT_BUG, and STRICT_SYSV_CURSES.
Work aroudn a bug in the SCO UnixWare atan2() implementation.
/external/python/cpython2/Objects/complexobject.c
9fffa3eea3a7e99b0179988e7a016a45bf63ab96 04-Sep-2001 Tim Peters <tim.peters@gmail.com> Raise OverflowError when appropriate on long->float conversion. Most of
the fiddling is simply due to that no caller of PyLong_AsDouble ever
checked for failure (so that's fixing old bugs). PyLong_AsDouble is much
faster for big inputs now too, but that's more of a happy consequence
than a design goal.
/external/python/cpython2/Objects/complexobject.c
1832de4bc07e7ffd5938b41e8d7d8fcf8b5e12e2 04-Sep-2001 Guido van Rossum <guido@python.org> PEP 238 documented -Qwarn as warning only for classic int or long
division, and this makes sense. Add -Qwarnall to warn for all
classic divisions, as required by the fixdiv.py tool.
/external/python/cpython2/Objects/complexobject.c
393661d15fa76ec46e9f7b71e97bf2ed38470620 31-Aug-2001 Guido van Rossum <guido@python.org> Add warning mode for classic division, almost exactly as specified in
PEP 238. Changes:

- add a new flag variable Py_DivisionWarningFlag, declared in
pydebug.h, defined in object.c, set in main.c, and used in
{int,long,float,complex}object.c. When this flag is set, the
classic division operator issues a DeprecationWarning message.

- add a new API PyRun_SimpleStringFlags() to match
PyRun_SimpleString(). The main() function calls this so that
commands run with -c can also benefit from -Dnew.

- While I was at it, I changed the usage message in main() somewhat:
alphabetized the options, split it in *four* parts to fit in under
512 bytes (not that I still believe this is necessary -- doc strings
elsewhere are much longer), and perhaps most visibly, don't display
the full list of options on each command line error. Instead, the
full list is only displayed when -h is used, and otherwise a brief
reminder of -h is displayed. When -h is used, write to stdout so
that you can do `python -h | more'.

Notes:

- I don't want to use the -W option to control whether the classic
division warning is issued or not, because the machinery to decide
whether to display the warning or not is very expensive (it involves
calling into the warnings.py module). You can use -Werror to turn
the warnings into exceptions though.

- The -Dnew option doesn't select future division for all of the
program -- only for the __main__ module. I don't know if I'll ever
change this -- it would require changes to the .pyc file magic
number to do it right, and a more global notion of compiler flags.

- You can usefully combine -Dwarn and -Dnew: this gives the __main__
module new division, and warns about classic division everywhere
else.
/external/python/cpython2/Objects/complexobject.c
339d0f720e86dc34837547c90d3003a4a68d7d46 17-Aug-2001 Martin v. Löwis <martin@v.loewis.de> Patch #445762: Support --disable-unicode
- Do not compile unicodeobject, unicodectype, and unicodedata if Unicode is disabled
- check for Py_USING_UNICODE in all places that use Unicode functions
- disables unicode literals, and the builtin functions
- add the types.StringTypes list
- remove Unicode literals from most tests.
/external/python/cpython2/Objects/complexobject.c
e3eb1f2b2320bceb10a763ec8691200b85ec287a 16-Aug-2001 Martin v. Löwis <martin@v.loewis.de> Patch #427190: Implement and use METH_NOARGS and METH_O.
/external/python/cpython2/Objects/complexobject.c
4668b000a1d9113394941ad39875c827634feb49 08-Aug-2001 Guido van Rossum <guido@python.org> 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.
/external/python/cpython2/Objects/complexobject.c
6d6c1a35e08b95a83dbe47dbd9e6474daff00354 02-Aug-2001 Tim Peters <tim.peters@gmail.com> Merge of descr-branch back into trunk.
/external/python/cpython2/Objects/complexobject.c
0f33604e1783d2302006e79713d5d279093405b3 18-Mar-2001 Tim Peters <tim.peters@gmail.com> SF bug [ #409448 ] Complex division is braindead
http://sourceforge.net/tracker/?func=detail&aid=409448&group_id=5470&atid=105470
Now less braindead. Also added test_complex.py, which doesn't test much, but
fails without this patch.
/external/python/cpython2/Objects/complexobject.c
7069512bd0e09c28a448f21721364ce9c5daa713 11-Mar-2001 Tim Peters <tim.peters@gmail.com> When 1.6 boosted the # of digits produced by repr(float), repr(complex)
apparently forgot to play along. Make complex act like float.
/external/python/cpython2/Objects/complexobject.c
be4cbb16681ba9274b3017d9ccf3bcb2a2dbc30c 18-Jan-2001 Guido van Rossum <guido@python.org> Use rich comparisons to fulfill an old wish: complex numbers now raise
exceptions when compared using <, <=, > or >=.

NOTE: This is a tentative change: this means that cmp() involving
complex numbers will raise an exception when the numbers differ, and
that in turn means that e.g. dictionaries and certain other compounds
(e.g. UserLists) containing complex numbers can't be compared either.
So we'll have to decide whether this is acceptable. The alpha test
cycle is a good time to keep an eye on this!
/external/python/cpython2/Objects/complexobject.c
d5fadf75e4d18df61db41205ace0cda28d98eeaa 26-Sep-2000 Fred Drake <fdrake@acm.org> Rationalize use of limits.h, moving the inclusion to Python.h.
Add definitions of INT_MAX and LONG_MAX to pyport.h.
Remove includes of limits.h and conditional definitions of INT_MAX
and LONG_MAX elsewhere.

This closes SourceForge patch #101659 and bug #115323.
/external/python/cpython2/Objects/complexobject.c
8586991099e4ace18ee94163a96b8ea1bed77ebe 02-Sep-2000 Guido van Rossum <guido@python.org> REMOVED all CWI, CNRI and BeOpen copyright markings.
This should match the situation in the 1.6b1 tree.
/external/python/cpython2/Objects/complexobject.c
39dce29365d287dc6b353b2a527dc11fe58dcfa6 15-Aug-2000 Tim Peters <tim.peters@gmail.com> Fix for http://sourceforge.net/bugs/?func=detailbug&bug_id=111866&group_id=5470.
This was a misleading bug -- the true "bug" was that hash(x) gave an error
return when x is an infinity. Fixed that. Added new Py_IS_INFINITY macro to
pyport.h. Rearranged code to reduce growing duplication in hashing of float and
complex numbers, pushing Trent's earlier stab at that to a logical conclusion.
Fixed exceedingly rare bug where hashing of floats could return -1 even if there
wasn't an error (didn't waste time trying to construct a test case, it was simply
obvious from the code that it *could* happen). Improved complex hash so that
hash(complex(x, y)) doesn't systematically equal hash(complex(y, x)) anymore.
/external/python/cpython2/Objects/complexobject.c
7e018909862a3fe6c571bbb7143f4ffb18ae834c 31-Jul-2000 Peter Schneider-Kamp <nowonder@nowonder.de> merge Include/my*.h into Include/pyport.h

marked my*.h as obsolete
/external/python/cpython2/Objects/complexobject.c
4288c80599642880dd5710ccd2ce5d2c80696a81 09-Jul-2000 Fred Drake <fdrake@acm.org> ANSI-fication of the sources.
/external/python/cpython2/Objects/complexobject.c
ffcc3813d82e6b96db79f518f4e67b940a13ce64 01-Jul-2000 Guido van Rossum <guido@python.org> Change copyright notice - 2nd try.
/external/python/cpython2/Objects/complexobject.c
fd71b9e9d496caa510dec56a9b69966558d6ba5d 01-Jul-2000 Guido van Rossum <guido@python.org> Change copyright notice.
/external/python/cpython2/Objects/complexobject.c
13634cf7a407202777285172a57cfcddb20a2047 29-Jun-2000 Fred Drake <fdrake@acm.org> This patch addresses two main issues: (1) There exist some non-fatal
errors in some of the hash algorithms. For exmaple, in float_hash and
complex_hash a certain part of the value is not included in the hash
calculation. See Tim's, Guido's, and my discussion of this on
python-dev in May under the title "fix float_hash and complex_hash for
64-bit *nix"

(2) The hash algorithms that use pointers (e.g. func_hash, code_hash)
are universally not correct on Win64 (they assume that sizeof(long) ==
sizeof(void*))

As well, this patch significantly cleans up the hash code. It adds the
two function _Py_HashDouble and _PyHash_VoidPtr that the various
hashing routine are changed to use.

These help maintain the hash function invariant: (a==b) =>
(hash(a)==hash(b))) I have added Lib/test/test_hash.py and
Lib/test/output/test_hash to test this for some cases.
/external/python/cpython2/Objects/complexobject.c
b18618dab7b6b85bb05b084693706e59211fa180 04-May-2000 Guido van Rossum <guido@python.org> Vladimir Marangozov's long-awaited malloc restructuring.
For more comments, read the patches@python.org archives.
For documentation read the comments in mymalloc.h and objimpl.h.

(This is not exactly what Vladimir posted to the patches list; I've
made a few changes, and Vladimir sent me a fix in private email for a
problem that only occurs in debug mode. I'm also holding back on his
change to main.c, which seems unnecessary to me.)
/external/python/cpython2/Objects/complexobject.c
43713e5a2899930a8698e244b0d0fef59a676d17 29-Feb-2000 Guido van Rossum <guido@python.org> Massive patch by Skip Montanaro to add ":name" to as many
PyArg_ParseTuple() format string arguments as possible.
/external/python/cpython2/Objects/complexobject.c
bffd683f7356d92d4504b2bcaa7221fab3f52f4e 20-Jan-2000 Guido van Rossum <guido@python.org> The rest of the changes by Trent Mick and Dale Nagata for warning-free
compilation on NT Alpha. Mostly added casts etc.
/external/python/cpython2/Objects/complexobject.c
3bbef60990583cb61e797ccf902a122ffa6c923a 25-Jan-1999 Guido van Rossum <guido@python.org> Ai! complex_nonzero() has && which should be ||, else decidedly
non-zero things like 5j and complex(1,0) are considered to be
zero/false. Tim Peters.
/external/python/cpython2/Objects/complexobject.c
8530ef625aabda9d11ffcee8c4c6fd7230c05185 07-May-1998 Guido van Rossum <guido@python.org> Add check to conjugate() that there are no excess arguments.
/external/python/cpython2/Objects/complexobject.c
967839473aadea9b3e3d9e50abdc862e3090fb99 20-May-1997 Guido van Rossum <guido@python.org> Got rid of c_error in favor of errno (and EDOM/ERANGE).
Assume that errno usage is thread-safe -- most vendors do this by
making in a macro that refers to a per-thread storage area.
/external/python/cpython2/Objects/complexobject.c
c0b618a2ccfb0fc39e07ee96dc09da77fbcce1b1 02-May-1997 Guido van Rossum <guido@python.org> Quickly renamed the last directory.
/external/python/cpython2/Objects/complexobject.c
801776742082034cc6193530326af042d5af56a5 09-Apr-1997 Guido van Rossum <guido@python.org> Remove unused variable.
/external/python/cpython2/Objects/complexobject.c
c054d70aee8080dcbb81a0231fcd416811ffe830 01-Apr-1997 Guido van Rossum <guido@python.org> Get rid of .conj pseudo data attribute for complex numbers.
Add __members__ attribute.
/external/python/cpython2/Objects/complexobject.c
45b83915f8d5974045d374c981531d9b98570df1 14-Mar-1997 Guido van Rossum <guido@python.org> New form of PyFPE_END_PROTECT macro.
/external/python/cpython2/Objects/complexobject.c
09e6ad0c1e1c7b3c6132ab2d5dd85c5cc376721d 14-Feb-1997 Guido van Rossum <guido@python.org> Changes for Lee Busby's SIGFPE patch set.
Surround various f.p. operations with PyFPE_{START,END}_PROTECT macros.
/external/python/cpython2/Objects/complexobject.c
919cf1aff1b28d784fa91e31994875aa91a9ed55 11-Jan-1997 Guido van Rossum <guido@python.org> New, better hash for floating point and complex
/external/python/cpython2/Objects/complexobject.c
da9c2710c728407f47f34635a75647c56a9ec106 05-Dec-1996 Guido van Rossum <guido@python.org> Make gcc -Wall happy
/external/python/cpython2/Objects/complexobject.c
24048580ca44130cf6250abded6d9592c7befaa8 12-Sep-1996 Guido van Rossum <guido@python.org> Oops... Need to clear c_error before calling c_quot().
/external/python/cpython2/Objects/complexobject.c
3be12e97cdcfc1c60ad482ea156c871d7ab01ce6 12-Sep-1996 Guido van Rossum <guido@python.org> Properly(?) implemented remainder and divmod (Tim Hochberg)
/external/python/cpython2/Objects/complexobject.c
d4ab3cde8e75015ccbf38274ea57830542f3f472 12-Sep-1996 Guido van Rossum <guido@python.org> Raise exception instead of dropping imag part for conversion to int,
long, float.

Raise exception instead of dumping core for remainder and divmod.
/external/python/cpython2/Objects/complexobject.c
ee09fc1c3052a0dc2c6557431cb31e1197917ce1 11-Sep-1996 Guido van Rossum <guido@python.org> Don't dump core on complex % or divmod -- raise a TypeError exception.
/external/python/cpython2/Objects/complexobject.c
926518b6839be235e02e8e3a88a9d03017938b10 19-Aug-1996 Guido van Rossum <guido@python.org> Changes to make the file acceptable to K&R C compilers (HPUX, SunOS 4.x).
/external/python/cpython2/Objects/complexobject.c
9e720e390a97796629a82c90e257b74cd1311b3f 21-Jul-1996 Guido van Rossum <guido@python.org> complex -> Py_complex
/external/python/cpython2/Objects/complexobject.c
363078afa4ef9a8f2fdd327a988ef883bb850eb3 24-May-1996 Guido van Rossum <guido@python.org> make some things static
/external/python/cpython2/Objects/complexobject.c
724187929a9eec53e82f68d4826279723051dbcb 25-Jan-1996 Guido van Rossum <guido@python.org> use 'j' instead of 'i' for imaginary constants
/external/python/cpython2/Objects/complexobject.c
1e7b2aa5d60fab438f0395633804f3ee5c7c9ca4 25-Jan-1996 Jack Jansen <jack.jansen@cwi.nl> Removed unused var
/external/python/cpython2/Objects/complexobject.c
cf3d1087d1285be03a1e450a39130aea74890c67 12-Jan-1996 Guido van Rossum <guido@python.org> Added PyComplex_AsCComplex
/external/python/cpython2/Objects/complexobject.c
f9fca9252f64a93b4598615c504011fa385333ae 12-Jan-1996 Guido van Rossum <guido@python.org> complex numbers a la Konrad Hinsen
/external/python/cpython2/Objects/complexobject.c