Sha256: 4b28d41ad3e9f5d25c965e5683410ffe794246867df07fc83213d4ca8d2f21f6

Contents?: true

Size: 1008 Bytes

Versions: 3

Compression:

Stored size: 1008 Bytes

Contents

# encoding: utf-8

module Axiom
  class Optimizer
    module Function

      # Abstract base class representing Numeric optimizations
      class Numeric < Optimizer
        include AbstractType

        # Optimize when the operand is constant
        class ConstantOperand < self
          include Unary::ConstantOperand, Unary
        end # class ConstantOperand

        # Optimize when the operands are constants
        class ConstantOperands < self
          include Binary::ConstantOperands, Binary
        end # class ConstantOperands

        # Optimize when the operand is unoptimized
        class UnoptimizedOperand < self
          include Unary::UnoptimizedOperand, Unary
        end # class UnoptimizedOperand

        # Optimize when the operand is unoptimized
        class UnoptimizedOperands < self
          include Binary::UnoptimizedOperands, Binary
        end # class UnoptimizedOperands

      end # class Numeric
    end # module Function
  end # class Optimizer
end # module Axiom

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
axiom-optimizer-0.2.0 lib/axiom/optimizer/function/numeric.rb
axiom-optimizer-0.1.1 lib/axiom/optimizer/function/numeric.rb
axiom-optimizer-0.1.0 lib/axiom/optimizer/function/numeric.rb