use AbsoluteValue use Addition use BitwiseAnd use BitwiseOr use BitwiseXor use Boolean use Division use Equality use Exponentiation use GreaterOrEqual use Greater use LessOrEqual use Less use Modulus use Multiplication use Negation use ShiftLeft use ShiftRight use Subtraction ```doc # Integer This protocol defines all the protocols and functions required for a value to masquerade as an integer. For the concrete implementation see `Outrun.Core.Integer`. ``` protocol Integer, requires: AbsoluteValue + Addition + BitwiseAnd + BitwiseOr + BitwiseXor + Division + Equality + Exponentiation + GreaterOrEqual + Greater + LessOrEqual + Less + Modulus + Multiplication + Negation + ShiftLeft + ShiftRight + Subtraction, as: do ```doc Returns whether the value of `self` is greater than zero. ``` def positive?(self: Self): Boolean ```doc Returns whether the value of `self` is zero. ``` def zero?(self: Self): Boolean ```doc Returns whether the value of `self` is less than zero. ``` def negative?(self: Self): Boolean end