[sympy] Update to 0.7.6.
Jerry James
jjames at fedoraproject.org
Fri Dec 5 15:41:14 UTC 2014
commit b37cad141304f782657a446ef46b226917c649b0
Author: Jerry James <jamesjer at betterlinux.com>
Date: Fri Dec 5 08:41:06 2014 -0700
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
.gitignore | 2 +-
sources | 2 +-
sympy-0.7.5-is-tangent.patch | 13 -
sympy-0.7.5-test.patch | 86 ----
...atch => sympy-0.7.6-strip-internal-mpmath.patch | 464 +++++++++++---------
sympy.spec | 60 ++-
6 files changed, 286 insertions(+), 341 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 070709d..9885830 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-/sympy-0.7.5.tar.gz
+/sympy-0.7.6.tar.gz
diff --git a/sources b/sources
index 81d4080..9d45cf5 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-7de1adb49972a15a3dd975e879a2bea9 sympy-0.7.5.tar.gz
+3d04753974306d8a13830008e17babca sympy-0.7.6.tar.gz
diff --git a/sympy-0.7.5-strip-internal-mpmath.patch b/sympy-0.7.6-strip-internal-mpmath.patch
similarity index 60%
rename from sympy-0.7.5-strip-internal-mpmath.patch
rename to sympy-0.7.6-strip-internal-mpmath.patch
index b4d0c43..36c14ff 100644
--- a/sympy-0.7.5-strip-internal-mpmath.patch
+++ b/sympy-0.7.6-strip-internal-mpmath.patch
@@ -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)
-
-- 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))))
+ # 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)
+
+ # 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
diff --git a/sympy.spec b/sympy.spec
index 5d403e7..225508c 100644
--- a/sympy.spec
+++ b/sympy.spec
@@ -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 at XFAIL' \
- -i sympy/polys/tests/test_polyroots.py
-sed -i '/^def test_nroots():/i at 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 at 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 at 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 at 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 at gmail.com> - 0.7.5-3
More information about the scm-commits
mailing list