mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
Removed static function complex_format, moved it into complex_repr. Modified tests to check both str and repr, which are the same for complex.
This commit is contained in:
parent
7b1bee47ae
commit
70099a1555
2 changed files with 28 additions and 26 deletions
|
@ -324,10 +324,11 @@ complex_dealloc(PyObject *op)
|
|||
op->ob_type->tp_free(op);
|
||||
}
|
||||
|
||||
|
||||
static PyObject *
|
||||
complex_format(PyComplexObject *v, int precision, char format_code)
|
||||
complex_repr(PyComplexObject *v)
|
||||
{
|
||||
int precision = 0;
|
||||
char format_code = 'r';
|
||||
PyObject *result = NULL;
|
||||
Py_ssize_t len;
|
||||
|
||||
|
@ -344,6 +345,8 @@ complex_format(PyComplexObject *v, int precision, char format_code)
|
|||
char *tail = "";
|
||||
|
||||
if (v->cval.real == 0. && copysign(1.0, v->cval.real)==1.0) {
|
||||
/* Real part is +0: just output the imaginary part and do not
|
||||
include parens. */
|
||||
re = "";
|
||||
im = PyOS_double_to_string(v->cval.imag, format_code,
|
||||
precision, 0, NULL);
|
||||
|
@ -352,7 +355,8 @@ complex_format(PyComplexObject *v, int precision, char format_code)
|
|||
goto done;
|
||||
}
|
||||
} else {
|
||||
/* Format imaginary part with sign, real part without */
|
||||
/* Format imaginary part with sign, real part without. Include
|
||||
parens in the result. */
|
||||
pre = PyOS_double_to_string(v->cval.real, format_code,
|
||||
precision, 0, NULL);
|
||||
if (!pre) {
|
||||
|
@ -371,7 +375,7 @@ complex_format(PyComplexObject *v, int precision, char format_code)
|
|||
tail = ")";
|
||||
}
|
||||
/* Alloc the final buffer. Add one for the "j" in the format string,
|
||||
and one for the trailing zero. */
|
||||
and one for the trailing zero byte. */
|
||||
len = strlen(lead) + strlen(re) + strlen(im) + strlen(tail) + 2;
|
||||
buf = PyMem_Malloc(len);
|
||||
if (!buf) {
|
||||
|
@ -388,12 +392,6 @@ complex_format(PyComplexObject *v, int precision, char format_code)
|
|||
return result;
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
complex_repr(PyComplexObject *v)
|
||||
{
|
||||
return complex_format(v, 0, 'r');
|
||||
}
|
||||
|
||||
static Py_hash_t
|
||||
complex_hash(PyComplexObject *v)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue