outrun/outrun-core/lib/integer.run

29 lines
813 B
Text
Raw Normal View History

2022-08-04 17:38:00 +12:00
```doc
# Integer
2022-08-09 12:39:52 +12:00
This protocol defines all the protocols and functions required for a value to masquerade as an integer.
2022-08-04 17:38:00 +12:00
For the concrete implementation see `Outrun.Core.Integer`.
```
protocol Integer,
requires:
2022-08-09 12:39:52 +12:00
AbsoluteValue + Addition + BitwiseAnd + BitwiseOr + BitwiseXor + Division +
Equality + Exponentiation + GreaterOrEqual + Greater + LessOrEqual + Less +
Modulus + Multiplication + Negation + ShiftLeft + ShiftRight + Subtraction,
as: do
2022-08-04 17:38:00 +12:00
```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