Skip to content

Commit 850a45d

Browse files
committed
lambda-> proc, changing specs, adding backports
1 parent b45d182 commit 850a45d

File tree

3 files changed

+22
-21
lines changed

3 files changed

+22
-21
lines changed

lib/symengine.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ def lambdify_code(exp, syms)
5757
sym_map = syms.join(",")
5858
str.gsub!(/[\d\.]+/, 'Rational(\0,1)')
5959
str = REPLACEMENTS.inject(str) { |res, (from, to)| res.gsub(from, to)}
60-
"lambda { | #{sym_map} | #{str} }"
60+
"proc { | #{sym_map} | #{str} }"
6161
end
6262
end
6363
end

spec/lambdify_spec.rb

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,26 @@ def l(code)
99
end
1010

1111
it 'creates lambda codes' do
12-
expect(SymEngine::Utils::lambdify_code( x + y + z, [x, y, z])).to eq("lambda { | x,y,z | x + y + z }")
13-
expect(l( x + 5 )).to eq("lambda { | x | Rational(5,1) + x }")
14-
expect(l( SymEngine::sin(x) )).to eq("lambda { | x | Math.sin(x) }")
15-
expect(l( SymEngine::cos(x) )).to eq("lambda { | x | Math.cos(x) }")
16-
expect(l( SymEngine::tan(x) )).to eq("lambda { | x | Math.tan(x) }")
17-
expect(l( SymEngine::asin(x) )).to eq("lambda { | x | Math.asin(x) }")
18-
expect(l( SymEngine::acos(x) )).to eq("lambda { | x | Math.acos(x) }")
19-
expect(l( SymEngine::atan(x) )).to eq("lambda { | x | Math.atan(x) }")
20-
expect(l( SymEngine::sinh(x) )).to eq("lambda { | x | Math.sinh(x) }")
21-
expect(l( SymEngine::cosh(x) )).to eq("lambda { | x | Math.cosh(x) }")
22-
expect(l( SymEngine::tanh(x) )).to eq("lambda { | x | Math.tanh(x) }")
23-
expect(l( SymEngine::asinh(x) )).to eq("lambda { | x | Math.asinh(x) }")
24-
expect(l( SymEngine::acosh(x) )).to eq("lambda { | x | Math.acosh(x) }")
25-
expect(l( SymEngine::atanh(x) )).to eq("lambda { | x | Math.atanh(x) }")
26-
expect(l( SymEngine::gamma(x) )).to eq("lambda { | x | Math.gamma(x) }")
27-
expect(l( x + SymEngine::PI )).to eq("lambda { | x | x + Math::PI }")
28-
expect(l( x + SymEngine::E )).to eq("lambda { | x | x + Math::E }")
29-
expect(l( x * SymEngine::I )).to eq("lambda { | x | ::Complex::I*x }")
30-
expect(l( SymEngine::dirichlet_eta(x) )).to eq("lambda { | x | SymEngine::Utils::evalf_dirichlet_eta(x) }")
31-
expect(l( SymEngine::zeta(x) )).to eq("lambda { | x | SymEngine::Utils::evalf_zeta(x, Rational(1,1)) }")
12+
expect(SymEngine::Utils::lambdify_code( x + y + z, [x, y, z])).to eq("proc { | x,y,z | x + y + z }")
13+
expect(l( x + 5 )).to eq("proc { | x | Rational(5,1) + x }")
14+
expect(l( SymEngine::sin(x) )).to eq("proc { | x | Math.sin(x) }")
15+
expect(l( SymEngine::cos(x) )).to eq("proc { | x | Math.cos(x) }")
16+
expect(l( SymEngine::tan(x) )).to eq("proc { | x | Math.tan(x) }")
17+
expect(l( SymEngine::asin(x) )).to eq("proc { | x | Math.asin(x) }")
18+
expect(l( SymEngine::acos(x) )).to eq("proc { | x | Math.acos(x) }")
19+
expect(l( SymEngine::atan(x) )).to eq("proc { | x | Math.atan(x) }")
20+
expect(l( SymEngine::sinh(x) )).to eq("proc { | x | Math.sinh(x) }")
21+
expect(l( SymEngine::cosh(x) )).to eq("proc { | x | Math.cosh(x) }")
22+
expect(l( SymEngine::tanh(x) )).to eq("proc { | x | Math.tanh(x) }")
23+
expect(l( SymEngine::asinh(x) )).to eq("proc { | x | Math.asinh(x) }")
24+
expect(l( SymEngine::acosh(x) )).to eq("proc { | x | Math.acosh(x) }")
25+
expect(l( SymEngine::atanh(x) )).to eq("proc { | x | Math.atanh(x) }")
26+
expect(l( SymEngine::gamma(x) )).to eq("proc { | x | Math.gamma(x) }")
27+
expect(l( x + SymEngine::PI )).to eq("proc { | x | x + Math::PI }")
28+
expect(l( x + SymEngine::E )).to eq("proc { | x | x + Math::E }")
29+
expect(l( x * SymEngine::I )).to eq("proc { | x | ::Complex::I*x }")
30+
expect(l( SymEngine::dirichlet_eta(x) )).to eq("proc { | x | SymEngine::Utils::evalf_dirichlet_eta(x) }")
31+
expect(l( SymEngine::zeta(x) )).to eq("proc { | x | SymEngine::Utils::evalf_zeta(x, Rational(1,1)) }")
3232

3333

3434
end

symengine.gemspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,5 @@ Gem::Specification.new do |gem|
1616
gem.add_development_dependency 'rspec', '~> 3.0'
1717
gem.add_development_dependency 'rspec-its'
1818
gem.add_development_dependency 'rdoc', '~> 4.0'
19+
gem.add_development_dependency 'backports'
1920
end

0 commit comments

Comments
 (0)