| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Rework integer overflow path in math.prod and add more tests (GH-11809) | Pablo Galindo | 2019-03-09 | 1 | -5/+51 |
| | | | | | | The overflow check was relying on undefined behaviour as it was using the result of the multiplication to do the check, and once the overflow has already happened, any operation on the result is undefined behaviour. Some extra checks that exercise code paths related to this are also added. | ||||
| * | bpo-36106: Resolve sinpi name clash with libm (IEEE-754 violation). (GH-12027) | Dima Pasechnik | 2019-02-26 | 1 | -4/+4 |
| | | | | | | | | | | The standard math library (libm) may follow IEEE-754 recommendation to include an implementation of sinPi(), i.e. sinPi(x):=sin(pi*x). And this triggers a name clash, found by FreeBSD developer Steve Kargl, who worken on putting sinpi into libm used on FreeBSD (it has to be named "sinpi", not "sinPi", cf. e.g. https://en.cppreference.com/w/c/experimental/fpext4). | ||||
| * | Fix division by 0 when checking for overflow in math.prod (GH-11808) | Pablo Galindo | 2019-02-10 | 1 | -2/+2 |
| | | |||||
| * | bpo-35606: Implement math.prod (GH-11359) | Pablo Galindo | 2019-02-07 | 1 | -0/+167 |
| | | |||||
| * | 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. | ||||
