Skip to content

Commit 91db1fb

Browse files
authored
Merge pull request #1333 from mathics/Integer0
Integer(0) -> Integer0; Integer(1) -> Integer1
2 parents 2d44f37 + 8af6eb9 commit 91db1fb

19 files changed

Lines changed: 103 additions & 86 deletions

mathics/builtin/algebra.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
Atom,
1111
Expression,
1212
Integer,
13+
Integer0,
1314
Integer1,
1415
Number,
1516
Symbol,
@@ -61,7 +62,7 @@ def _expand(expr):
6162
return expand(expr, numer=numer, denom=denom, deep=deep, **kwargs)
6263

6364
if kwargs["modulus"] is not None and kwargs["modulus"] <= 0:
64-
return Integer(0)
65+
return Integer0
6566

6667
# A special case for trigonometric functions
6768
if "trig" in kwargs and kwargs["trig"]:
@@ -496,8 +497,8 @@ class FactorTermsList(Builtin):
496497

497498
def apply_list(self, expr, vars, evaluation):
498499
"FactorTermsList[expr_, vars_List]"
499-
if expr == Integer(0):
500-
return Expression("List", Integer1, Integer(0))
500+
if expr == Integer0:
501+
return Expression("List", Integer1, Integer0)
501502
elif isinstance(expr, Number):
502503
return Expression("List", expr, Integer1)
503504

@@ -1053,7 +1054,7 @@ def apply(self, expr, v, evaluation):
10531054
# Get a coefficient of form in an expression
10541055
def _coefficient(name, expr, form, n, evaluation):
10551056
if expr == SymbolNull or form == SymbolNull or n == SymbolNull:
1056-
return Integer(0)
1057+
return Integer0
10571058

10581059
if not (isinstance(form, Symbol)) and not (isinstance(form, Expression)):
10591060
return evaluation.message(name, "ivar", form)
@@ -1260,10 +1261,10 @@ def apply(self, expr, form, evaluation):
12601261
# special cases for expr and form
12611262
e_null = expr == SymbolNull
12621263
f_null = form == SymbolNull
1263-
if expr == Integer(0):
1264+
if expr == Integer0:
12641265
return Expression("List")
12651266
elif e_null and f_null:
1266-
return Expression("List", Integer(0))
1267+
return Expression("List", Integer0)
12671268
elif e_null and not f_null:
12681269
return Expression("List", SymbolNull)
12691270
elif f_null:
@@ -1411,7 +1412,7 @@ def apply_novar(self, expr, evaluation):
14111412

14121413
def apply(self, expr, form, h, evaluation):
14131414
"Exponent[expr_, form_, h_]"
1414-
if expr == Integer(0):
1415+
if expr == Integer0:
14151416
return Expression("DirectedInfinity", Integer(-1))
14161417

14171418
if not form.has_form("List", None):

mathics/builtin/arithmetic.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
Complex,
2727
Expression,
2828
Integer,
29+
Integer0,
2930
Integer1,
3031
Number,
3132
Rational,
@@ -384,13 +385,13 @@ def append_last():
384385
else:
385386
number = from_sympy(sum(item.to_sympy() for item in numbers))
386387
else:
387-
number = Integer(0)
388+
number = Integer0
388389

389-
if not number.sameQ(Integer(0)):
390+
if not number.sameQ(Integer0):
390391
leaves.insert(0, number)
391392

392393
if not leaves:
393-
return Integer(0)
394+
return Integer0
394395
elif len(leaves) == 1:
395396
return leaves[0]
396397
else:
@@ -1227,7 +1228,7 @@ def apply_complex(self, number, evaluation):
12271228
def apply_number(self, number, evaluation):
12281229
"Im[number_?NumberQ]"
12291230

1230-
return Integer(0)
1231+
return Integer0
12311232

12321233
def apply(self, number, evaluation):
12331234
"Im[number_]"
@@ -1391,7 +1392,7 @@ class I(Predefined):
13911392
python_equivalent = 1j
13921393

13931394
def evaluate(self, evaluation):
1394-
return Complex(Integer(0), Integer1)
1395+
return Complex(Integer0, Integer1)
13951396

13961397

13971398
class NumberQ(Test):
@@ -1474,7 +1475,7 @@ def apply(self, expr, evaluation):
14741475
):
14751476
return (
14761477
SymbolTrue
1477-
if Expression("Simplify", expr).evaluate(evaluation) == Integer(0)
1478+
if Expression("Simplify", expr).evaluate(evaluation) == Integer0
14781479
else SymbolFalse
14791480
)
14801481

@@ -1891,7 +1892,7 @@ def from_sympy(self, sympy_name, leaves):
18911892
if sympy_name == "lowergamma":
18921893
# lowergamma(z, x) -> Gamma[z, 0, x]
18931894
z, x = leaves
1894-
return Expression(self.get_name(), z, Integer(0), x)
1895+
return Expression(self.get_name(), z, Integer0, x)
18951896
else:
18961897
return Expression(self.get_name(), *leaves)
18971898

@@ -2240,7 +2241,7 @@ def to_sympy(self, expr, **kwargs):
22402241
if len(leaves) == 2: # default case
22412242
sympy_cases.append((leaves[1].to_sympy(**kwargs), True))
22422243
else:
2243-
sympy_cases.append((Integer(0).to_sympy(**kwargs), True))
2244+
sympy_cases.append((Integer0.to_sympy(**kwargs), True))
22442245

22452246
return sympy.Piecewise(*sympy_cases)
22462247

@@ -2274,7 +2275,7 @@ def apply(self, expr, evaluation):
22742275
if expr == SymbolTrue:
22752276
return Integer1
22762277
elif expr == SymbolFalse:
2277-
return Integer(0)
2278+
return Integer0
22782279
return None
22792280

22802281

mathics/builtin/comparison.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
Complex,
2121
Expression,
2222
Integer,
23+
Integer0,
2324
Integer1,
2425
Number,
2526
Symbol,
@@ -459,7 +460,7 @@ def do_cplx_equal(x, y) -> Optional[int]:
459460
else:
460461
return True
461462
else:
462-
c = do_cmp(x.imag, Integer(0))
463+
c = do_cmp(x.imag, Integer0)
463464
if c is None:
464465
return
465466
if c != 0:

mathics/builtin/exptrig.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
Expression,
1818
Real,
1919
Integer,
20+
Integer0,
2021
Symbol,
2122
)
2223

@@ -98,13 +99,13 @@ def parse(step):
9899
def apply(self, steps, evaluation):
99100
"AnglePath[{steps___}]"
100101
return AnglePath._compute(
101-
Integer(0), Integer(0), None, steps.get_sequence(), evaluation
102+
Integer0, Integer0, None, steps.get_sequence(), evaluation
102103
)
103104

104105
def apply_phi0(self, phi0, steps, evaluation):
105106
"AnglePath[phi0_, {steps___}]"
106107
return AnglePath._compute(
107-
Integer(0), Integer(0), phi0, steps.get_sequence(), evaluation
108+
Integer0, Integer0, phi0, steps.get_sequence(), evaluation
108109
)
109110

110111
def apply_xy(self, x, y, steps, evaluation):

mathics/builtin/image.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
Atom,
1111
Expression,
1212
Integer,
13+
Integer0,
14+
Integer1,
1315
Rational,
1416
Real,
1517
MachineReal,
@@ -1063,7 +1065,7 @@ def apply(self, r, evaluation):
10631065
"BoxMatrix[r_?RealNumberQ]"
10641066
py_r = abs(r.round_to_float())
10651067
s = int(math.floor(1 + 2 * py_r))
1066-
return _matrix([[Integer(1)] * s] * s)
1068+
return _matrix([[Integer1] * s] * s)
10671069

10681070

10691071
class DiskMatrix(_ImageBuiltin):
@@ -1082,7 +1084,7 @@ def apply(self, r, evaluation):
10821084
py_r = abs(r.round_to_float())
10831085
s = int(math.floor(0.5 + py_r))
10841086

1085-
m = (Integer(0), Integer(1))
1087+
m = (Integer0, Integer1)
10861088
r_sqr = (py_r + 0.5) * (py_r + 0.5)
10871089

10881090
def rows():
@@ -1108,8 +1110,8 @@ def apply(self, r, evaluation):
11081110
py_r = abs(r.round_to_float())
11091111
t = int(math.floor(0.5 + py_r))
11101112

1111-
zero = Integer(0)
1112-
one = Integer(1)
1113+
zero = Integer0
1114+
one = Integer1
11131115

11141116
def rows():
11151117
for d in range(0, t):

mathics/builtin/integer.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
from mathics.builtin.base import Builtin, SympyFunction
1414
from mathics.core.convert import from_sympy
15-
from mathics.core.expression import Integer, String, Expression
15+
from mathics.core.expression import Integer, Integer0, String, Expression
1616

1717

1818
class Floor(SympyFunction):
@@ -148,7 +148,7 @@ def apply(self, n, b, evaluation):
148148

149149
if n == 0:
150150
# special case
151-
return Integer(0)
151+
return Integer0
152152

153153
n = abs(n)
154154

@@ -344,7 +344,7 @@ class IntegerDigits(_IntBaseBuiltin):
344344
"IntegerDigits[n_Integer]": "IntegerDigits[n, 10]",
345345
}
346346

347-
_padding = [Integer(0)]
347+
_padding = [Integer0]
348348

349349
def apply_n_b(self, n, b, evaluation):
350350
"IntegerDigits[n_Integer, b_Integer]"
@@ -515,7 +515,7 @@ def _parse_string(s, b):
515515
code_a = ord("a")
516516
assert code_a > code_0
517517

