module Symbolic
Public Instance Methods
%(var)
click to toggle source
# File lib/symbolic_ext/symbolic.rb, line 6 def %(var) return 0 if self.object_id == var.object_id return self % var if self.is_a?(Numeric) && var.is_a?(Numeric) new_ast :%, var end
-@(var)
click to toggle source
# File lib/symbolic_ext/symbolic.rb, line 12 def -@(var) return -var unless var.is_a?(Node) return -var.type if var.type.is_a?(Numeric) reversed = var.type.reverse reversed ? new_ast(reversed, *var.children.dup) : new_ast(:-@, [var]) end
not(var)
click to toggle source
# File lib/symbolic_ext/symbolic.rb, line 19 def not(var) return nil if var.is_a?(Symbolic::Variable) return !var unless var.is_a?(Node) inverted = var.type.inverse inverted ? new_ast(inverted, *var.children.dup) : new_ast(:!, [var]) end