# numbers v5.2.5 - Table of Contents

> Numbers dispatches on any numeric type that follows the `Numeric` behaviour.
This allows you to create composite types working with _any_ numeric type (Decimal, Ratio, Tensor, ComplexNum, ???)!

## Modules

- [Numbers](Numbers.md): Allows you to use arithmetical operations on _any_ type
that implements the proper protocols.
- [Numbers.Helper](Numbers.Helper.md): Helper functions that might make the implementation
of Numbers for your own numberlike types easier.

- [Numbers.Protocols](Numbers.Protocols.md): A set of protocols that can be implemented for your data structure, to add `Numbers`-support to it. 
- [Numbers.Protocols.Absolute](Numbers.Protocols.Absolute.md): For supporting `Numbers.abs/1`.

- [Numbers.Protocols.Addition](Numbers.Protocols.Addition.md): For supporting `Numbers.add/2`.

- [Numbers.Protocols.Division](Numbers.Protocols.Division.md): For supporting `Numbers.div/2`.

- [Numbers.Protocols.Exponentiation](Numbers.Protocols.Exponentiation.md): For supporting `Numbers.pow/2`.

- [Numbers.Protocols.Minus](Numbers.Protocols.Minus.md): For supporting `Numbers.minus/1`.

- [Numbers.Protocols.Multiplication](Numbers.Protocols.Multiplication.md): For supporting `Numbers.mult/2`.

- [Numbers.Protocols.Subtraction](Numbers.Protocols.Subtraction.md): For supporting `Numbers.sub/2`.

- [Numbers.Protocols.ToFloat](Numbers.Protocols.ToFloat.md): For supporting `Numbers.to_float/1`.

