mirror of
https://github.com/python/cpython.git
synced 2025-08-22 17:55:18 +00:00
bpo-31979: Simplify transforming decimals to ASCII (#4336)
in int(), float() and complex() parsers. This also speeds up parsing non-ASCII numbers by around 20%.
This commit is contained in:
parent
ce12629c84
commit
9b6c60cbce
7 changed files with 63 additions and 139 deletions
|
@ -914,10 +914,10 @@ complex_subtype_from_string(PyTypeObject *type, PyObject *v)
|
|||
if (s_buffer == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
assert(PyUnicode_IS_ASCII(s_buffer));
|
||||
/* Simply get a pointer to existing ASCII characters. */
|
||||
s = PyUnicode_AsUTF8AndSize(s_buffer, &len);
|
||||
if (s == NULL) {
|
||||
goto exit;
|
||||
}
|
||||
assert(s != NULL);
|
||||
}
|
||||
else {
|
||||
PyErr_Format(PyExc_TypeError,
|
||||
|
@ -928,7 +928,6 @@ complex_subtype_from_string(PyTypeObject *type, PyObject *v)
|
|||
|
||||
result = _Py_string_to_number_with_underscores(s, len, "complex", v, type,
|
||||
complex_from_string_inner);
|
||||
exit:
|
||||
Py_DECREF(s_buffer);
|
||||
return result;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue