Skip to content

Commit 4921160

Browse files
authored
Updated test_gruntz.py (#2656)
1 parent 5f7ef49 commit 4921160

File tree

1 file changed

+23
-9
lines changed

1 file changed

+23
-9
lines changed

integration_tests/test_gruntz.py

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from lpython import S
2-
from sympy import Symbol, log, E, Pow
2+
from sympy import Symbol, log, E, Pow, exp
33

44
def mmrv(e: S, x: S) -> list[S]:
55
empty_list : list[S] = []
@@ -13,22 +13,29 @@ def mmrv(e: S, x: S) -> list[S]:
1313
list2: list[S] = mmrv(arg0, x)
1414
return list2
1515
elif e.func == Pow:
16-
if e.args[0] != E:
17-
e1: S = S(1)
16+
base: S = e.args[0]
17+
exponent: S = e.args[1]
18+
one: S = S(1)
19+
if base != E:
20+
newe_exponent: S = S(1)
1821
newe: S = e
1922
while newe.func == Pow:
20-
b1: S = newe.args[0]
21-
e1 = e1 * newe.args[1]
22-
newe = b1
23-
if b1 == S(1):
23+
newe_base: S = newe.args[0]
24+
newe_args1: S = newe.args[1]
25+
newe_exponent = newe_exponent * newe_args1
26+
newe = newe_base
27+
if newe_base == one:
2428
return empty_list
25-
if not e1.has(x):
26-
list3: list[S] = mmrv(b1, x)
29+
if not newe_exponent.has(x):
30+
list3: list[S] = mmrv(newe_base, x)
2731
return list3
2832
else:
2933
# TODO as noted in #2526
3034
pass
3135
else:
36+
if exponent.func == log:
37+
list4: list[S] = mmrv(exponent.args[0], x)
38+
return list4
3239
# TODO
3340
pass
3441
else:
@@ -63,4 +70,11 @@ def test_mrv():
6370
assert ele3 == x
6471
assert len(ans4) == 1
6572

73+
# Case 5
74+
ans5: list[S] = mmrv(exp(log(x)), x)
75+
ele4: S = ans5[0]
76+
print(ele4)
77+
assert ele4 == x
78+
assert len(ans5) == 1
79+
6680
test_mrv()

0 commit comments

Comments
 (0)