diff --git a/mathics/builtin/arithmetic.py b/mathics/builtin/arithmetic.py
index 51980d633..3ed71b068 100644
--- a/mathics/builtin/arithmetic.py
+++ b/mathics/builtin/arithmetic.py
@@ -829,7 +829,9 @@ def evaluate(self, evaluation: Evaluation):
class Im(SympyFunction):
"""
- :WMA link:https://reference.wolfram.com/language/ref/Im.html
+
+ :WMA link:
+ https://reference.wolfram.com/language/ref/Im.html
- 'Im[$z$]'
@@ -1215,7 +1217,12 @@ class Real_(Builtin):
class RealAbs(Builtin):
"""
- :WMA link:https://reference.wolfram.com/language/ref/RealAbs.html
+
+ :Abs (Real):
+ https://en.wikipedia.org/wiki/Absolute_value (
+ :WMA link:
+ https://reference.wolfram.com/language/ref/RealAbs.html
+ )
- 'RealAbs[$x$]'
@@ -1283,8 +1290,12 @@ def test(self, expr) -> bool:
class RealSign(Builtin):
"""
- :WMA link:https://reference.wolfram.com/language/ref/RealAbs.html
-
+
+ :Signum:
+ https://en.wikipedia.org/wiki/Sign_function (
+ :WMA link:
+ https://reference.wolfram.com/language/ref/RealSign.html
+ )
- 'RealSign[$x$]'
- returns $-1$, $0$ or $1$ depending on whether $x$ is negative,
@@ -1319,7 +1330,12 @@ def eval(self, x: Number, evaluation: Evaluation) -> Optional[Integer]:
class Sign(SympyFunction):
"""
- :WMA link:https://reference.wolfram.com/language/ref/Sign.html
+
+ :Sign:
+ https://en.wikipedia.org/wiki/Sign_function (
+ :WMA link:
+ https://reference.wolfram.com/language/ref/Sign.html
+ )
- 'Sign[$x$]'
diff --git a/mathics/builtin/testing_expressions/equality_inequality.py b/mathics/builtin/testing_expressions/equality_inequality.py
index d5e0ce6e5..59152e31e 100644
--- a/mathics/builtin/testing_expressions/equality_inequality.py
+++ b/mathics/builtin/testing_expressions/equality_inequality.py
@@ -69,7 +69,6 @@ def numerify_args(items, evaluation) -> list:
n_items = []
for item in items:
if not isinstance(item, Number):
- # TODO: use $MaxExtraPrecision insterad of hard-coded 50
item = eval_N(item, evaluation, SymbolMaxExtraPrecision)
n_items.append(item)
items = n_items
diff --git a/mathics/doc/latex/doc2latex.py b/mathics/doc/latex/doc2latex.py
index a1a89c5b3..43371863a 100755
--- a/mathics/doc/latex/doc2latex.py
+++ b/mathics/doc/latex/doc2latex.py
@@ -30,6 +30,7 @@
import mathics
from mathics import __version__, settings, version_string
from mathics.core.definitions import Definitions
+from mathics.core.load_builtin import import_and_load_builtins
from mathics.doc.latex_doc import LaTeXMathicsDocumentation
from mathics.eval.pymathics import PyMathicsLoadException, eval_LoadModule
@@ -172,7 +173,8 @@ def main():
dest="chapters",
metavar="CHAPTER",
help="only test CHAPTER(s). "
- "You can list multiple chapters by adding a comma (and no space) in between chapter names.",
+ "You can list multiple chapters by adding a comma (and no space) in between "
+ "chapter names.",
)
parser.add_argument(
"--sections",
@@ -180,7 +182,8 @@ def main():
dest="sections",
metavar="SECTION",
help="only test SECTION(s). "
- "You can list multiple chapters by adding a comma (and no space) in between chapter names.",
+ "You can list multiple chapters by adding a comma (and no space) in between "
+ "chapter names.",
)
parser.add_argument(
"--load-module",
@@ -210,6 +213,9 @@ def main():
# LoadModule Mathics3 modules to pull in modules, and
# their docstrings
+
+ import_and_load_builtins()
+
if args.pymathics:
definitions = Definitions(add_builtin=True)
for module_name in args.pymathics.split(","):
diff --git a/mathics/eval/testing_expressions.py b/mathics/eval/testing_expressions.py
index b0783ceb9..4046d0c8c 100644
--- a/mathics/eval/testing_expressions.py
+++ b/mathics/eval/testing_expressions.py
@@ -6,13 +6,6 @@
from mathics.core.expression import Expression
from mathics.core.systemsymbols import SymbolDirectedInfinity
-# TODO: Remove me. The following function is not used anywhere
-"""
-def cmp(a, b) -> int:
- "Returns 0 if a == b, -1 if a < b and 1 if a > b"
- return (a > b) - (a < b)
-"""
-
def do_cmp(x1, x2) -> Optional[int]:
diff --git a/setup.py b/setup.py
index 9917daa4a..ab3663176 100644
--- a/setup.py
+++ b/setup.py
@@ -52,7 +52,7 @@
INSTALL_REQUIRES += [
"numpy<=1.24",
"llvmlite",
- "sympy>=1.8, < 1.12",
+ "sympy>=1.8",
# Pillow 9.1.0 supports BigTIFF with big-endian byte order.
# ExampleData image hedy.tif is in this format.
# Pillow 9.2 handles sunflowers.jpg
diff --git a/test/builtin/calculus/test_solve.py b/test/builtin/calculus/test_solve.py
index 9d8f37ccb..7b1c79f07 100644
--- a/test/builtin/calculus/test_solve.py
+++ b/test/builtin/calculus/test_solve.py
@@ -13,13 +13,13 @@ def test_solve():
# the test to fail.
(None, None, None),
(
- "Solve[{(7+x)*ma == 167, (5+x)*mb == 167, (7+5)*(ma+mb) == 334}, {ma, mb, x}]",
+ "Solve[{(7+x)*ma == 167, (5+x)*mb == 167, (7+5)*(ma+mb) == 334}, {ma, mb, x}]//Sort",
"{{ma -> 1169 / 12 - 167 Sqrt[37] / 12, mb -> -835 / 12 + 167 Sqrt[37] / 12, x -> Sqrt[37]}, {ma -> 1169 / 12 + 167 Sqrt[37] / 12, mb -> -835 / 12 - 167 Sqrt[37] / 12, x -> -Sqrt[37]}}",
"Issue63",
),
(
- "Solve[{(7+x)*ma == 167, (5+x)*mb == 167, (7+5)*(ma+mb) == 334}, {x, ma, mb}]",
- "{{x -> -Sqrt[37], ma -> 1169 / 12 + 167 Sqrt[37] / 12, mb -> -835 / 12 - 167 Sqrt[37] / 12}, {x -> Sqrt[37], ma -> 1169 / 12 - 167 Sqrt[37] / 12, mb -> -835 / 12 + 167 Sqrt[37] / 12}}",
+ "Solve[{(7+x)*ma == 167, (5+x)*mb == 167, (7+5)*(ma+mb) == 334}, {x, ma, mb}]//Sort",
+ "{{x -> Sqrt[37], ma -> 1169 / 12 - 167 Sqrt[37] / 12, mb -> -835 / 12 + 167 Sqrt[37] / 12},{x -> -Sqrt[37], ma -> 1169 / 12 + 167 Sqrt[37] / 12, mb -> -835 / 12 - 167 Sqrt[37] / 12}}",
"Issue 208",
),
(