518-
value = Integer(0)
518+
value = Integer0
519519
for char in s.lower():
520520
code = ord(char)
521521
if code >= code_a:
@@ -534,7 +534,7 @@ def _parse_string(s, b):
534534
def apply(self, l, b, evaluation):
535535
"FromDigits[l_, b_]"
536536
if l.get_head_name() == "System`List":
537-
value = Integer(0)
537+
value = Integer0
538538
for leaf in l.leaves:
539539
value = Expression("Plus", Expression("Times", value, b), leaf)
540540
return value

mathics/builtin/lists.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
SymbolAssociation,
4040
SymbolSequence,
4141
Integer,
42+
Integer0,
4243
Number,
4344
Real,
4445
strip_context,
@@ -369,7 +370,7 @@ def apply(self, expr, evaluation):
369370
"Length[expr_]"
370371

371372
if expr.is_atom():
372-
return Integer(0)
373+
return Integer0
373374
else:
374375
return Integer(len(expr.leaves))
375376

@@ -2466,7 +2467,7 @@ def apply_iter(self, expr, i, imin, imax, di, evaluation):
24662467
result = []
24672468
compare_type = (
24682469
"GreaterEqual"
2469-
if Expression("Less", di, Integer(0)).evaluate(evaluation).to_python()
2470+
if Expression("Less", di, Integer0).evaluate(evaluation).to_python()
24702471
else "LessEqual"
24712472
)
24722473
while True:
@@ -3212,7 +3213,7 @@ def item(i):
32123213
if i == k:
32133214
return Integer(1)
32143215
else:
3215-
return Integer(0)
3216+
return Integer0
32163217

32173218
return Expression(SymbolList, *(item(i) for i in range(1, n + 1)))
32183219

@@ -4845,8 +4846,8 @@ def apply_zero(self, l, n, evaluation):
48454846
return self._pad(
48464847
l,
48474848
n,
4848-
Integer(0),
4849-
Integer(0),
4849+
Integer0,
4850+
Integer0,
48504851
evaluation,
48514852
lambda: Expression(self.get_name(), l, n),
48524853
)
@@ -4857,7 +4858,7 @@ def apply(self, l, n, x, evaluation):
48574858
l,
48584859
n,
48594860
x,
4860-
Integer(0),
4861+
Integer0,
48614862
evaluation,
48624863
lambda: Expression(self.get_name(), l, n, x),
48634864
)

mathics/builtin/numbertheory.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from mathics.core.expression import (
1313
Expression,
1414
Integer,
15+
Integer0,
1516
Rational,
1617
Symbol,
1718
from_python,
@@ -132,7 +133,7 @@ class Divisors(Builtin):
132133

133134
def apply(self, n, evaluation):
134135
"Divisors[n_Integer]"
135-
if n == Integer(0):
136+
if n == Integer0:
136137
return None
137138
return Expression(
138139
"List", *[from_sympy(i) for i in sympy.divisors(n.to_sympy())]

mathics/builtin/numeric.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
Complex,
3838
Expression,
3939
Integer,
40+
Integer0,
4041
MachineReal,
4142
Number,
4243
Rational,
@@ -1143,13 +1144,13 @@ def approx_interval_continued_fraction(xmin, xmax):
11431144
def chop(expr, delta=10.0 ** (-10.0)):
11441145
if isinstance(expr, Real):
11451146
if -delta < expr.get_float_value() < delta:
1146-
return Integer(0)
1147+
return Integer0
11471148
elif isinstance(expr, Complex) and expr.is_inexact():
11481149
real, imag = expr.real, expr.imag
11491150
if -delta < real.get_float_value() < delta:
1150-
real = Integer(0)
1151+
real = Integer0
11511152
if -delta < imag.get_float_value() < delta:
1152-
imag = Integer(0)
1153+
imag = Integer0
11531154
return Complex(real, imag)
11541155
elif isinstance(expr, Expression):
11551156
return Expression(chop(expr.head), *[chop(leaf) for leaf in expr.leaves])

mathics/builtin/plot.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
Symbol,
1919
String,
2020
Integer,
21+
Integer0,
2122
from_python,
2223
SymbolList,
2324
SymbolN,
@@ -910,9 +911,9 @@ def _draw(self, data, color, evaluation, options):
910911
sector_spacing = self.get_option(options, "SectorSpacing", evaluation)
911912
if isinstance(sector_spacing, Symbol):
912913
if sector_spacing.get_name() == "System`Automatic":
913-
sector_spacing = Expression(SymbolList, Integer(0), Real(0.2))
914+
sector_spacing = Expression(SymbolList, Integer0, Real(0.2))
914915
elif sector_spacing.get_name() == "System`None":
915-
sector_spacing = Expression(SymbolList, Integer(0), Integer(0))
916+
sector_spacing = Expression(SymbolList, Integer0, Integer0)
916917
else:
917918
return
918919
if not sector_spacing.has_form("List", 2):

0 commit comments

Comments
 (0)