Sha256: acce5b10aec8b37bbbe9c766e6fc7facba3e2eda416f648f5bb4df6cadc24d01
Contents?: true
Size: 1.54 KB
Versions: 1
Compression:
Stored size: 1.54 KB
Contents
# encoding: utf-8 module Axiom class Optimizer module Function # Abstract base class representing Predicate optimizations class Predicate < Optimizer include AbstractType, Binary # Optimize when the operands are constants class ConstantOperands < self include Binary::ConstantOperands # A Predicate with constant values is equivalent to a Proposition # # @return [Proposition] # # @api private def optimize Axiom::Function::Proposition.coerce(super) end end # class ConstantOperands # Optimize when the operands are unoptimized class UnoptimizedOperands < self include Binary::UnoptimizedOperands end # class UnoptimizedOperands # Optimize when the operands are a contradiction module Contradiction # Return a contradiction # # @return [Contradiction] # # @api private def optimize Axiom::Function::Proposition::Contradiction.instance end end # module Contradiction # Optimize when the operands are a tautology module Tautology # Return a tautology # # @return [Tautology] # # @api private def optimize Axiom::Function::Proposition::Tautology.instance end end # module Tautology end # class Predicate end # module Function end # class Optimizer end # module Axiom
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
axiom-optimizer-0.2.0 | lib/axiom/optimizer/function/predicate.rb |