module Axiom::Optimizer::Function::Binary::UnoptimizedOperands
Optimize when the operand is unoptimized
Public Instance Methods
optimizable?()
click to toggle source
Test if the operands are unoptimized
@return [Boolean]
@api private
# File lib/axiom/optimizer/function/binary.rb, line 87 def optimizable? left_optimizable? || right_optimizable? end
optimize()
click to toggle source
Return a Binary
connective with optimized operands
@return [Binary]
@api private
# File lib/axiom/optimizer/function/binary.rb, line 96 def optimize operation.class.new(left, right) end
Private Instance Methods
left_optimizable?()
click to toggle source
Test if the left operand is optimizable
@return [Boolean]
@api private
# File lib/axiom/optimizer/function/binary.rb, line 107 def left_optimizable? !left.equal?(operation.left) end
right_optimizable?()
click to toggle source
Test if the right operand is optimizable
@return [Boolean]
@api private
# File lib/axiom/optimizer/function/binary.rb, line 116 def right_optimizable? !right.equal?(operation.right) end