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", ), (