replace expressions with polynomials, add interpreter command class, rewrite parser
This commit is contained in:
@@ -171,7 +171,9 @@ module RubyAlgebra
|
||||
end
|
||||
|
||||
def *(other)
|
||||
return Term.new if @coeff.zero? || other.coeff.zero?
|
||||
return Term.new if zero? || other.zero?
|
||||
|
||||
return Term.new(coeff * other, variables) unless other.is_a? Term
|
||||
|
||||
new_variables = @variables.clone
|
||||
other.variables.each do |symbol, power|
|
||||
@@ -205,11 +207,19 @@ module RubyAlgebra
|
||||
unless @variables.empty?
|
||||
first = true
|
||||
@variables.each do |var, power|
|
||||
result += if first
|
||||
"#{var}^#{power}"
|
||||
else
|
||||
" * #{var}^#{power}"
|
||||
end
|
||||
if first
|
||||
unless power == 1
|
||||
result += "#{var}^#{power}"
|
||||
else
|
||||
result += "#{var}"
|
||||
end
|
||||
else
|
||||
unless power == 1
|
||||
result += " * #{var}^#{power}"
|
||||
else
|
||||
result += " * #{var}"
|
||||
end
|
||||
end
|
||||
first = false
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user