outrun/outrun-core/lib/float.outrun

31 lines
781 B
Text

use AbsoluteValue
use Addition
use Boolean
use Division
use Equality
use Greater
use GreaterOrEqual
use Less
use LessOrEqual
use Multiplication
use Negation
```doc
# Float
This protocol defines all the protocols and functions required for a value to masquerade as a floating point number.
```
protocol Float,
requires:
AbsoluteValue + Addition + Division + Equality + Greater + GreaterOrEqual +
Less + LessOrEqual + Multiplication + Negation,
as: do
def nan?(self: Self): Boolean
def infinite?(self: Self): Boolean
def finite?(self: Self): Boolean
def subnormal?(self: Self): Boolean
def normal?(self: Self): Boolean
def sign_positive?(self: Self): Boolean
def sign_negative?(self: Self): Boolean
def inverse(self: Self): Option
end