module Axiom::Optimizer::Function::Binary

Mixin for optimizations to Binary functions

Attributes

left[R]

The optimized left operand

@return [Object]

@api private

right[R]

The optimized right operand

@return [Object]

@api private

Public Class Methods

new(*) click to toggle source

Initialize an Predicate optimizer

@return [undefined]

@api private

Calls superclass method
# File lib/axiom/optimizer/function/binary.rb, line 29
def initialize(*)
  super
  @left  = optimize_left
  @right = optimize_right
end

Private Instance Methods

optimize_left() click to toggle source

Optimize the left operand

@return [Object]

@api private

# File lib/axiom/optimizer/function/binary.rb, line 42
def optimize_left
  Function.optimize_operand(operation.left)
end
optimize_right() click to toggle source

Optimize the right operand

@return [Object]

@api private

# File lib/axiom/optimizer/function/binary.rb, line 51
def optimize_right
  Function.optimize_operand(operation.right)
end