Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Move float conversion into a macro. Apply to fsum (GH-11698) | Raymond Hettinger | 2019-01-30 | 1 | -49/+32 |
| | |||||
* | Fast path for int inputs to math.dist() and math.hypot() (GH-11692) | Raymond Hettinger | 2019-01-28 | 1 | -3/+24 |
| | |||||
* | bpo-35719: Optimize multi-argument math functions. (GH-11527) | Serhiy Storchaka | 2019-01-12 | 1 | -19/+18 |
| | | | | | Use the fast call convention for math functions atan2(), copysign(), hypot() and remainder() and inline unpacking arguments. This sped up them by 1.3--2.5 times. | ||||
* | bpo-34838: Use subclass_of for math.dist. (GH-9659) | Ammar Askar | 2019-01-12 | 1 | -8/+3 |
| | | | | | Argument clinic now generates fast inline code for positional parsing, so the manually implemented type check in math.dist can be removed. | ||||
* | bpo-35436: Add missing PyErr_NoMemory() calls and other minor bug fixes. ↵ | Zackery Spytz | 2018-12-07 | 1 | -3/+4 |
| | | | | | | (GH-11015) Set MemoryError when appropriate, add missing failure checks, and fix some potential leaks. | ||||
* | Fixing wording in comment. (GH-10425) | Raymond Hettinger | 2018-11-09 | 1 | -1/+1 |
| | | | | Since the n==1 case just returns *max*, it cannot be larger than the magnitude of the vector entry. | ||||
* | Speed-up math.dist() by 30% (GH-9628) | Raymond Hettinger | 2018-09-29 | 1 | -3/+8 |
| | |||||
* | bpo-33083 - Make math.factorial reject arguments that are not int-like (GH-6149) | Pablo Galindo | 2018-09-03 | 1 | -3/+9 |
| | | | math.factorial() was accepting non-integral Decimal instances. This is inconsistent with the actual behaviour for floats, which are not accepted. | ||||
* | Minor improvement to code clarity (GH-9036) | Raymond Hettinger | 2018-09-02 | 1 | -1/+1 |
| | | | Make it clear that the n==0 case is included. Otherwise, you have to know that max==0.0 whenever n==0. | ||||
* | Simplify vector_norm() by eliminating special cases in the main loop (GH-9006) | Raymond Hettinger | 2018-08-31 | 1 | -22/+18 |
| | | | The *max* value is no longer treated as a special case in the main loop. Besides making the main loop simpler and branchless, this also lets us relax the input restriction of *vec* to contain only non-negative values. | ||||
* | Improve commutativity of math.hypot() and math.dist() (GH-8984) | Raymond Hettinger | 2018-08-29 | 1 | -13/+19 |
| | |||||
* | Fast path for exact floats in math.hypot() and math.dist() (GH-8949) | Raymond Hettinger | 2018-08-27 | 1 | -9/+21 |
| | |||||
* | Minor code clean-up. Don't alter the input vector. Use variables instead. ↵ | Raymond Hettinger | 2018-08-12 | 1 | -4/+5 |
| | | | | GH-8748 | ||||
* | Add more tests and assertions for math.hypot() and math.dist() (GH-8747) | Raymond Hettinger | 2018-08-12 | 1 | -0/+1 |
| | |||||
* | Factor-out common code. Also, optimize common cases by preallocating space ↵ | Raymond Hettinger | 2018-08-12 | 1 | -41/+56 |
| | | | | | on the stack. GH-8738 Improves speed by 9 to 10ns per call. | ||||
* | Replace straight addition with Kahan summation and move max to the end (GH-8727) | Raymond Hettinger | 2018-08-11 | 1 | -20/+45 |
| | |||||
* | bpo-33089: Add math.dist() for computing the Euclidean distance between two ↵ | Raymond Hettinger | 2018-07-31 | 1 | -0/+84 |
| | | | | points (GH-8561) | ||||
* | bpo-33089: Multidimensional math.hypot() (GH-8474) | Raymond Hettinger | 2018-07-28 | 1 | -38/+63 |
| | |||||
* | bpo-31338 (#3374) | Barry Warsaw | 2017-09-15 | 1 | -2/+1 |
| | | | | | | | * 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-29962: add math.remainder (#950) | Mark Dickinson | 2017-04-05 | 1 | -0/+103 |
| | | | | | | | | | | | | | | * Implement math.remainder. * Fix markup for arguments; use double spaces after period. * Mark up function reference in what's new entry. * Add comment explaining the calculation in the final branch. * Fix out-of-order entry in whatsnew. * Add comment explaining why it's good enough to compare m with c, in spite of possible rounding error. | ||||
* | bpo-29946: Fix "sqrtpi defined but not used" (#908) | Louie Lu | 2017-03-30 | 1 | -1/+3 |
| | |||||
* | bpo-26121: Revert to using the own implementations of lgamma and gamma on ↵ | Serhiy Storchaka | 2017-03-12 | 1 | -31/+0 |
| | | | | all platforms. (#637) | ||||
* | bpo-26121: Use C library implementation for math functions: (#515) | Serhiy Storchaka | 2017-03-11 | 1 | -1/+45 |
| | | | | | | | * bpo-26121: Use C library implementation for math functions: tgamma(), lgamma(), erf() and erfc(). * Don't use tgamma() and lgamma() from libc on OS X. | ||||
* | Issue #29282: Backed out changeset b33012ef1417 | Mark Dickinson | 2017-01-21 | 1 | -42/+0 |
| | |||||
* | Issue #29282: add fused multiply-add function, math.fma. | Mark Dickinson | 2017-01-21 | 1 | -0/+42 |
| | |||||
* | Issue #20186: Converted the math module to Argument Clinic. | Serhiy Storchaka | 2017-01-19 | 1 | -247/+384 |
| | | | | Patch by Tal Einat. | ||||
* | Use _PyObject_CallNoArg() | Victor Stinner | 2016-12-06 | 1 | -3/+3 |
| | | | | | | | Replace: PyObject_CallFunctionObjArgs(callable, NULL) with: _PyObject_CallNoArg(callable) | ||||
* | Backed out changeset b9c9691c72c5 | Victor Stinner | 2016-12-04 | 1 | -3/+3 |
| | | | | | | Issue #28858: The change b9c9691c72c5 introduced a regression. It seems like _PyObject_CallArg1() uses more stack memory than PyObject_CallFunctionObjArgs(). | ||||
* | Replace PyObject_CallFunctionObjArgs() with fastcall | Victor Stinner | 2016-12-01 | 1 | -3/+3 |
| | | | | | | | | | | | | | | * 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 #27895: Spelling fixes (Contributed by Ville Skyttä). | Raymond Hettinger | 2016-08-30 | 1 | -1/+1 |
| | |||||
* | Issue #12345: Add mathemathcal constant tau to math and cmath. | Guido van Rossum | 2016-08-15 | 1 | -0/+1 |
| | | | | Patch by Lisa Roach. See also PEP 628. | ||||
* | Issue #26512: Merge rounding doc from 3.5 | Martin Panter | 2016-05-08 | 1 | -4/+4 |
|\ | |||||
| * | Issue #26512: Clarify Integral; tidy up table of rounding functions | Martin Panter | 2016-05-08 | 1 | -4/+4 |
| | | | | | | | | Based on patch by Julien. | ||||
* | | Issue #26898: Fix typo in math.isclose() docstring | Berker Peksag | 2016-05-01 | 1 | -1/+1 |
|\ \ | |/ | | | | | Patch by Marco Buttu. | ||||
| * | Issue #26898: Fix typo in math.isclose() docstring | Berker Peksag | 2016-05-01 | 1 | -1/+1 |
| | | | | | | | | Patch by Marco Buttu. | ||||
* | | Merge for issue #26114 | Brett Cannon | 2016-01-15 | 1 | -3/+2 |
|\ \ | |/ | |||||
| * | Issue #26114: Remove a reference to 'Numerical Recipes'. | Brett Cannon | 2016-01-15 | 1 | -3/+2 |
| | | | | | | | | | | | | While no copyright violation occurred, the license which 'Numerical Recipes' operates under is not amenable to Python, so to prevent confusion it's easier to simply remove its mention. | ||||
* | | Issue #25923: Added more const qualifiers to signatures of static and ↵ | Serhiy Storchaka | 2015-12-25 | 1 | -2/+2 |
|/ | | | | private functions. | ||||
* | Issue #19543: Implementation of isclose as per PEP 485 | Tal Einat | 2015-05-31 | 1 | -0/+79 |
| | | | | | | | | | For details, see: PEP 0485 -- A Function for testing approximate equality Functions added: math.isclose() and cmath.isclose(). Original code by Chris Barker. Patch by Tal Einat. | ||||
* | Issue #22486: Added the math.gcd() function. The fractions.gcd() function ↵ | Serhiy Storchaka | 2015-05-12 | 1 | -0/+28 |
| | | | | | | now is deprecated. Based on patch by Mark Dickinson. | ||||
* | Issue #23641: Cleaned out legacy dunder names from tests and docs. | Serhiy Storchaka | 2015-03-12 | 1 | -1/+1 |
|\ | | | | | | | | | Fixed 2 to 3 porting bug in pynche.ColorDB. Added few tests for __truediv__, __floordiv__ and __matmul__. | ||||
| * | Issue #23641: Cleaned out legacy dunder names from tests and docs. | Serhiy Storchaka | 2015-03-12 | 1 | -1/+1 |
| | | | | | | | | Fixed 2 to 3 porting bug in pynche.ColorDB. | ||||
* | | Issue #21092: Merge from 3.4. | Mark Dickinson | 2015-01-11 | 1 | -3/+3 |
|\ \ | |/ | |||||
| * | Issue #21902: Replace incorrect 'hyperbolic arc sine' (etc.) with 'inverse ↵ | Mark Dickinson | 2015-01-11 | 1 | -3/+3 |
| | | | | | | | | hyperbolic sine' (etc.). Remove meaningless reference to radians. | ||||
* | | Issue #23185: add math.inf and math.nan constants. | Mark Dickinson | 2015-01-11 | 1 | -1/+34 |
| | | |||||
* | | Issue #22207: Fix "comparison between signed and unsigned integers" warning in | Victor Stinner | 2014-08-17 | 1 | -1/+1 |
| | | | | | | | | | | test checking for integer overflow on Py_ssize_t type: cast explicitly to size_t. | ||||
* | | Issue #20539: Improve math.factorial error messages and types for large inputs. | Mark Dickinson | 2014-04-10 | 1 | -4/+12 |
|/ | | | | | - Better message for the OverflowError in large positive inputs. - Changed exception type from OverflowError to ValueError for large negative inputs. | ||||
* | #12211: remove paragraph about NaNs | Andrew Kuchling | 2014-02-16 | 1 | -3/+1 |
| | |||||
* | #12211: clarify math.copysign() documentation and docstring | Andrew Kuchling | 2014-02-16 | 1 | -1/+5 |
| | |||||
* | Issue #18783: Removed existing mentions of Python long type in docstrings, | Serhiy Storchaka | 2013-08-27 | 1 | -7/+6 |
| | | | | error messages and comments. |