Skip to content

Commit 9e87548

Browse files
committed
Sorting symbols for lambda in alphabetical order
1 parent 9872b75 commit 9e87548

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

lib/symengine.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ def evalf_zeta(exp)
4040
SymEngine::evalf(SymEngine::zeta(exp))
4141
end
4242
def lambdify_code(exp)
43-
sym_map = exp.free_symbols.map { |sym| sym.to_s}.join(",")
43+
sym_map = exp.free_symbols.map { |sym| sym.to_s}.sort.join(",")
4444
str = exp.to_s
4545
str.gsub!(/[\d\.]+/, 'Rational(\0,1)')
4646
replacements = { sin:"Math.sin", cos: "Math.cos", tan: "Math.tan",

spec/lambdify_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
let(:z) { SymEngine::Symbol.new('z') }
66

77
it 'creates lambda codes' do
8-
expect(SymEngine::lambdify_code( x + y + z )).to eq("lambda { | x,z,y | x + y + z }")
8+
expect(SymEngine::lambdify_code( x + y + z )).to eq("lambda { | x,y,z | x + y + z }")
99
expect(SymEngine::lambdify_code( x + 5 )).to eq("lambda { | x | Rational(5,1) + x }")
1010
expect(SymEngine::lambdify_code( SymEngine::sin(x) )).to eq("lambda { | x | Math.sin(x) }")
1111
expect(SymEngine::lambdify_code( SymEngine::cos(x) )).to eq("lambda { | x | Math.cos(x) }")

0 commit comments

Comments
 (0)