Update to 0.7.6.

Also:
- Drop upstreamed -test and -is-tangent patches
- Drop obsolete bug workarounds
- Add python(3)-fastcache BR and R
- Recommend python-theano
- Fix executable bits on tm_sympy
This commit is contained in:
Jerry James 2014-12-05 08:41:06 -07:00
parent df3a4c6d45
commit b37cad1413
6 changed files with 285 additions and 340 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
/sympy-0.7.5.tar.gz
/sympy-0.7.6.tar.gz

View File

@ -1 +1 @@
7de1adb49972a15a3dd975e879a2bea9 sympy-0.7.5.tar.gz
3d04753974306d8a13830008e17babca sympy-0.7.6.tar.gz

View File

@ -1,13 +0,0 @@
--- ./sympy/geometry/ellipse.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/geometry/ellipse.py 2014-09-03 12:30:00.000000000 -0600
@@ -768,8 +768,8 @@ class Ellipse(GeometryEntity):
inter = self.intersection(o)
if isinstance(inter, Ellipse):
return False
- return (inter is not None and isinstance(inter[0], Point)
- and len(inter) == 1)
+ return (inter is not None and len(inter) == 1 and
+ isinstance(inter[0], Point))
elif isinstance(o, LinearEntity):
inter = self._do_line_intersection(o)
if inter is not None and len(inter) == 1:

View File

