Skip to content

Commit f355167

Browse files
committed
edit
1 parent 3ab988a commit f355167

File tree

2 files changed

+20
-17
lines changed

2 files changed

+20
-17
lines changed

ext/SymPyPythonCallSymbolicsExt.jl

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,6 @@ function pyconvert_rule_sympy_add(::Type{Symbolics.Num}, x)
4646
return PythonCall.pyconvert_return(sum)
4747
end
4848

49-
function pyconvert_rule_sympy_equality(::Type{Symbolics.Equation}, x)
50-
if !pyisinstance(x,sp.Equality)
51-
return PythonCall.pyconvert_unconverted()
52-
end
53-
rhs = pyconvert(Symbolics.Num,x.rhs)
54-
lhs = pyconvert(Symbolics.Num,x.lhs)
55-
return PythonCall.pyconvert_return(rhs ~ lhs)
56-
end
5749
function pyconvert_rule_sympy_derivative(::Type{Symbolics.Num}, x)
5850
if !pyisinstance(x,sp.Derivative)
5951
return PythonCall.pyconvert_unconverted()
@@ -76,26 +68,37 @@ function pyconvert_rule_sympy_function(::Type{Symbolics.Num}, x)
7668
return PythonCall.pyconvert_return(first(func)(args...))
7769
end
7870

71+
function pyconvert_rule_sympy_equality(::Type{Symbolics.Equation}, x)
72+
if !pyisinstance(x,sp.Equality)
73+
return PythonCall.pyconvert_unconverted()
74+
end
75+
rhs = pyconvert(Symbolics.Num,x.rhs)
76+
lhs = pyconvert(Symbolics.Num,x.lhs)
77+
return PythonCall.pyconvert_return(rhs ~ lhs)
78+
end
79+
7980

8081
function __init__()
8182
# added rules
82-
add_pyconvert_rule(f, cls) = PythonCall.pyconvert_add_rule(cls, Symbolics.Num, f)
83-
83+
# T = Symbolics.Num
8484
PythonCall.pyconvert_add_rule("sympy.core.symbol:Symbol", Symbolics.Num, pyconvert_rule_sympy_symbol)
8585

86-
PythonCall.pyconvert_add_rule("sympy.core.power:Pow", Symbolics.Num, pyconvert_rule_sympy_pow)
86+
PythonCall.pyconvert_add_rule("sympy.core.power:Pow", Symbolics.Num, pyconvert_rule_sympy_pow)
8787

88-
PythonCall.pyconvert_add_rule("sympy.core.mul:Mul", Symbolics.Num, pyconvert_rule_sympy_mul)
88+
PythonCall.pyconvert_add_rule("sympy.core.mul:Mul", Symbolics.Num, pyconvert_rule_sympy_mul)
8989

90-
PythonCall.pyconvert_add_rule("sympy.core.add:Add", Symbolics.Num, pyconvert_rule_sympy_add)
90+
PythonCall.pyconvert_add_rule("sympy.core.add:Add", Symbolics.Num, pyconvert_rule_sympy_add)
9191

92-
PythonCall.pyconvert_add_rule("sympy.core.relational:Equality", Symbolics.Equation, pyconvert_rule_sympy_equality)
92+
PythonCall.pyconvert_add_rule("sympy.core.function:Derivative", Symbolics.Num, pyconvert_rule_sympy_derivative)
9393

94-
PythonCall.pyconvert_add_rule("sympy.core.function:Derivative",Symbolics.Num, pyconvert_rule_sympy_derivative)
94+
PythonCall.pyconvert_add_rule("sympy.core.function:Function", Symbolics.Num, pyconvert_rule_sympy_function)
9595

96-
PythonCall.pyconvert_add_rule("sympy.core.function:Function",Symbolics.Num, pyconvert_rule_sympy_function)
96+
# T = Symbolics.Equation
97+
PythonCall.pyconvert_add_rule("sympy.core.relational:Equality", Symbolics.Equation, pyconvert_rule_sympy_equality)
9798

9899
# core numbers
100+
add_pyconvert_rule(f, cls) = PythonCall.pyconvert_add_rule(cls, Symbolics.Num, f)
101+
99102
add_pyconvert_rule("sympy.core.numbers:Pi") do T::Type{Symbolics.Num}, x
100103
PythonCall.pyconvert_return(Symbolics.Num(pi))
101104
end

test/symbolics-integration.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
using SymPyPythonCall
2-
using Symbolics
2+
import Symbolics
33

44
@test isa(SymPyPythonCall.PythonCall.pyconvert(Symbolics.Num, sympy.sympify("x")), Symbolics.Num)

0 commit comments

Comments
 (0)