lib/dydx/algebra/operator/parts/general.rb in dydx-0.1.29 vs lib/dydx/algebra/operator/parts/general.rb in dydx-0.1.31
- old
+ new
@@ -33,9 +33,11 @@
elsif combinable?(x.g, operator)
send(operator, x.g).send(operator, x.f)
else
super(x)
end
+ elsif [:+, :*].include?(operator) && x.formula?(operator.super) && self == x.f
+ send(operator.super, (1 + x.g))
elsif x.is_a?(Inverse) && x.operator == operator && x.x.formula?(operator)
if combinable?(x.x.f, operator)
send(operator, inverse(x.x.f, operator)).send(operator, inverse(x.x.g, operator))
elsif combinable?(x.x.g, operator)
send(operator, inverse(x.x.g, operator)).send(operator, inverse(x.x.f, operator))