Class: Axiom::Optimizer::Algebra::Summarization::UnoptimizedOperand

Inherits:
Axiom::Optimizer::Algebra::Summarization show all
Includes:
Function::Unary::UnoptimizedOperand
Defined in:
lib/axiom/optimizer/algebra/summarization.rb

Overview

Optimize when operand is optimizable

Constant Summary

Constants inherited from Axiom::Optimizer

Identity, VERSION

Instance Attribute Summary

Attributes inherited from Axiom::Optimizer::Algebra::Summarization

#summarize_per, #summarizers

Attributes inherited from Relation::Operation::Unary

#header

Attributes included from Function::Unary

#operand

Attributes inherited from Axiom::Optimizer

#operation

Instance Method Summary collapse

Methods inherited from Axiom::Optimizer::Algebra::Summarization

#initialize

Methods inherited from Relation::Operation::Unary

#initialize

Methods included from Function::Unary

#initialize

Methods inherited from Axiom::Optimizer

chain, #initialize

Constructor Details

This class inherits a constructor from Axiom::Optimizer::Algebra::Summarization

Instance Method Details

#optimizable?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Test if the operand is unoptimized



152
153
154
155
156
# File 'lib/axiom/optimizer/algebra/summarization.rb', line 152

def optimizable?
  super                      ||
  summarize_per_optimizable? ||
  summarizers_optimizable?
end

#optimizeRename

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Return a Summarization with an optimized operand



163
164
165
# File 'lib/axiom/optimizer/algebra/summarization.rb', line 163

def optimize
  wrap_operand(operand)
end