@ -1,86 +0,0 @@
--- ./sympy/physics/vector/tests/test_printing.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/physics/vector/tests/test_printing.py 2014-03-14 15:34:37.122395476 -0600
@@ -1,4 +1,4 @@
-from sympy import symbols, sin, cos, sqrt, Function
+from sympy import symbols, sin, cos, sqrt, Function, pprint_use_unicode
from sympy.core.compatibility import u
from sympy.physics.vector import ReferenceFrame, dynamicsymbols
from sympy.physics.vector.printing import (VectorPrettyPrinter,
@@ -35,16 +35,26 @@ def test_vector_pretty_print():
pp = VectorPrettyPrinter()
- expected = u(' 2\na \x1b[94m\x1b[1mn_x\x1b[0;0m\x1b[0;0m + b \x1b[94m'
- '\x1b[1mn_y\x1b[0;0m\x1b[0;0m + c\u22c5sin(\u03b1) \x1b[9'
- '4m\x1b[1mn_z\x1b[0;0m\x1b[0;0m')
+ if (pprint_use_unicode()):
+ expected = u(' 2\na \x1b[94m\x1b[1mn_x\x1b[0;0m\x1b[0;0m + b \x1b[94m'
+ '\x1b[1mn_y\x1b[0;0m\x1b[0;0m + c\u22c5sin(\u03b1) \x1b[9'
+ '4m\x1b[1mn_z\x1b[0;0m\x1b[0;0m')
+ else:
+ expected = u(' 2\na \x1b[94m\x1b[1mn_x\x1b[0;0m\x1b[0;0m + b \x1b[94m'
+ '\x1b[1mn_y\x1b[0;0m\x1b[0;0m + c*sin(alpha) \x1b[9'
+ '4m\x1b[1mn_z\x1b[0;0m\x1b[0;0m')
assert expected == pp.doprint(v)
assert expected == v._pretty().render()
- expected = u('\u03b1 \x1b[94m\x1b[1mn_x\x1b[0;0m\x1b[0;0m + sin(\u03c9'
- ') \x1b[94m\x1b[1mn_y\x1b[0;0m\x1b[0;0m + \u03b1\u22c5'
- '\u03b2 \x1b[94m\x1b[1mn_z\x1b[0;0m\x1b[0;0m')
+ if (pprint_use_unicode()):
+ expected = u('\u03b1 \x1b[94m\x1b[1mn_x\x1b[0;0m\x1b[0;0m + sin(\u03c9'
+ ') \x1b[94m\x1b[1mn_y\x1b[0;0m\x1b[0;0m + \u03b1\u22c5'
+ '\u03b2 \x1b[94m\x1b[1mn_z\x1b[0;0m\x1b[0;0m')
+ else:
+ expected = u('alpha \x1b[94m\x1b[1mn_x\x1b[0;0m\x1b[0;0m + sin(omega'
+ ') \x1b[94m\x1b[1mn_y\x1b[0;0m\x1b[0;0m + alpha*'
+ 'beta \x1b[94m\x1b[1mn_z\x1b[0;0m\x1b[0;0m')
assert expected == pp.doprint(w)
assert expected == w._pretty().render()
@@ -128,20 +138,34 @@ def test_vector_latex_with_functions():
def test_dyadic_pretty_print():
- expected = u(' 2\na \x1b[94m\x1b[1mn_x\x1b[0;0m\x1b[0;0m\u2297\x1b[94'
- 'm\x1b[1mn_y\x1b[0;0m\x1b[0;0m + b \x1b[94m\x1b[1mn_y\x1b'
- '[0;0m\x1b[0;0m\u2297\x1b[94m\x1b[1mn_y\x1b[0;0m\x1b[0;0m'
- ' + c\u22c5sin(\u03b1) \x1b[94m\x1b[1mn_z\x1b[0;0m\x1b[0;'
- '0m\u2297\x1b[94m\x1b[1mn_y\x1b[0;0m\x1b[0;0m')
+ if (pprint_use_unicode()):
+ expected = u(' 2\na \x1b[94m\x1b[1mn_x\x1b[0;0m\x1b[0;0m\u2297\x1b[94'
+ 'm\x1b[1mn_y\x1b[0;0m\x1b[0;0m + b \x1b[94m\x1b[1mn_y\x1b'
+ '[0;0m\x1b[0;0m\u2297\x1b[94m\x1b[1mn_y\x1b[0;0m\x1b[0;0m'
+ ' + c\u22c5sin(\u03b1) \x1b[94m\x1b[1mn_z\x1b[0;0m\x1b[0;'
+ '0m\u2297\x1b[94m\x1b[1mn_y\x1b[0;0m\x1b[0;0m')
+ else:
+ expected = u(' 2\na \x1b[94m\x1b[1mn_x\x1b[0;0m\x1b[0;0m\u2297\x1b[94'
+ 'm\x1b[1mn_y\x1b[0;0m\x1b[0;0m + b \x1b[94m\x1b[1mn_y\x1b'
+ '[0;0m\x1b[0;0m\u2297\x1b[94m\x1b[1mn_y\x1b[0;0m\x1b[0;0m'
+ ' + c*sin(alpha) \x1b[94m\x1b[1mn_z\x1b[0;0m\x1b[0;'
+ '0m\u2297\x1b[94m\x1b[1mn_y\x1b[0;0m\x1b[0;0m')
result = y._pretty().render()
assert expected == result
- expected = u('\u03b1 \x1b[94m\x1b[1mn_x\x1b[0;0m\x1b[0;0m\u2297\x1b[94'
- 'm\x1b[1mn_x\x1b[0;0m\x1b[0;0m + sin(\u03c9) \x1b[94m\x1b'
- '[1mn_y\x1b[0;0m\x1b[0;0m\u2297\x1b[94m\x1b[1mn_z\x1b[0;0'
- 'm\x1b[0;0m + \u03b1\u22c5\u03b2 \x1b[94m\x1b[1mn_z\x1b[0'
- ';0m\x1b[0;0m\u2297\x1b[94m\x1b[1mn_x\x1b[0;0m\x1b[0;0m')
+ if (pprint_use_unicode()):
+ expected = u('\u03b1 \x1b[94m\x1b[1mn_x\x1b[0;0m\x1b[0;0m\u2297\x1b[94'
+ 'm\x1b[1mn_x\x1b[0;0m\x1b[0;0m + sin(\u03c9) \x1b[94m\x1b'
+ '[1mn_y\x1b[0;0m\x1b[0;0m\u2297\x1b[94m\x1b[1mn_z\x1b[0;0'
+ 'm\x1b[0;0m + \u03b1\u22c5\u03b2 \x1b[94m\x1b[1mn_z\x1b[0'
+ ';0m\x1b[0;0m\u2297\x1b[94m\x1b[1mn_x\x1b[0;0m\x1b[0;0m')
+ else:
+ expected = u('alpha \x1b[94m\x1b[1mn_x\x1b[0;0m\x1b[0;0m\u2297\x1b[94'
+ 'm\x1b[1mn_x\x1b[0;0m\x1b[0;0m + sin(omega) \x1b[94m\x1b'
+ '[1mn_y\x1b[0;0m\x1b[0;0m\u2297\x1b[94m\x1b[1mn_z\x1b[0;0'
+ 'm\x1b[0;0m + alpha*beta \x1b[94m\x1b[1mn_z\x1b[0'
+ ';0m\x1b[0;0m\u2297\x1b[94m\x1b[1mn_x\x1b[0;0m\x1b[0;0m')
result = x._pretty().render()

View File

@ -1,5 +1,5 @@
--- ./examples/advanced/autowrap_ufuncify.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./examples/advanced/autowrap_ufuncify.py 2014-03-12 21:00:00.000000000 -0600
--- ./examples/advanced/autowrap_ufuncify.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./examples/advanced/autowrap_ufuncify.py 2014-12-04 10:30:58.017350207 -0700
@@ -25,7 +25,7 @@ np = import_module('numpy')
if not np:
sys.exit("Cannot import numpy. Exiting.")
@ -9,8 +9,8 @@
from sympy.utilities.autowrap import ufuncify
from sympy.utilities.lambdify import implemented_function
from sympy import symbols, legendre, Plot, pprint
--- ./examples/advanced/pidigits.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./examples/advanced/pidigits.py 2014-03-12 21:00:00.000000000 -0600
--- ./examples/advanced/pidigits.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./examples/advanced/pidigits.py 2014-12-04 10:30:58.017350207 -0700
@@ -6,8 +6,8 @@ Example shows arbitrary precision using
computation of the digits of pi.
"""
@ -22,11 +22,11 @@
import math
from time import clock
--- ./setup.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./setup.py 2014-03-12 21:00:00.000000000 -0600
@@ -70,11 +70,6 @@ modules = [
'sympy.logic.utilities',
--- ./setup.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./setup.py 2014-12-04 10:30:58.017350207 -0700
@@ -73,11 +73,6 @@ modules = [
'sympy.matrices',
'sympy.matrices.benchmarks',
'sympy.matrices.expressions',
- 'sympy.mpmath',
- 'sympy.mpmath.calculus',
@ -36,7 +36,7 @@
'sympy.ntheory',
'sympy.parsing',
'sympy.physics',
@@ -240,7 +235,6 @@ tests = [
@@ -246,7 +241,6 @@ tests = [
'sympy.logic.tests',
'sympy.matrices.expressions.tests',
'sympy.matrices.tests',
@ -44,8 +44,8 @@
'sympy.ntheory.tests',
'sympy.parsing.tests',
'sympy.physics.hep.tests',
--- ./sympy/combinatorics/permutations.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/combinatorics/permutations.py 2014-03-12 21:00:00.000000000 -0600
--- ./sympy/combinatorics/permutations.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/combinatorics/permutations.py 2014-12-04 10:30:58.018350206 -0700
@@ -9,7 +9,7 @@ from sympy.utilities.iterables import (f
has_dups, runs)
from sympy.polys.polytools import lcm
@ -55,18 +55,19 @@
def _af_rmul(a, b):
--- ./sympy/core/evalf.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/core/evalf.py 2014-03-12 21:00:00.000000000 -0600
@@ -6,19 +6,19 @@ from __future__ import print_function, d
--- ./sympy/core/evalf.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/core/evalf.py 2014-12-04 14:05:59.235169407 -0700
@@ -6,20 +6,20 @@ from __future__ import print_function, d
import math
-import sympy.mpmath.libmp as libmp
-from sympy.mpmath import make_mpc, make_mpf, mp, mpc, mpf, nsum, quadts, quadosc
-from sympy.mpmath import (
+import mpmath.libmp as libmp
+from mpmath import (
make_mpc, make_mpf, mp, mpc, mpf, nsum, quadts, quadosc, workprec)
-from sympy.mpmath import inf as mpmath_inf
-from sympy.mpmath.libmp import (from_int, from_man_exp, from_rational, fhalf,
+import mpmath.libmp as libmp
+from mpmath import make_mpc, make_mpf, mp, mpc, mpf, nsum, quadts, quadosc
+from mpmath import inf as mpmath_inf
+from mpmath.libmp import (from_int, from_man_exp, from_rational, fhalf,
fnan, fnone, fone, fzero, mpf_abs, mpf_add,
@ -86,8 +87,8 @@
from .compatibility import SYMPY_INTS
from .sympify import sympify
--- ./sympy/core/expr.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/core/expr.py 2014-03-12 21:00:00.000000000 -0600
--- ./sympy/core/expr.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/core/expr.py 2014-12-04 11:07:54.359742059 -0700
@@ -8,7 +8,7 @@ from .evalf import EvalfMixin, pure_comp
from .decorators import _sympifyit, call_highest_priority
from .cache import cacheit
@ -97,11 +98,20 @@
from collections import defaultdict
--- ./sympy/core/function.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/core/function.py 2014-03-12 21:00:00.000000000 -0600
@@ -50,8 +50,8 @@ from sympy.core.compatibility import str
from sympy.utilities import default_sort_key
@@ -384,7 +384,7 @@ class Expr(Basic, EvalfMixin):
# increase the precision up to the default maximum
# precision to see if we can get any significance
- from sympy.mpmath.libmp.libintmath import giant_steps
+ from mpmath.libmp.libintmath import giant_steps
from sympy.core.evalf import DEFAULT_MAXPREC as target
# evaluate
--- ./sympy/core/function.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/core/function.py 2014-12-04 10:30:58.020350202 -0700
@@ -51,8 +51,8 @@ from sympy.utilities import default_sort
from sympy.utilities.iterables import uniq
from sympy.core.evaluate import global_evaluate
-from sympy import mpmath
-import sympy.mpmath.libmp as mlib
@ -110,7 +120,7 @@
import inspect
@@ -453,7 +453,7 @@ class Function(Application, Expr):
@@ -460,7 +460,7 @@ class Function(Application, Expr):
try:
args = [arg._to_mpmath(prec + 5) for arg in self.args]
def bad(m):
@ -119,7 +129,7 @@
# the precision of an mpf value is the last element
# if that is 1 (and m[1] is not 1 which would indicate a
# power of 2), then the eval failed; so check that none of
@@ -1234,7 +1234,7 @@ class Derivative(Expr):
@@ -1223,7 +1223,7 @@ class Derivative(Expr):
When we can represent derivatives at a point, this should be folded
into the normal evalf. For now, we need a special method.
"""
@ -128,8 +138,8 @@
from sympy.core.expr import Expr
if len(self.free_symbols) != 1 or len(self.variables) != 1:
raise NotImplementedError('partials and higher order derivatives')
--- ./sympy/core/numbers.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/core/numbers.py 2014-03-12 21:00:00.000000000 -0600
--- ./sympy/core/numbers.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/core/numbers.py 2014-12-04 10:30:58.021350201 -0700
@@ -16,11 +16,11 @@ from .cache import cacheit, clear_cache
from sympy.core.compatibility import (
as_int, integer_types, long, string_types, with_metaclass, HAS_GMPY,
@ -147,32 +157,21 @@
finf as _mpf_inf, fninf as _mpf_ninf,
fnan as _mpf_nan, fzero as _mpf_zero, _normalize as mpf_normalize,
prec_to_dps)
--- ./sympy/core/power.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/core/power.py 2014-03-12 21:00:00.000000000 -0600
@@ -13,7 +13,7 @@ from sympy.core.function import (_coeff_
from sympy.core.logic import fuzzy_bool
from sympy.core.compatibility import as_int, xrange
--- ./sympy/core/power.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/core/power.py 2014-12-04 10:30:58.021350201 -0700
@@ -14,7 +14,7 @@ from .logic import fuzzy_bool
from .compatibility import as_int, xrange
from .evaluate import global_evaluate
-from sympy.mpmath.libmp import sqrtrem as mpmath_sqrtrem
+from mpmath.libmp import sqrtrem as mpmath_sqrtrem
from sympy.utilities.iterables import sift
--- ./sympy/core/sets.py.orig 2014-03-12 21:00:00.000000000 -0600
+++ ./sympy/core/sets.py 2014-03-12 21:00:00.000000000 -0600
@@ -9,7 +9,7 @@ from sympy.core.evalf import EvalfMixin
from sympy.core.numbers import Float
from sympy.core.compatibility import iterable, with_metaclass
-from sympy.mpmath import mpi, mpf
+from mpmath import mpi, mpf
from sympy.logic.boolalg import And, Or, true, false
from sympy.utilities import default_sort_key
--- ./sympy/core/tests/test_evalf.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/core/tests/test_evalf.py 2014-03-12 21:00:00.000000000 -0600
@@ -3,9 +3,9 @@ from sympy import (Add, ceiling, cos, E,
sin, sqrt, sstr, Sum, sympify, S, integrate, atan, product)
--- ./sympy/core/tests/test_evalf.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/core/tests/test_evalf.py 2014-12-04 10:31:03.063341891 -0700
@@ -4,9 +4,9 @@ from sympy import (Add, ceiling, cos, E,
Sum, Product, Integral)
from sympy.core.evalf import complex_accuracy, PrecisionExhausted, scaled_zero
from sympy.core.compatibility import long
-from sympy.mpmath import inf, ninf, nan
@ -183,8 +182,8 @@
from sympy.utilities.pytest import raises, XFAIL
--- ./sympy/core/tests/test_numbers.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/core/tests/test_numbers.py 2014-03-12 21:00:00.000000000 -0600
--- ./sympy/core/tests/test_numbers.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/core/tests/test_numbers.py 2014-12-04 10:56:49.005878896 -0700
@@ -6,9 +6,9 @@ from sympy.core.basic import _aresame
from sympy.core.compatibility import long, u
from sympy.core.power import integer_nthroot
@ -197,7 +196,7 @@
def test_integers_cache():
@@ -1347,8 +1347,8 @@ def test_issue_1073():
@@ -1355,8 +1355,8 @@ def test_issue_4172():
@XFAIL
def test_mpmath_issues():
@ -208,7 +207,7 @@
rnd = mlib.round_nearest
mpf = (0, long(0), -123, -1, 53, rnd) # nan
assert _normalize(mpf, 53) != (0, long(0), 0, 0)
@@ -1357,7 +1357,7 @@ def test_mpmath_issues():
@@ -1365,7 +1365,7 @@ def test_mpmath_issues():
mpf = (1, long(0), -789, -3, 53, rnd) # -inf
assert _normalize(mpf, 53) != (0, long(0), 0, 0)
@ -217,28 +216,17 @@
assert mlib.mpf_eq(fnan, fnan)
@@ -1388,7 +1388,7 @@ def test_int_NumberSymbols():
@@ -1396,7 +1396,7 @@ def test_int_NumberSymbols():
def test_3541():
def test_issue_6640():
- from sympy.mpmath.libmp.libmpf import (
+ from mpmath.libmp.libmpf import (
_normalize as mpf_normalize, finf, fninf, fzero)
# fnan is not included because Float no longer returns fnan,
# but otherwise, the same sort of test could apply
--- ./sympy/core/tests/test_sets.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/core/tests/test_sets.py 2014-03-12 21:00:00.000000000 -0600
@@ -2,7 +2,7 @@ from sympy import (Symbol, Set, Union, I
GreaterThan, LessThan, Max, Min, And, Or, Eq, Ge, Le, Gt, Lt, Float,
FiniteSet, Intersection, imageset, I, true, false, ProductSet, E
)
-from sympy.mpmath import mpi
+from mpmath import mpi
from sympy.utilities.pytest import raises
from sympy.utilities.pytest import raises, XFAIL
--- ./sympy/core/tests/test_sympify.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/core/tests/test_sympify.py 2014-03-12 21:00:00.000000000 -0600
--- ./sympy/core/tests/test_sympify.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/core/tests/test_sympify.py 2014-12-04 10:31:04.375339729 -0700
@@ -11,7 +11,7 @@ from sympy.functions.combinatorial.facto
from sympy.abc import _clash, _clash1, _clash2
from sympy.core.compatibility import exec_, HAS_GMPY
@ -247,9 +235,9 @@
+import mpmath
def test_439():
--- ./sympy/core/tests/test_wester.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/core/tests/test_wester.py 2014-03-12 21:00:00.000000000 -0600
def test_issue_3538():
--- ./sympy/core/tests/test_wester.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/core/tests/test_wester.py 2014-12-04 10:31:04.377339726 -0700
@@ -6,6 +6,7 @@ See also http://math.unm.edu/~wester/cas
each tested system.
"""
@ -265,21 +253,21 @@
- LambertW, N, apart, sqrtdenest, factorial2, powdenest, Mul, S, mpmath, ZZ,
+ LambertW, N, apart, sqrtdenest, factorial2, powdenest, Mul, S, ZZ,
Poly, expand_func, E, Q, And, Or, Ne, Eq, Le, Lt,
ask, refine, AlgebraicNumber,
elliptic_e, elliptic_f, powsimp, hessian, wronskian, fibonacci, sign,
@@ -24,7 +25,7 @@ from sympy.functions.special.zeta_functi
ask, refine, AlgebraicNumber, continued_fraction_iterator as cf_i,
continued_fraction_periodic as cf_p, continued_fraction_convergents as cf_c,
@@ -26,7 +27,7 @@ from sympy.functions.special.zeta_functi
from sympy.integrals.deltafunctions import deltaintegrate
from sympy.utilities.pytest import XFAIL, slow
from sympy.utilities.pytest import XFAIL, slow, SKIP, skip, ON_TRAVIS
from sympy.utilities.iterables import partitions
-from sympy.mpmath import mpi, mpc
+from mpmath import mpi, mpc
from sympy.matrices import Matrix, GramSchmidt, eye
from sympy.matrices.expressions.blockmatrix import BlockMatrix, block_collapse
from sympy.matrices.expressions import MatrixSymbol, ZeroMatrix
--- ./sympy/external/tests/test_numpy.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/external/tests/test_numpy.py 2014-03-12 21:00:00.000000000 -0600
@@ -27,7 +27,7 @@ from sympy import (Rational, Symbol, lis
symarray, symbols, Integer)
--- ./sympy/external/tests/test_numpy.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/external/tests/test_numpy.py 2014-12-04 10:31:04.378339724 -0700
@@ -21,7 +21,7 @@ from sympy import (Rational, Symbol, lis
Matrix, lambdify, symarray, symbols, Integer)
import sympy
-from sympy import mpmath
@ -287,20 +275,20 @@
from sympy.abc import x, y, z
from sympy.utilities.decorator import conserve_mpmath_dps
--- ./sympy/functions/combinatorial/numbers.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/functions/combinatorial/numbers.py 2014-03-12 21:00:00.000000000 -0600
@@ -15,8 +15,8 @@ from sympy.core.compatibility import as_
from sympy.core.cache import cacheit
--- ./sympy/functions/combinatorial/numbers.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/functions/combinatorial/numbers.py 2014-12-04 10:59:59.605872355 -0700
@@ -21,8 +21,8 @@ from sympy.functions.elementary.exponent
from sympy.functions.elementary.trigonometric import sin, cos, cot
from sympy.functions.combinatorial.factorials import factorial
-from sympy.mpmath import bernfrac
-from sympy.mpmath import bernfrac, workprec
-from sympy.mpmath.libmp import ifib as _ifib
+from mpmath import bernfrac
+from mpmath import bernfrac, workprec
+from mpmath.libmp import ifib as _ifib
def _product(a, b):
@@ -631,7 +631,7 @@ class euler(Function):
@@ -706,7 +706,7 @@ class euler(Function):
if m.is_odd:
return S.Zero
if m.is_Integer and m.is_nonnegative:
@ -309,7 +297,7 @@
m = m._to_mpmath(mp.prec)
res = mp.eulernum(m, exact=True)
return Integer(res)
@@ -650,7 +650,7 @@ class euler(Function):
@@ -725,7 +725,7 @@ class euler(Function):
m = self.args[0]
if m.is_Integer and m.is_nonnegative:
@ -317,9 +305,9 @@
+ from mpmath import mp
from sympy import Expr
m = m._to_mpmath(prec)
oprec = mp.prec
--- ./sympy/functions/special/bessel.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/functions/special/bessel.py 2014-03-12 21:00:00.000000000 -0600
with workprec(prec):
--- ./sympy/functions/special/bessel.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/functions/special/bessel.py 2014-12-04 11:01:02.478869466 -0700
@@ -706,8 +706,8 @@ def jn_zeros(n, k, method="sympy", dps=1
from math import pi
@ -335,22 +323,22 @@
raise ArgumentIndexError(self, argindex)
def _eval_evalf(self, prec):
- from sympy.mpmath import mp
+ from mpmath import mp
- from sympy.mpmath import mp, workprec
+ from mpmath import mp, workprec
from sympy import Expr
z = self.args[0]._to_mpmath(prec)
oprec = mp.prec
@@ -1367,7 +1367,7 @@ class airybiprime(AiryBase):
with workprec(prec):
@@ -1365,7 +1365,7 @@ class airybiprime(AiryBase):
raise ArgumentIndexError(self, argindex)
def _eval_evalf(self, prec):
- from sympy.mpmath import mp
+ from mpmath import mp
- from sympy.mpmath import mp, workprec
+ from mpmath import mp, workprec
from sympy import Expr
z = self.args[0]._to_mpmath(prec)
oprec = mp.prec
--- ./sympy/functions/special/error_functions.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/functions/special/error_functions.py 2014-03-12 21:00:00.000000000 -0600
with workprec(prec):
--- ./sympy/functions/special/error_functions.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/functions/special/error_functions.py 2014-12-04 10:31:04.380339721 -0700
@@ -1339,7 +1339,7 @@ class li(Function):
We can even compute Soldner's constant by the help of mpmath:
@ -360,28 +348,28 @@
>>> findroot(li, 2)
1.45136923488338
--- ./sympy/functions/special/gamma_functions.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/functions/special/gamma_functions.py 2014-03-12 21:00:00.000000000 -0600
--- ./sympy/functions/special/gamma_functions.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/functions/special/gamma_functions.py 2014-12-04 14:05:59.241169397 -0700
@@ -296,7 +296,7 @@ class lowergamma(Function):
return (cls(a + 1, x) + x**a * C.exp(-x))/a
def _eval_evalf(self, prec):
- from sympy.mpmath import mp
+ from mpmath import mp
- from sympy.mpmath import mp, workprec
+ from mpmath import mp, workprec
from sympy import Expr
a = self.args[0]._to_mpmath(prec)
z = self.args[1]._to_mpmath(prec)
@@ -397,7 +397,7 @@ class uppergamma(Function):
@@ -395,7 +395,7 @@ class uppergamma(Function):
raise ArgumentIndexError(self, argindex)
def _eval_evalf(self, prec):
- from sympy.mpmath import mp
+ from mpmath import mp
- from sympy.mpmath import mp, workprec
+ from mpmath import mp, workprec
from sympy import Expr
a = self.args[0]._to_mpmath(prec)
z = self.args[1]._to_mpmath(prec)
--- ./sympy/functions/special/hyper.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/functions/special/hyper.py 2014-03-12 21:00:00.000000000 -0600
--- ./sympy/functions/special/hyper.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/functions/special/hyper.py 2014-12-04 10:31:04.381339719 -0700
@@ -600,7 +600,8 @@ class meijerg(TupleParametersBase):
# (carefully so as not to loose the branch information), and evaluate
# G(z'**(1/r)) = G(z'**n) = G(z).
@ -392,19 +380,19 @@
z = self.argument
znum = self.argument._eval_evalf(prec)
if znum.has(exp_polar):
--- ./sympy/functions/special/spherical_harmonics.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/functions/special/spherical_harmonics.py 2014-03-12 21:00:00.000000000 -0600
@@ -217,7 +217,7 @@ class Ynm(Function):
--- ./sympy/functions/special/spherical_harmonics.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/functions/special/spherical_harmonics.py 2014-12-04 14:05:59.242169395 -0700
@@ -219,7 +219,7 @@ class Ynm(Function):
# Note: works without this function by just calling
# mpmath for Legendre polynomials. But using
# the dedicated function directly is cleaner.
- from sympy.mpmath import mp
+ from mpmath import mp
- from sympy.mpmath import mp, workprec
+ from mpmath import mp, workprec
from sympy import Expr
n = self.args[0]._to_mpmath(prec)
m = self.args[1]._to_mpmath(prec)
--- ./sympy/geometry/ellipse.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/geometry/ellipse.py 2014-03-12 21:00:00.000000000 -0600
--- ./sympy/geometry/ellipse.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/geometry/ellipse.py 2014-12-04 10:31:04.383339716 -0700
@@ -24,7 +24,7 @@ from .entity import GeometryEntity
from .point import Point
from .line import LinearEntity, Line
@ -414,8 +402,8 @@
import random
--- ./sympy/liealgebras/weyl_group.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/liealgebras/weyl_group.py 2014-03-12 21:00:00.000000000 -0600
--- ./sympy/liealgebras/weyl_group.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/liealgebras/weyl_group.py 2014-12-04 10:31:04.383339716 -0700
@@ -3,7 +3,7 @@
from sympy.core import Basic, Rational
from sympy.core.numbers import igcd
@ -425,9 +413,9 @@
from operator import itemgetter
from itertools import groupby
from sympy.matrices import Matrix, eye
--- ./sympy/matrices/matrices.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/matrices/matrices.py 2014-03-12 21:00:00.000000000 -0600
@@ -1214,7 +1214,7 @@ class MatrixBase(object):
--- ./sympy/matrices/matrices.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/matrices/matrices.py 2014-12-04 10:31:04.384339714 -0700
@@ -1238,7 +1238,7 @@ class MatrixBase(object):
"""Solve the linear system Ax = rhs for x where A = self.
This is for symbolic matrices, for real or complex ones use
@ -436,7 +424,7 @@
See Also
========
@@ -1591,7 +1591,7 @@ class MatrixBase(object):
@@ -1615,7 +1615,7 @@ class MatrixBase(object):
to use QRsolve.
This is mainly for educational purposes and symbolic matrices, for real
@ -445,8 +433,8 @@
See Also
========
--- ./sympy/ntheory/partitions_.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/ntheory/partitions_.py 2014-03-12 21:00:00.000000000 -0600
--- ./sympy/ntheory/partitions_.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/ntheory/partitions_.py 2014-12-04 10:31:04.384339714 -0700
@@ -1,6 +1,6 @@
from __future__ import print_function, division
@ -455,8 +443,8 @@
from_man_exp, from_int, from_rational,
fone, fhalf, bitcount, to_int, to_str, mpf_mul, mpf_div, mpf_sub,
mpf_add, mpf_sqrt, mpf_pi, mpf_cosh_sinh, pi_fixed, mpf_cos)
--- ./sympy/physics/quantum/constants.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/physics/quantum/constants.py 2014-03-12 21:00:00.000000000 -0600
--- ./sympy/physics/quantum/constants.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/physics/quantum/constants.py 2014-12-04 10:31:04.384339714 -0700
@@ -6,7 +6,7 @@ from sympy.core.numbers import NumberSym
from sympy.core.singleton import Singleton
from sympy.core.compatibility import u, with_metaclass
@ -466,8 +454,8 @@
#-----------------------------------------------------------------------------
# Constants
--- ./sympy/physics/quantum/qubit.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/physics/quantum/qubit.py 2014-03-12 21:00:00.000000000 -0600
--- ./sympy/physics/quantum/qubit.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/physics/quantum/qubit.py 2014-12-04 10:31:04.385339712 -0700
@@ -24,7 +24,7 @@ from sympy.physics.quantum.represent imp
from sympy.physics.quantum.matrixutils import (
numpy_ndarray, scipy_sparse_matrix
@ -477,8 +465,8 @@
__all__ = [
'Qubit',
--- ./sympy/polys/domains/groundtypes.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/polys/domains/groundtypes.py 2014-03-12 21:00:00.000000000 -0600
--- ./sympy/polys/domains/groundtypes.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/polys/domains/groundtypes.py 2014-12-04 10:31:04.385339712 -0700
@@ -69,7 +69,7 @@ else:
gmpy_qdiv = None
@ -488,8 +476,8 @@
def python_sqrt(n):
--- ./sympy/polys/domains/mpelements.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/polys/domains/mpelements.py 2014-03-12 21:00:00.000000000 -0600
--- ./sympy/polys/domains/mpelements.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/polys/domains/mpelements.py 2014-12-04 10:31:04.385339712 -0700
@@ -4,11 +4,11 @@ from __future__ import print_function, d
from sympy.polys.domains.domainelement import DomainElement
@ -505,8 +493,8 @@
from sympy.utilities import public
--- ./sympy/polys/modulargcd.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/polys/modulargcd.py 2014-03-12 21:00:00.000000000 -0600
--- ./sympy/polys/modulargcd.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/polys/modulargcd.py 2014-12-04 10:31:04.386339711 -0700
@@ -7,7 +7,7 @@ from sympy.polys.polyerrors import Modul
from sympy.polys.domains import PolynomialRing
@ -516,9 +504,9 @@
from sympy import Dummy
import random
--- ./sympy/polys/numberfields.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/polys/numberfields.py 2014-03-12 21:00:00.000000000 -0600
@@ -43,7 +43,7 @@ from sympy.core.exprtools import Factors
--- ./sympy/polys/numberfields.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/polys/numberfields.py 2014-12-04 10:31:04.386339711 -0700
@@ -47,7 +47,7 @@ from sympy.core.exprtools import Factors
from sympy.simplify.simplify import _mexpand, _is_sum_surds
from sympy.ntheory import sieve
from sympy.ntheory.factor_ import divisors
@ -527,20 +515,28 @@
from sympy.core.compatibility import reduce
from sympy.core.compatibility import xrange
--- ./sympy/polys/polytools.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/polys/polytools.py 2014-03-12 21:00:00.000000000 -0600
@@ -47,7 +47,7 @@ from sympy.polys.polyerrors import (
--- ./sympy/polys/polytools.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/polys/polytools.py 2014-12-04 11:04:04.672827949 -0700
@@ -47,8 +47,8 @@ from sympy.polys.polyerrors import (
from sympy.utilities import group, sift, public
import sympy.polys
-import sympy.mpmath
-from sympy.mpmath.libmp.libhyper import NoConvergence
+import mpmath
+from mpmath.libmp.libhyper import NoConvergence
from sympy.polys.domains import FF, QQ
from sympy.polys.domains import FF, QQ, ZZ
from sympy.polys.constructor import construct_domain
@@ -3370,17 +3370,17 @@ class Poly(Expr):
coeffs = [coeff.evalf(n=n).as_real_imag()
for coeff in f.all_coeffs()]
@@ -3391,18 +3391,18 @@ class Poly(Expr):
coeffs = [coeff.evalf(n=n).as_real_imag()
for coeff in f.all_coeffs()]
try:
- coeffs = [sympy.mpmath.mpc(*coeff) for coeff in coeffs]
+ coeffs = [mpmath.mpc(*coeff) for coeff in coeffs]
except TypeError:
raise DomainError("Numerical domain expected, got %s" % \
f.rep.dom)
- dps = sympy.mpmath.mp.dps
- sympy.mpmath.mp.dps = n
@ -548,42 +544,71 @@
+ mpmath.mp.dps = n
try:
try:
- coeffs = [sympy.mpmath.mpc(*coeff) for coeff in coeffs]
+ coeffs = [mpmath.mpc(*coeff) for coeff in coeffs]
except TypeError:
raise DomainError(
"numerical domain expected, got %s" % f.rep.dom)
# We need to add extra precision to guard against losing accuracy.
# 10 times the degree of the polynomial seems to work well.
- roots = sympy.mpmath.polyroots(coeffs, maxsteps=maxsteps,
+ roots = mpmath.polyroots(coeffs, maxsteps=maxsteps,
cleanup=cleanup, error=False, extraprec=f.degree()*10)
- result = sympy.mpmath.polyroots(
+ result = mpmath.polyroots(
coeffs, maxsteps=maxsteps, cleanup=cleanup, error=error)
if error:
@@ -3390,7 +3390,7 @@ class Poly(Expr):
roots = list(map(sympify, sorted(roots, key=lambda r: (r.real, r.imag))))
# Mpmath puts real roots first, then complex ones (as does all_roots)
@@ -3414,7 +3414,7 @@ class Poly(Expr):
'convergence to root failed; try n < %s or maxsteps > %s' % (
n, maxsteps))
finally:
- sympy.mpmath.mp.dps = dps
+ mpmath.mp.dps = dps
if error is not None:
return roots, sympify(error)
--- ./sympy/polys/rootoftools.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/polys/rootoftools.py 2014-03-12 21:00:00.000000000 -0600
@@ -25,8 +25,8 @@ from sympy.polys.polyerrors import (
return roots
--- ./sympy/polys/ring_series.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/polys/ring_series.py 2014-12-04 11:09:16.774704452 -0700
@@ -3,10 +3,10 @@
from sympy.polys.domains import QQ
from sympy.polys.rings import ring, PolyElement
from sympy.polys.monomials import monomial_min, monomial_mul
-from sympy.mpmath.libmp.libintmath import ifac
+from mpmath.libmp.libintmath import ifac
from sympy.core.numbers import Rational
from sympy.core.compatibility import as_int
-from sympy.mpmath.libmp.libintmath import giant_steps
+from mpmath.libmp.libintmath import giant_steps
import math
def _invert_monoms(p1):
--- ./sympy/polys/rootoftools.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/polys/rootoftools.py 2014-12-04 14:05:59.247169386 -0700
@@ -28,8 +28,8 @@ from sympy.polys.polyerrors import (
from sympy.polys.domains import QQ
-from sympy.mpmath import mp, mpf, mpc, findroot
-from sympy.mpmath import mp, mpf, mpc, findroot, workprec
-from sympy.mpmath.libmp.libmpf import prec_to_dps
+from mpmath import mp, mpf, mpc, findroot
+from mpmath import mp, mpf, mpc, findroot, workprec
+from mpmath.libmp.libmpf import prec_to_dps
from sympy.utilities import lambdify, public
--- ./sympy/printing/latex.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/printing/latex.py 2014-03-12 21:00:00.000000000 -0600
--- ./sympy/polys/tests/test_polyroots.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/polys/tests/test_polyroots.py 2014-12-04 14:06:31.622109815 -0700
@@ -17,6 +17,7 @@ from sympy.utilities.iterables import ca
from sympy.utilities.pytest import raises, XFAIL
from sympy.utilities.randtest import verify_numerically
import sympy
+import mpmath
a, b, c, d, e, q, t, x, y, z = symbols('a,b,c,d,e,q,t,x,y,z')
@@ -584,7 +585,7 @@ def test_nroots1():
n = 64
p = legendre_poly(n, x, polys=True)
- raises(sympy.mpmath.mp.NoConvergence, lambda: p.nroots(n=3, maxsteps=5))
+ raises(mpmath.mp.NoConvergence, lambda: p.nroots(n=3, maxsteps=5))
roots = p.nroots(n=3)
# The order of roots matters. They are ordered from smallest to the
--- ./sympy/printing/latex.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/printing/latex.py 2014-12-04 10:31:04.391339702 -0700
@@ -15,8 +15,8 @@ from .printer import Printer
from .conventions import split_super_sub, requires_partial
from .precedence import precedence, PRECEDENCE
@ -595,8 +620,8 @@
from sympy.core.compatibility import default_sort_key, xrange
from sympy.utilities.iterables import has_variety
--- ./sympy/printing/repr.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/printing/repr.py 2014-03-12 21:00:00.000000000 -0600
--- ./sympy/printing/repr.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/printing/repr.py 2014-12-04 10:31:04.392339701 -0700
@@ -9,8 +9,8 @@ from __future__ import print_function, d
from sympy.core.function import AppliedUndef
@ -608,8 +633,8 @@
class ReprPrinter(Printer):
--- ./sympy/printing/str.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/printing/str.py 2014-03-12 21:00:00.000000000 -0600
--- ./sympy/printing/str.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/printing/str.py 2014-12-04 10:31:04.392339701 -0700
@@ -10,8 +10,8 @@ from sympy.core.numbers import Integer
from .printer import Printer
from sympy.printing.precedence import precedence, PRECEDENCE
@ -621,9 +646,31 @@
from sympy.utilities import default_sort_key
--- ./sympy/simplify/simplify.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/simplify/simplify.py 2014-03-12 21:00:00.000000000 -0600
@@ -33,7 +33,7 @@ from sympy.ntheory.factor_ import multip
--- ./sympy/sets/sets.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/sets/sets.py 2014-12-04 11:10:31.446662910 -0700
@@ -13,7 +13,7 @@ from sympy.core.decorators import deprec
from sympy.core.mul import Mul
from sympy.sets.contains import Contains
-from sympy.mpmath import mpi, mpf
+from mpmath import mpi, mpf
from sympy.logic.boolalg import And, Or, Not, true, false
from sympy.utilities import default_sort_key, subsets
--- ./sympy/sets/tests/test_sets.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/sets/tests/test_sets.py 2014-12-04 11:10:10.615676162 -0700
@@ -2,7 +2,7 @@ from sympy import (Symbol, Set, Union, I
GreaterThan, LessThan, Max, Min, And, Or, Eq, Ge, Le, Gt, Lt, Float,
FiniteSet, Intersection, imageset, I, true, false, ProductSet, E,
sqrt, Complement, EmptySet, sin, cos, Lambda, ImageSet, pi)
-from sympy.mpmath import mpi
+from mpmath import mpi
from sympy.utilities.pytest import raises
from sympy.utilities.pytest import raises, XFAIL
--- ./sympy/simplify/simplify.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/simplify/simplify.py 2014-12-04 10:31:04.393339699 -0700
@@ -34,7 +34,7 @@ from sympy.ntheory.factor_ import multip
from sympy.polys import (Poly, together, reduced, cancel, factor,
ComputationFailed, lcm, gcd)
@ -632,8 +679,8 @@
def _mexpand(expr):
--- ./sympy/solvers/solvers.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/solvers/solvers.py 2014-03-12 21:00:00.000000000 -0600
--- ./sympy/solvers/solvers.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/solvers/solvers.py 2014-12-04 10:31:04.394339698 -0700
@@ -47,7 +47,7 @@ from sympy.utilities.lambdify import lam
from sympy.utilities.misc import filldedent
from sympy.utilities.iterables import uniq, generate_bell, flatten
@ -643,7 +690,7 @@
from sympy.solvers.polysys import solve_poly_system
from sympy.solvers.inequalities import reduce_inequalities
@@ -2399,8 +2399,8 @@ def nsolve(*args, **kwargs):
@@ -2417,8 +2417,8 @@ def nsolve(*args, **kwargs):
Overdetermined systems are supported.
>>> from sympy import Symbol, nsolve
@ -654,8 +701,8 @@
>>> x1 = Symbol('x1')
>>> x2 = Symbol('x2')
>>> f1 = 3 * x1**2 - 2 * x2**2 - 1
--- ./sympy/solvers/tests/test_numeric.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/solvers/tests/test_numeric.py 2014-03-12 21:00:00.000000000 -0600
--- ./sympy/solvers/tests/test_numeric.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/solvers/tests/test_numeric.py 2014-12-04 10:31:04.395339696 -0700
@@ -1,5 +1,5 @@
from sympy import Eq, Matrix, pi, sin, sqrt, Symbol, Integral, Piecewise, symbols
-from sympy.mpmath import mnorm, mpf
@ -663,30 +710,8 @@
from sympy.solvers import nsolve
from sympy.utilities.lambdify import lambdify
from sympy.utilities.pytest import raises, XFAIL
--- ./sympy/statistics/distributions.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/statistics/distributions.py 2014-03-12 21:00:00.000000000 -0600
@@ -213,7 +213,7 @@ class Normal(ContinuousProbability):
# error function is not yet implemented in SymPy but can easily be
# computed numerically
- from sympy.mpmath import mpf, erfinv
+ from mpmath import mpf, erfinv
# calculate y = ierf(p) by solving erf(y) - p = 0
y = erfinv(mpf(p))
--- ./sympy/statistics/tests/test_statistics.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/statistics/tests/test_statistics.py 2014-03-12 21:00:00.000000000 -0600
@@ -3,7 +3,7 @@ from sympy.functions import erf
from operator import abs
-from sympy.mpmath import mp
+from mpmath import mp
from sympy.utilities.tests.test_pickling import check
--- ./sympy/utilities/decorator.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/utilities/decorator.py 2014-03-12 21:00:00.000000000 -0600
--- ./sympy/utilities/decorator.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/utilities/decorator.py 2014-12-04 10:31:06.039336987 -0700
@@ -81,7 +81,7 @@ def conserve_mpmath_dps(func):
"""After the function finishes, resets the value of mpmath.mp.dps to
the value it had before the function was run."""
@ -696,9 +721,9 @@
def func_wrapper():
dps = mpmath.mp.dps
--- ./sympy/utilities/lambdify.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/utilities/lambdify.py 2014-03-12 21:00:00.000000000 -0600
@@ -87,7 +87,7 @@ NUMPY_TRANSLATIONS = {
--- ./sympy/utilities/lambdify.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/utilities/lambdify.py 2014-12-04 10:31:06.040336985 -0700
@@ -93,7 +93,7 @@ NUMEXPR_TRANSLATIONS = {}
# Available modules:
MODULES = {
"math": (MATH, MATH_DEFAULT, MATH_TRANSLATIONS, ("from math import *",)),
@ -707,19 +732,28 @@
"numpy": (NUMPY, NUMPY_DEFAULT, NUMPY_TRANSLATIONS, ("import_module('numpy')",)),
"sympy": (SYMPY, SYMPY_DEFAULT, {}, (
"from sympy.functions import *",
--- ./sympy/utilities/runtests.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/utilities/runtests.py 2014-03-12 21:00:00.000000000 -0600
@@ -552,7 +552,7 @@ def _doctest(*paths, **kwargs):
--- ./sympy/utilities/runtests.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/utilities/runtests.py 2014-12-04 11:05:35.646805355 -0700
@@ -473,7 +473,7 @@ def _test(*paths, **kwargs):
split = kwargs.get('split', None)
blacklist = kwargs.get('blacklist', [])
blacklist.extend([
- "sympy/mpmath", # needs to be fixed upstream
+ "mpmath", # needs to be fixed upstream
])
blacklist = convert_to_native_paths(blacklist)
r = PyTestReporter(verbose=verbose, tb=tb, colors=colors,
@@ -607,7 +607,7 @@ def _doctest(*paths, **kwargs):
split = kwargs.get('split', None)
blacklist.extend([
"doc/src/modules/mpmath", # needs to be fixed upstream
- "sympy/mpmath", # needs to be fixed upstream
+ "mpmath", # needs to be fixed upstream
"doc/src/modules/plotting.rst", # generates live plots
"sympy/statistics", # prints a deprecation
"doc/src/modules/statistics.rst", # warning (the module is deprecated)
--- ./sympy/utilities/tests/diagnose_imports.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/utilities/tests/diagnose_imports.py 2014-03-12 21:00:00.000000000 -0600
"sympy/utilities/compilef.py", # needs tcc
"sympy/physics/gaussopt.py", # raises deprecation warning
--- ./sympy/utilities/tests/diagnose_imports.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/utilities/tests/diagnose_imports.py 2014-12-04 10:31:06.041336983 -0700
@@ -117,7 +117,7 @@ if __name__ == "__main__":
"""Is module relevant for import checking?
@ -729,11 +763,11 @@
sorted_messages = []
--- ./sympy/utilities/tests/test_lambdify.py.orig 2014-02-22 12:13:32.000000000 -0700
+++ ./sympy/utilities/tests/test_lambdify.py 2014-03-12 21:00:00.000000000 -0600
--- ./sympy/utilities/tests/test_lambdify.py.orig 2014-11-20 13:00:41.000000000 -0700
+++ ./sympy/utilities/tests/test_lambdify.py 2014-12-04 10:31:06.041336983 -0700
@@ -3,7 +3,7 @@ from sympy import (
symbols, lambdify, sqrt, sin, cos, pi, atan, Rational, Float,
Matrix, Lambda, exp, Integral, oo, I, Abs, Function, true, false)
symbols, lambdify, sqrt, sin, cos, tan, pi, atan, acos, acosh, Rational,
Float, Matrix, Lambda, exp, Integral, oo, I, Abs, Function, true, false)
from sympy.printing.lambdarepr import LambdaPrinter
-from sympy import mpmath
+import mpmath

View File

@ -1,19 +1,13 @@
Name: sympy
Version: 0.7.5
Release: 4%{?dist}
Version: 0.7.6
Release: 1%{?dist}
Summary: A Python library for symbolic mathematics
License: BSD
URL: http://sympy.org/
Source0: https://github.com/%{name}/%{name}/releases/download/%{name}-%{version}/%{name}-%{version}.tar.gz
# Upstream tried to graft in another project as a private copy; we rip
# it out (rhbz# 551576):
Patch0: %{name}-0.7.5-strip-internal-mpmath.patch
# The test driver disables Unicode output, but the printing test expects to
# see Unicode output. Until upstream fixes this, patch the test so that it
# expects Unicode output if Unicode output is active, otherwise ASCII output.
Patch1: %{name}-0.7.5-test.patch
# Fix a bug in ellipse.is_tangent (bz 1135677)
Patch2: %{name}-0.7.5-is-tangent.patch
Patch0: %{name}-0.7.6-strip-internal-mpmath.patch
BuildArch: noarch
BuildRequires: gcc-gfortran
@ -24,6 +18,7 @@ BuildRequires: librsvg2-tools
BuildRequires: numpy python3-numpy
BuildRequires: numpy-f2py python3-numpy-f2py
BuildRequires: python2-devel python3-devel
BuildRequires: python-fastcache python3-fastcache
BuildRequires: python-gmpy2 python3-gmpy2
BuildRequires: python-matplotlib python3-matplotlib
BuildRequires: python-mpmath python3-mpmath
@ -34,11 +29,14 @@ BuildRequires: tex-dvipng
BuildRequires: xorg-x11-fonts-Type1
BuildRequires: xorg-x11-server-Xvfb
Requires: python-fastcache
Requires: python-gmpy2
Requires: python-matplotlib
Requires: python-mpmath
Requires: python-pyglet
Recommends: python-theano
%description
SymPy aims to become a full-featured computer algebra system (CAS)
while keeping the code as simple as possible in order to be
@ -47,11 +45,14 @@ Python and does not require any external libraries.
%package -n python3-%{name}
Summary: A Python3 library for symbolic mathematics
Requires: python3-fastcache
Requires: python3-gmpy2
Requires: python3-matplotlib
Requires: python3-mpmath
Requires: python3-pyglet
Recommends: python3-theano
%description -n python3-%{name}
SymPy aims to become a full-featured computer algebra system (CAS)
while keeping the code as simple as possible in order to be
@ -75,6 +76,7 @@ This package contains example input for sympy.
%package doc
Summary: Documentation for sympy
Requires: %{name} = %{version}-%{release}
Provides: bundled(jquery)
%description doc
HTML documentation for sympy.
@ -82,25 +84,20 @@ HTML documentation for sympy.
%prep
%setup -q
%patch0 -b .mpmath
%patch1
%patch2
rm -rf sympy/mpmath doc/src/modules/mpmath
rm -rf %{name}-%{version}/sympy/mpmath %{name}-%{version}/doc/src/module/mpmath
# Workaround for bz 1075826. Remove this when that bug is resolved.
mkdir -p doc/_build/html
cp -p doc/src/_static/sympylogo.png doc
# Workaround for mpmath brokenness (bz 1127796)
sed -e 's/import raises/&, XFAIL/' \
-e '/^def test_roots_preprocessed():/i@XFAIL' \
-i sympy/polys/tests/test_polyroots.py
sed -i '/^def test_nroots():/i@XFAIL' sympy/polys/tests/test_polytools.py
# Make a copy for building the python3 version
rm -rf %{py3dir}
cp -a . %{py3dir}
# One plotting test expects one warning, which happens with python < 3.4, but
# the same warning is triggered in a different spot with python 3.4, leading
# to an assertion failure.
sed -e 's/import warnings/&, XFAIL/' \
-e '/^def test_matplotlib():/i@XFAIL' \
-i %{py3dir}/sympy/plotting/tests/test_plot_implicit.py
%build
# Build the python2 version
python2 setup.py build
@ -125,7 +122,8 @@ python3 setup.py install -O1 --skip-build --root %{buildroot}
sed -i 's/env python/python3/' %{buildroot}%{_bindir}/isympy
touch -r bin/isympy %{buildroot}%{_bindir}/isympy
mv %{buildroot}%{_bindir}/isympy %{buildroot}%{_bindir}/python3-isympy
ln -s isympy.1.gz %{buildroot}%{_mandir}/man1/python3-isympy.1.gz
mv %{buildroot}%{_mandir}/man1/isympy.1 \
%{buildroot}%{_mandir}/man1/python3-isympy.1
popd
# Install the python2 version
@ -139,6 +137,7 @@ rm -f %{buildroot}%{_bindir}/{,doc}test
## Install the TeXmacs integration
sed 's/python/python3/' data/TeXmacs/bin/tm_sympy > \
%{buildroot}%{_bindir}/tm_sympy
chmod a+x %{buildroot}%{_bindir}/tm_sympy
touch -r data/TeXmacs/bin/tm_sympy %{buildroot}%{_bindir}/tm_sympy
mkdir -p %{buildroot}%{_datadir}/TeXmacs/plugins/sympy
cp -a data/TeXmacs/progs %{buildroot}%{_datadir}/TeXmacs/plugins/sympy
@ -152,6 +151,9 @@ cp -a doc/_build/html %{buildroot}%{_docdir}/%{name}-doc
rm -f %{buildroot}%{_docdir}/%{name}-doc/html/.buildinfo
rm -fr %{buildroot}%{_docdir}/%{name}-doc/i18n
# Stash the python3 build of the cheatsheet where %%doc can find it
cp -p %{py3dir}/doc/_build/cheatsheet/combinatoric_cheatsheet.pdf .
%check
# The python3 tests fail with Unicode errors without this
export LC_ALL=en_US.UTF-8
@ -163,7 +165,7 @@ xvfb-run -n $dnum python3 setup.py test
popd
%files
%doc AUTHORS doc/_build/cheatsheet/cheatsheet.pdf
%doc AUTHORS README.rst doc/_build/cheatsheet/combinatoric_cheatsheet.pdf
%license LICENSE
%{python2_sitelib}/sympy/
%{python2_sitelib}/sympy-%{version}-*.egg-info
@ -171,7 +173,7 @@ popd
%{_mandir}/man1/isympy.1*
%files -n python3-%{name}
%doc AUTHORS doc/_build/cheatsheet/cheatsheet.pdf
%doc AUTHORS README.rst combinatoric_cheatsheet.pdf
%license LICENSE
%{python3_sitelib}/sympy/
%{python3_sitelib}/sympy-%{version}-*.egg-info
@ -191,8 +193,16 @@ popd
%{_docdir}/%{name}-doc/html
%changelog
* Fri Dec 5 2014 Jerry James <loganjerry@gmail.com> - 0.7.6-1
- Update to 0.7.6
- Drop upstreamed -test and -is-tangent patches
- Drop obsolete bug workarounds
- Add python(3)-fastcache BR and R
- Recommend python-theano
- Fix executable bits on tm_sympy
* Tue Sep 16 2014 Jerry James <loganjerry@gmail.com> - 0.7.5-4
- Drop python3-six BR and R now that bz1140413 is fixed
- Drop python3-six BR and R now that bz 1140413 is fixed
- Use gmpy2
* Wed Sep 3 2014 Jerry James <loganjerry@gmail.com> - 0.7.5-3