Benjamin Peterson
ba303c82d1
these tests are the result of cpython's incorrect implementation
2010-07-07 15:51:17 +00:00
Benjamin Peterson
bace6764fa
be more generous to implementations that have implemented correctly
2010-07-05 17:13:21 +00:00
Mark Dickinson
e979ec8fbf
Issue #8986 : erfc was raising OverflowError on Linux for arguments in
...
the (approximate) range (-27.3, 30.0), as a result of an escaped errno
value.
2010-06-13 10:50:29 +00:00
Mark Dickinson
62f7e8b0b8
Fix unused variable in test_factorial.
2010-05-12 19:53:36 +00:00
Mark Dickinson
28d4f9e668
testCopysign was defined twice in test_math; combine the definitions
2010-02-06 23:11:25 +00:00
Mark Dickinson
ed284991e1
Silence -3 warnings. Thanks Florent Xicluna.
2009-12-20 20:23:01 +00:00
Mark Dickinson
9cae178f21
Issue #3366 : Add expm1 function to math module. Thanks Eric Smith for
...
testing on Windows.
2009-12-16 20:13:40 +00:00
Mark Dickinson
9be87bc992
Issue #3366 : Add lgamma function to math module.
2009-12-11 17:29:33 +00:00
Mark Dickinson
59ca92093c
test_math ulp computation was wrong on big-endian systems
2009-10-17 07:06:37 +00:00
Mark Dickinson
8ca7482cc9
Fix buggy accuracy test
2009-09-30 16:58:01 +00:00
Mark Dickinson
b93fff0a57
Issue #3366 : Add gamma function to math module.
...
(lgamma, erf and erfc to follow).
2009-09-28 18:54:55 +00:00
Mark Dickinson
2985dbb526
Use skipUnless to skip math module tests on non-IEEE 754 platforms.
2009-09-18 21:01:50 +00:00
Benjamin Peterson
5c8da86f3a
convert usage of fail* to assert*
2009-06-30 22:57:08 +00:00
Mark Dickinson
0badeef93e
Remove unnecessary double negative
2009-04-24 16:37:22 +00:00
Mark Dickinson
6ab635a4f4
Issue #5593 : Use more robust test for double-rounding in test_fsum.
...
While we're at it, use new unittest.skipUnless decorator to
implement skipping for that test.
2009-04-24 16:34:14 +00:00
Mark Dickinson
0f6414a0d6
Rename testSum to testFsum and move it to proper place in test_math.py
2008-07-31 14:48:32 +00:00
Mark Dickinson
fef6b13c32
Rename math.sum to math.fsum
2008-07-30 16:20:10 +00:00
Mark Dickinson
ff5f16e4e5
More modifications to tests for math.sum: replace the Python
...
version of msum by a version using a different algorithm, and
use the new float.fromhex method to specify test results exactly.
2008-07-29 18:45:38 +00:00
Mark Dickinson
3e9c60c5fe
Remove math.sum tests related to overflow, special values, and behaviour
...
near the extremes of the floating-point range. (The behaviour of math.sum
should be regarded as undefined in these cases.)
2008-07-27 07:15:29 +00:00
Raymond Hettinger
ecbdd2e9b0
Issue #2138 : Add math.factorial().
2008-06-09 06:54:45 +00:00
Mark Dickinson
8df4e22a28
Fix typo in testSum
2008-05-30 02:46:53 +00:00
Mark Dickinson
badd7da622
Skip math.sum tests on non IEEE 754 platforms, and on IEEE 754 platforms
...
that exhibit the problem described in issue #2937 .
2008-05-23 12:07:36 +00:00
Mark Dickinson
d055835253
Better error reporting in test_math.py
2008-05-23 03:30:01 +00:00
Mark Dickinson
c11c3391b0
Add tests for math.sum (Issue #2819 )
2008-05-23 02:36:48 +00:00
Mark Dickinson
f8476c1573
Issue #2487 . math.ldexp(x, n) raised OverflowError when n was large and
...
negative; fix to return an (appropriately signed) zero instead.
2008-05-09 17:54:23 +00:00
Mark Dickinson
d6d5148b44
Add test for tanh(-0.) == -0. on IEEE 754 systems
2008-04-20 20:38:48 +00:00
Mark Dickinson
cec3f138d8
Yet more explicit special case handling to make
...
math.pow behave on alpha Tru64. All IEEE 754
special values are now handled directly; only
the finite**finite case is handled by libm.
2008-04-20 04:13:13 +00:00
Mark Dickinson
9f99d70513
Report additional diagnostic information in
...
test_math, to help track down debian-alpha
buildbot failure.
2008-04-20 01:22:30 +00:00
Mark Dickinson
e941d97d12
Additional tests for math.pow, and extra special-case
...
handling code in math.pow, in the hope of making all
tests pass on the alpha Tru64 buildbot.
2008-04-19 18:51:48 +00:00
Christian Heimes
6f34109384
I finally got the time to update and merge Mark's and my trunk-math branch. The patch is collaborated work of Mark Dickinson and me. It was mostly done a few months ago. The patch fixes a lot of loose ends and edge cases related to operations with NaN, INF, very small values and complex math.
...
The patch also adds acosh, asinh, atanh, log1p and copysign to all platforms. Finally it fixes differences between platforms like different results or exceptions for edge cases. Have fun :)
2008-04-18 23:13:07 +00:00
Jeffrey Yasskin
ca2b69f765
Move __builtins__.trunc() to math.trunc() per
...
http://mail.python.org/pipermail/python-dev/2008-January/076626.html and issue
1965.
2008-02-01 06:22:46 +00:00
Jeffrey Yasskin
9871d8fe22
Continue rolling back pep-3141 changes that changed behavior from 2.5. This
...
round included:
* Revert round to its 2.6 behavior (half away from 0).
* Because round, floor, and ceil always return float again, it's no
longer necessary to have them delegate to __xxx___, so I've ripped
that out of their implementations and the Real ABC. This also helps
in implementing types that work in both 2.6 and 3.0: you return int
from the __xxx__ methods, and let it get enabled by the version
upgrade.
* Make pow(-1, .5) raise a ValueError again.
2008-01-05 08:47:13 +00:00
Jeffrey Yasskin
737c73f96f
Make math.{floor,ceil}({int,long}) return float again for backwards
...
compatibility after r59671 made them return integral types.
2008-01-04 08:01:23 +00:00
Christian Heimes
eebb79cc69
Added copysign(x, y) function to the math module
2008-01-03 22:32:26 +00:00
Christian Heimes
e2ca4245c9
Added math.isinf() and math.isnan()
2008-01-03 20:23:15 +00:00
Jeffrey Yasskin
2f3c16be73
Backport PEP 3141 from the py3k branch to the trunk. This includes r50877 (just
...
the complex_pow part), r56649, r56652, r56715, r57296, r57302, r57359, r57361,
r57372, r57738, r57739, r58017, r58039, r58040, and r59390, and new
documentation. The only significant difference is that round(x) returns a float
to preserve backward-compatibility. See http://bugs.python.org/issue1689 .
2008-01-03 02:21:52 +00:00
Nick Coghlan
ec2ce9bbae
Make test_math error messages more meaningful for small discrepancies in results
2007-07-27 10:36:30 +00:00
Nick Coghlan
00f2029cd5
Add explicit test for a misbehaving math.floor
2007-07-26 14:03:00 +00:00
Tim Peters
abd8a336a3
Whitespace normalization.
2006-11-03 02:32:46 +00:00
Walter Dörwald
92911bfc6a
Add tests for basic argument errors.
2006-10-29 22:06:28 +00:00
Georg Brandl
2f03760a98
Convert test_math to unittest.
2006-10-28 13:51:49 +00:00
Walter Dörwald
70a6b49821
Replace backticks with repr() or "%r"
...
From SF patch #852334 .
2004-02-12 17:35:32 +00:00
Raymond Hettinger
72a6ddb5ee
Expand log() tests to include long integers.
2002-12-18 16:13:16 +00:00
Raymond Hettinger
866964c3a3
Apply SF patch 652930: Add optional base argument to math.log(x[, base]).
2002-12-14 19:51:34 +00:00
Barry Warsaw
408b6d34de
Complete the absolute import patch for the test suite. All relative
...
imports of test modules now import from the test package. Other
related oddities are also fixed (like DeprecationWarning filters that
weren't specifying the full import part, etc.). Also did a general
code cleanup to remove all "from test.test_support import *"'s. Other
from...import *'s weren't changed.
2002-07-30 23:27:12 +00:00
Barry Warsaw
04f357cffe
Get rid of relative imports in all unittests. Now anything that
...
imports e.g. test_support must do so using an absolute package name
such as "import test.test_support" or "from test import test_support".
This also updates the README in Lib/test, and gets rid of the
duplicate data dirctory in Lib/test/data (replaced by
Lib/email/test/data).
Now Tim and Jack can have at it. :)
2002-07-23 19:04:11 +00:00
Tim Peters
8ac1495a6a
Whitespace normalization.
2002-05-23 15:15:30 +00:00
Raymond Hettinger
64108afa60
Adds tests for degrees() and radians() functions added to mathmodule.
...
Closes patch 552452 and feature request 426539.
2002-05-13 03:55:01 +00:00
Tim Peters
a40c793d06
Rework the way we try to check for libm overflow, given that C99 no longer
...
requires that errno ever get set, and it looks like glibc is already
playing that game. New rules:
+ Never use HUGE_VAL. Use the new Py_HUGE_VAL instead.
+ Never believe errno. If overflow is the only thing you're interested in,
use the new Py_OVERFLOWED(x) macro. If you're interested in any libm
errors, use the new Py_SET_ERANGE_IF_OVERFLOW(x) macro, which attempts
to set errno the way C89 said it worked.
Unfortunately, none of these are reliable, but they work on Windows and I
*expect* under glibc too.
2001-09-05 22:36:56 +00:00
Tim Peters
4642cb9ac9
Reverting the "unixware7" patch: atan2(0, 1) should be 0, regardless of
...
platform. If it returns pi on the unixware7 platform, they have a bug in
their libm atan2.
2001-04-12 00:24:41 +00:00