summaryrefslogtreecommitdiffstats
path: root/Objects/longobject.c
Commit message (Collapse)AuthorAgeFilesLines
* bpo-35064 prefix smelly symbols that appear with COUNT_ALLOCS with _Py_ ↵Pablo Galindo2018-10-281-3/+3
| | | | | | | (GH-10152) Configuring python with ./configure --with-pydebug CFLAGS="-D COUNT_ALLOCS -O0" makes "make smelly" fail as some symbols were being exported without the "Py_" or "_Py" prefixes.
* bpo-35059: Convert PyObject_INIT() to function (GH-10077)Victor Stinner2018-10-261-2/+2
| | | | | * Convert PyObject_INIT() and PyObject_INIT_VAR() macros to static inline functions. * Fix usage of these functions: cast to PyObject* or PyVarObject*.
* bpo-33073: Rework int.as_integer_ratio() implementation (GH-9303)Serhiy Storchaka2018-10-191-6/+1
| | | | | * Simplify the C code. * Simplify tests and make them more strict and robust. * Add references in the documentation.
* bpo-34899: Fix a possible assertion failure due to int_from_bytes_impl() ↵Zackery Spytz2018-10-051-1/+1
| | | | | | | (GH-9705) The _PyLong_FromByteArray() call in int_from_bytes_impl() was unchecked.
* Fix compiler warning with a type cast (GH-9300)Raymond Hettinger2018-09-141-1/+1
|
* Fix-up parenthesis, organization, and NULL check (GH-9297)Raymond Hettinger2018-09-141-6/+11
|
* bpo-33073: Adding as_integer_ratio to ints. (GH-8750)Lisa Roach2018-09-141-0/+31
|
* bpo-20260: Implement non-bitwise unsigned int converters for Argument ↵Serhiy Storchaka2018-07-261-0/+96
| | | | Clinic. (GH-8434)
* bpo-33012: Fix invalid function casts for long_long. (GH-6652)Serhiy Storchaka2018-04-301-17/+25
| | | | | long_long() was used with three function types: PyCFunction, getter and unaryfunction.
* bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. ↵Siddhesh Poyarekar2018-04-291-10/+10
| | | | | | | | | (GH-6030) METH_NOARGS functions need only a single argument but they are cast into a PyCFunction, which takes two arguments. This triggers an invalid function cast warning in gcc8 due to the argument mismatch. Fix this by adding a dummy unused argument.
* PyLong_FromString(): fix Coverity CID 1424951 (#4738)Victor Stinner2017-12-071-3/+2
| | | | | | | | | | | Explicitly cast digits (Py_ssize_t) to double to fix the following false-alarm warning from Coverity: "fsize_z = digits * log_base_BASE[base] + 1;" CID 1424951: Incorrect expression (UNINTENDED_INTEGER_DIVISION) Dividing integer expressions "9223372036854775783UL" and "4UL", and then converting the integer quotient to type "double". Any remainder, or fractional part of the quotient, is ignored.
* bpo-31619: Fixed integer overflow in converting huge strings to int. (#3884)Serhiy Storchaka2017-12-031-3/+11
|
* bpo-16055: Fixes incorrect error text for int('1', base=1000) (#4376)Sanyam Khurana2017-11-131-1/+1
| | | | | | * bpo-16055: Fixes incorrect error text for int('1', base=1000) * bpo-16055: Address review comments
* bpo-31979: Simplify transforming decimals to ASCII (#4336)Serhiy Storchaka2017-11-131-12/+9
| | | | | in int(), float() and complex() parsers. This also speeds up parsing non-ASCII numbers by around 20%.
* bpo-23699: Use a macro to reduce boilerplate code in rich comparison ↵stratakis2017-11-021-30/+1
| | | | functions (GH-793)
* bpo-31619: Fixed a ValueError when convert a string with large number of ↵Serhiy Storchaka2017-10-031-4/+4
| | | | | underscores (#3827) to integer with binary base.
* bpo-31338 (#3374)Barry Warsaw2017-09-151-4/+3
| | | | | | | * Add Py_UNREACHABLE() as an alias to abort(). * Use Py_UNREACHABLE() instead of assert(0) * Convert more unreachable code to use Py_UNREACHABLE() * Document Py_UNREACHABLE() and a few other macros.
* bpo-29816: Shift operation now has less opportunity to raise OverflowError. ↵Serhiy Storchaka2017-03-301-22/+48
| | | | | | | (#680) ValueError always is raised rather than OverflowError for negative counts. Shifting zero with non-negative count always returns zero.
* bpo-29878: Add global instances of int for 0 and 1. (#852)Serhiy Storchaka2017-03-301-26/+21
|
* bpo-29793: Convert some builtin types constructors to Argument Clinic. (#615)Serhiy Storchaka2017-03-191-10/+14
|
* bpo-29749: Update int() docstring (GH-565)svelankar2017-03-091-1/+1
| | | The docstring did not properly represent the fact that the argument to int() was positional-only.
* bpo-29695: Remove bad keyword parameters in int(), bool(), float(), list() ↵Serhiy Storchaka2017-03-061-7/+1
| | | | and tuple(). (#518)
* remove 3 redundant casts in Objects/longobject.c (#445)orenmn2017-03-061-3/+3
|
* bpo-29695: Deprecated using bad named keyword arguments in builtings: (#486)Serhiy Storchaka2017-03-051-0/+6
| | | | int(), bool(), float(), list() and tuple(). Specify the value as a positional argument instead.
* Issue #29421: Make int.to_bytes() and int.from_bytes() slightly fasterSerhiy Storchaka2017-02-021-4/+7
| | | | (10-20% for small integers).
* Issue #20185: Converted the int class to Argument Clinic.Serhiy Storchaka2017-02-011-135/+111
| | | | Based on patch by Vajrasky Kok.
* Backed out changeset b9c9691c72c5Victor Stinner2016-12-041-1/+2
| | | | | | Issue #28858: The change b9c9691c72c5 introduced a regression. It seems like _PyObject_CallArg1() uses more stack memory than PyObject_CallFunctionObjArgs().
* Replace PyObject_CallFunctionObjArgs() with fastcallVictor Stinner2016-12-011-2/+1
| | | | | | | | | | | | | | * PyObject_CallFunctionObjArgs(func, NULL) => _PyObject_CallNoArg(func) * PyObject_CallFunctionObjArgs(func, arg, NULL) => _PyObject_CallArg1(func, arg) PyObject_CallFunctionObjArgs() allocates 40 bytes on the C stack and requires extra work to "parse" C arguments to build a C array of PyObject*. _PyObject_CallNoArg() and _PyObject_CallArg1() are simpler and don't allocate memory on the C stack. This change is part of the fastcall project. The change on listsort() is related to the issue #23507.
* Issue #19569: Compiler warnings are now emitted if use most of deprecatedSerhiy Storchaka2016-11-201-1/+1
| | | | functions.
* Added the const qualifier to char* variables that refer to readonly internalSerhiy Storchaka2016-11-201-1/+2
| | | | UTF-8 represenatation of Unicode objects.
* Issue #28701: Replace PyUnicode_CompareWithASCIIString with ↵Serhiy Storchaka2016-11-161-4/+4
|\ | | | | | | | | | | _PyUnicode_EqualToASCIIString. The latter function is more readable, faster and doesn't raise exceptions.
| * Issue #28701: Replace PyUnicode_CompareWithASCIIString with ↵Serhiy Storchaka2016-11-161-4/+4
| |\ | | | | | | | | | | | | | | | _PyUnicode_EqualToASCIIString. The latter function is more readable, faster and doesn't raise exceptions.
| | * Issue #28701: Replace PyUnicode_CompareWithASCIIString with ↵Serhiy Storchaka2016-11-161-4/+4
| | | | | | | | | | | | | | | | | | _PyUnicode_EqualToASCIIString. The latter function is more readable, faster and doesn't raise exceptions.
* | | Issue #28621: Sped up converting int to float by reusing faster bits countingSerhiy Storchaka2016-11-081-32/+28
| | | | | | | | | | | | implementation. Patch by Adrian Wielgosik.
* | | Issue #27111: Minor simplication to long_add and long_sub fast path code. ↵Mark Dickinson2016-09-171-6/+2
| | | | | | | | | | | | Thanks Oren Milman.
* | | Issue #27441: Remove some redundant assignments to ob_size in longobject.c. ↵Mark Dickinson2016-09-171-2/+0
| | | | | | | | | | | | Thanks Oren Milman.
* | | Issue #27222: various cleanups in long_rshift. Thanks Oren Milman.Mark Dickinson2016-09-171-11/+7
|/ /
* | Issue #25221: merge from 3.5.Mark Dickinson2016-09-101-1/+2
|\ \ | |/
| * Issue #25221: Fix corrupted result from PyLong_FromLong(0) when Python is ↵Mark Dickinson2016-09-101-1/+2
| | | | | | | | compiled with NSMALLPOSINTS = 0.
| * Issue #27895: Spelling fixes (Contributed by Ville Skyttä).Martin Panter2016-09-071-1/+1
| |
* | Issue #26331: Implement the parsing part of PEP 515.Brett Cannon2016-09-091-37/+132
| | | | | | | | Thanks to Georg Brandl for the patch.
* | replace PY_SIZE_MAX with SIZE_MAXBenjamin Peterson2016-09-071-1/+1
| |
* | replace Py_(u)intptr_t with the c99 standard typesBenjamin Peterson2016-09-061-2/+2
| |
* | remove some silly defined() testsBenjamin Peterson2016-09-061-2/+2
| |
* | replace PY_LONG_LONG with long longBenjamin Peterson2016-09-061-40/+40
| |
* | require a long long data type (closes #27961)Benjamin Peterson2016-09-061-20/+0
| |
* | Issue #27895: Spelling fixes (Contributed by Ville Skyttä).Raymond Hettinger2016-08-301-1/+1
| |
* | Issue #27870: A left shift of zero by a large integer no longer attempts to ↵Mark Dickinson2016-08-291-0/+5
| | | | | | | | allocate large amounts of memory.
* | Issue #25402: in int-to-decimal-string conversion, reduce intermediate ↵Mark Dickinson2016-08-291-8/+11
| | | | | | | | storage requirements and relax restriction on converting large integers. Patch by Serhiy Storchaka.
* | Issue #27214: Fix potential bug and remove useless optimization in ↵Mark Dickinson2016-08-291-2/+4
| | | | | | | | long_invert. Thanks Oren Milman.