Sha256: 9bedf66dd9aff0a9aebba98378c805af67b8c0b3c9dccc68d4c5675b1ddbd3ab
Contents?: true
Size: 1.09 KB
Versions: 2
Compression:
Stored size: 1.09 KB
Contents
module Veritas class Optimizer module Logic class Predicate # Abstract base class representing Inequality optimizations class Inequality < self include Comparable # Optimize when the operand are always false class AlwaysFalse < self include Predicate::AlwaysFalse # Test if the operands are always false # # @return [Boolean] # # @api private def optimizable? left.equal?(right) end end # class AlwaysFalse # Optimize when the operand are always true class AlwaysTrue < self include Comparable::NeverEquivalent include Predicate::AlwaysTrue end # class AlwaysTrue Veritas::Logic::Predicate::Inequality.optimizer = chain( ConstantOperands, AlwaysFalse, AlwaysTrue, NormalizableOperands ) end # class Inequality end # class Predicate end # module Logic end # class Optimizer end # module Veritas
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
veritas-0.0.2 | lib/veritas/optimizer/logic/predicate/inequality.rb |
veritas-0.0.1 | lib/veritas/optimizer/logic/predicate/inequality.rb |