Class: Veritas::Optimizer::Function::Predicate::Comparable::NormalizableOperands
- Inherits:
-
Veritas::Optimizer::Function::Predicate
- Object
- Veritas::Optimizer
- Veritas::Optimizer::Function::Predicate
- Veritas::Optimizer::Function::Predicate::Comparable::NormalizableOperands
- Defined in:
- lib/veritas/optimizer/function/predicate/comparable.rb
Overview
Optimize when the operands can be normalized
Constant Summary
Constants inherited from Veritas::Optimizer
Instance Attribute Summary
Attributes included from Binary
Attributes inherited from Veritas::Optimizer
Instance Method Summary collapse
-
#optimizable? ⇒ Boolean
private
Test if the operands can be normalized.
-
#optimize ⇒ Predicate
private
Normalize the predicate by reversing the operands.
Methods included from Binary
Methods inherited from Veritas::Optimizer
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 operands can be normalized
19 20 21 22 |
# File 'lib/veritas/optimizer/function/predicate/comparable.rb', line 19 def optimizable? util = Util util.constant?(left) && util.attribute?(right) end |
#optimize ⇒ Predicate
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.
Normalize the predicate by reversing the operands
29 30 31 |
# File 'lib/veritas/optimizer/function/predicate/comparable.rb', line 29 def optimize operation.class.reverse.new(right, left) end |