Skip to content

Commit 6318023

Browse files
authored
Moving modules from mathics.algorithm to mathics.eval (#922)
From the discussion in PR #918 (#918 (comment)), I remembered that this was something pendant for a while, so I started moving these modules to follow the new organization of the code.
1 parent 0cdc458 commit 6318023

File tree

12 files changed

+49
-22
lines changed

12 files changed

+49
-22
lines changed

mathics/builtin/atomic/numbers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
SymbolRound,
4646
)
4747
from mathics.eval.nevaluator import eval_N
48-
from mathics.eval.numbers import eval_Accuracy, eval_Precision
48+
from mathics.eval.numbers.numbers import eval_Accuracy, eval_Precision
4949

5050
SymbolIntegerDigits = Symbol("IntegerDigits")
5151
SymbolIntegerExponent = Symbol("IntegerExponent")

mathics/builtin/numbers/algebra.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
import sympy
1919

20-
from mathics.algorithm.simplify import default_complexity_function
2120
from mathics.builtin.inference import evaluate_predicate
2221
from mathics.builtin.options import options_to_rules
2322
from mathics.builtin.scoping import dynamic_scoping
@@ -64,7 +63,8 @@
6463
SymbolTable,
6564
SymbolTanh,
6665
)
67-
from mathics.eval.numbers import cancel, sympy_factor
66+
from mathics.eval.numbers.algebra.simplify import default_complexity_function
67+
from mathics.eval.numbers.numbers import cancel, sympy_factor
6868
from mathics.eval.parts import walk_parts
6969
from mathics.eval.patterns import match
7070

mathics/builtin/numbers/calculus.py

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,6 @@
1515
import numpy as np
1616
import sympy
1717

18-
from mathics.algorithm.integrators import (
19-
_fubini,
20-
_internal_adaptative_simpsons_rule,
21-
decompose_domain,
22-
eval_D_to_Integral,
23-
)
24-
from mathics.algorithm.series import (
25-
build_series,
26-
series_derivative,
27-
series_plus_series,
28-
series_times_series,
29-
)
3018
from mathics.builtin.scoping import dynamic_scoping
3119
from mathics.core.atoms import (
3220
Atom,
@@ -90,6 +78,18 @@
9078
)
9179
from mathics.eval.makeboxes import format_element
9280
from mathics.eval.nevaluator import eval_N
81+
from mathics.eval.numbers.calculus.integrators import (
82+
_fubini,
83+
_internal_adaptative_simpsons_rule,
84+
decompose_domain,
85+
eval_D_to_Integral,
86+
)
87+
from mathics.eval.numbers.calculus.series import (
88+
build_series,
89+
series_derivative,
90+
series_plus_series,
91+
series_times_series,
92+
)
9393

9494
# These should be used in lower-level formatting
9595
SymbolDifferentialD = Symbol("System`DifferentialD")
@@ -748,7 +748,9 @@ class FindMaximum(_BaseFinder):
748748
messages = _BaseFinder.messages.copy()
749749
summary_text = "local maximum optimization"
750750
try:
751-
from mathics.algorithm.optimizers import native_local_optimizer_methods
751+
from mathics.eval.numbers.calculus.optimizers import (
752+
native_local_optimizer_methods,
753+
)
752754

753755
methods.update(native_local_optimizer_methods)
754756
except Exception:
@@ -797,7 +799,7 @@ class FindMinimum(_BaseFinder):
797799
messages = _BaseFinder.messages.copy()
798800
summary_text = "local minimum optimization"
799801
try:
800-
from mathics.algorithm.optimizers import (
802+
from mathics.eval.numbers.calculus.optimizers import (
801803
native_local_optimizer_methods,
802804
native_optimizer_messages,
803805
)
@@ -883,7 +885,7 @@ class FindRoot(_BaseFinder):
883885
)
884886

885887
try:
886-
from mathics.algorithm.optimizers import (
888+
from mathics.eval.numbers.calculus.optimizers import (
887889
native_findroot_messages,
888890
native_findroot_methods,
889891
)
@@ -1349,7 +1351,7 @@ class NIntegrate(Builtin):
13491351

13501352
try:
13511353
# builtin integrators
1352-
from mathics.algorithm.integrators import (
1354+
from mathics.eval.numbers.calculus.integrators import (
13531355
integrator_messages,
13541356
integrator_methods,
13551357
)

mathics/core/builtin.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
SymbolSequence,
6464
)
6565
from mathics.eval.arithmetic import eval_mpmath_function
66-
from mathics.eval.numbers import cancel
66+
from mathics.eval.numbers.numbers import cancel
6767
from mathics.eval.numerify import numerify
6868
from mathics.eval.scoping import dynamic_scoping
6969

mathics/eval/numbers/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# -*- coding: utf-8 -*-
2+
"""
3+
Implementation of mathics.builtin.numbers
4+
"""
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# -*- coding: utf-8 -*-
2+
"""
3+
Implementation of mathics.builtin.numbers.algebra
4+
"""
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# -*- coding: utf-8 -*-
2+
"""
3+
Implementation of mathics.builtin.numbers.calculus
4+
"""

mathics/algorithm/integrators.py renamed to mathics/eval/numbers/calculus/integrators.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# -*- coding: utf-8 -*-
2-
2+
"""
3+
Implementation of builtin function integrators.
4+
"""
35
import numpy as np
46

57
from mathics.core.atoms import Integer, Integer0, Number

mathics/algorithm/optimizers.py renamed to mathics/eval/numbers/calculus/optimizers.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# -*- coding: utf-8 -*-
2-
2+
"""
3+
Implementation of builtin optimizers.
4+
"""
35
from typing import Optional
46

57
from mathics.builtin.scoping import dynamic_scoping

mathics/algorithm/series.py renamed to mathics/eval/numbers/calculus/series.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# -*- coding: utf-8 -*-
2+
"""
3+
Implementation of Series handling functions.
4+
"""
15
from mathics.core.atoms import Integer, Integer0, Rational
26
from mathics.core.convert.expression import to_mathics_list
37
from mathics.core.expression import Expression

mathics/eval/numbers.py renamed to mathics/eval/numbers/numbers.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
# -*- coding: utf-8 -*-
2+
"""
3+
Implementation of numbers handling functions.
4+
"""
5+
16
from typing import Optional
27

38
import mpmath

0 commit comments

Comments
 (0)