<link rel="stylesheet" href="../../../../css/reference.css">

### inc

<table>
    <thead>
        <tr>
            <th>Overload</th>
            <th>Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td> <code>inc(n: @Int) -> ()</code> </td>
            <td rowspan="6">
                Increment <code>n</code> by one
            </td>
        </tr>
    </tbody>
</table>

### dec

<table>
    <thead>
        <tr>
            <th>Overload</th>
            <th>Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td> <code>dec(n: @Int) -> ()</code> </td>
            <td rowspan="6">
                Decrement <code>n</code> by one
            </td>
        </tr>
    </tbody>
</table>

### sin

<table>
    <thead>
        <tr>
            <th>Overload</th>
            <th>Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td> <code>sin(n: Int) -> Float</code> </td>
            <td rowspan="6">
                Calculates the sine of <code>n</code>
            </td>
        </tr>
        <tr>
            <td> <code>sin(n: &Int) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>sin(n: @Int) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>sin(n: Float) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>sin(n: &Float) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>sin(n: @Float) -> Float</code> </td>
        </tr>
    </tbody>
</table>

### cos

<table>
    <thead>
        <tr>
            <th>Overload</th>
            <th>Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td> <code>cos(n: Int) -> Float</code> </td>
            <td rowspan="6">
                Calculates the cosine of <code>n</code>
            </td>
        </tr>
        <tr>
            <td> <code>cos(n: &Int) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>cos(n: @Int) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>cos(n: Float) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>cos(n: &Float) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>cos(n: @Float) -> Float</code> </td>
        </tr>
    </tbody>
</table>

### tan

<table>
    <thead>
        <tr>
            <th>Overload</th>
            <th>Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td> <code>tan(n: Int) -> Float</code> </td>
            <td rowspan="6">
                Calculates the tangent of <code>n</code>
            </td>
        </tr>
        <tr>
            <td> <code>tan(n: &Int) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>tan(n: @Int) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>tan(n: Float) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>tan(n: &Float) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>tan(n: @Float) -> Float</code> </td>
        </tr>
    </tbody>
</table>

### sinh

<table>
    <thead>
        <tr>
            <th>Overload</th>
            <th>Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td> <code>sinh(n: Int) -> Float</code> </td>
            <td rowspan="6">
                Calculates the hyperbolic sine of <code>n</code>
            </td>
        </tr>
        <tr>
            <td> <code>sinh(n: &Int) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>sinh(n: @Int) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>sinh(n: Float) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>sinh(n: &Float) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>sinh(n: @Float) -> Float</code> </td>
        </tr>
    </tbody>
</table>

### cosh

<table>
    <thead>
        <tr>
            <th>Overload</th>
            <th>Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td> <code>cosh(n: Int) -> Float</code> </td>
            <td rowspan="6">
                Calculates the hyperbolic cosine of <code>n</code>
            </td>
        </tr>
        <tr>
            <td> <code>cosh(n: &Int) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>cosh(n: @Int) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>cosh(n: Float) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>cosh(n: &Float) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>cosh(n: @Float) -> Float</code> </td>
        </tr>
    </tbody>
</table>

### tanh

<table>
    <thead>
        <tr>
            <th>Overload</th>
            <th>Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td> <code>tanh(n: Int) -> Float</code> </td>
            <td rowspan="6">
                Calculates the hyperbolic tangent of <code>n</code>
            </td>
        </tr>
        <tr>
            <td> <code>tanh(n: &Int) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>tanh(n: @Int) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>tanh(n: Float) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>tanh(n: &Float) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>tanh(n: @Float) -> Float</code> </td>
        </tr>
    </tbody>
</table>

### ln

<table>
    <thead>
        <tr>
            <th>Overload</th>
            <th>Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td> <code>ln(n: Int) -> Float</code> </td>
            <td rowspan="6">
                Calculates the natural logarithm of <code>n</code>
            </td>
        </tr>
        <tr>
            <td> <code>ln(n: &Int) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>ln(n: @Int) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>ln(n: Float) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>ln(n: &Float) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>ln(n: @Float) -> Float</code> </td>
        </tr>
    </tbody>
</table>

### log2

<table>
    <thead>
        <tr>
            <th>Overload</th>
            <th>Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td> <code>log2(n: Int) -> Float</code> </td>
            <td rowspan="6">
                Calculates the base 2 logarithm of <code>n</code>
            </td>
        </tr>
        <tr>
            <td> <code>log2(n: &Int) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>log2(n: @Int) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>log2(n: Float) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>log2(n: &Float) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>log2(n: @Float) -> Float</code> </td>
        </tr>
    </tbody>
</table>

### log10

<table>
    <thead>
        <tr>
            <th>Overload</th>
            <th>Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td> <code>log10(n: Int) -> Float</code> </td>
            <td rowspan="6">
                Calculates the base 10 logarithm of <code>n</code>
            </td>
        </tr>
        <tr>
            <td> <code>log10(n: &Int) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>log10(n: @Int) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>log10(n: Float) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>log10(n: &Float) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>log10(n: @Float) -> Float</code> </td>
        </tr>
    </tbody>
</table>

### exp

<table>
    <thead>
        <tr>
            <th>Overload</th>
            <th>Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td> <code>exp(n: Int) -> Float</code> </td>
            <td rowspan="6">
                Calculates the exponential function of <code>n</code>
            </td>
        </tr>
        <tr>
            <td> <code>exp(n: &Int) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>exp(n: @Int) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>exp(n: Float) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>exp(n: &Float) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>exp(n: @Float) -> Float</code> </td>
        </tr>
    </tbody>
</table>

### sqrt

<table>
    <thead>
        <tr>
            <th>Overload</th>
            <th>Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td> <code>sqrt(n: Int) -> Float</code> </td>
            <td rowspan="6">
                Calculates the square root of <code>n</code>
            </td>
        </tr>
        <tr>
            <td> <code>sqrt(n: &Int) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>sqrt(n: @Int) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>sqrt(n: Float) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>sqrt(n: &Float) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>sqrt(n: @Float) -> Float</code> </td>
        </tr>
    </tbody>
</table>

### floor

<table>
    <thead>
        <tr>
            <th>Overload</th>
            <th>Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td> <code>floor(n: Float) -> Int</code> </td>
            <td rowspan="3">
                Calculates <code>n</code> rounded down to the nearest integer
            </td>
        </tr>
        <tr>
            <td> <code>floor(n: &Float) -> Int</code> </td>
        </tr>
        <tr>
            <td> <code>floor(n: @Float) -> Int</code> </td>
        </tr>
    </tbody>
</table>

### ceil

<table>
    <thead>
        <tr>
            <th>Overload</th>
            <th>Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td> <code>ceil(n: Float) -> Int</code> </td>
            <td rowspan="3">
                Calculates <code>n</code> rounded up to the nearest integer
            </td>
        </tr>
        <tr>
            <td> <code>ceil(n: &Float) -> Int</code> </td>
        </tr>
        <tr>
            <td> <code>ceil(n: @Float) -> Int</code> </td>
        </tr>
    </tbody>
</table>

### fract

<table>
    <thead>
        <tr>
            <th>Overload</th>
            <th>Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td> <code>fract(n: Float) -> Float</code> </td>
            <td rowspan="3">
                Calculates <code>n</code> rounded up to the nearest integer
            </td>
        </tr>
        <tr>
            <td> <code>fract(n: &Float) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>fract(n: @Float) -> Float</code> </td>
        </tr>
    </tbody>
</table>

### abs

<table>
    <thead>
        <tr>
            <th>Overload</th>
            <th>Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td> <code>abs(n: Int) -> Float</code> </td>
            <td rowspan="6">
                Calculates the absolute value of <code>n</code>
            </td>
        </tr>
        <tr>
            <td> <code>abs(n: &Int) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>abs(n: @Int) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>abs(n: Float) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>abs(n: &Float) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>abs(n: @Float) -> Float</code> </td>
        </tr>
    </tbody>
</table>

### rand

<table>
    <thead>
        <tr>
            <th>Overload</th>
            <th>Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td> <code>rand() -> Float</code> </td>
            <td rowspan="1">
                Generates a random number in the range [0, 1]
            </td>
        </tr>
    </tbody>
</table>

### rand_int

<table>
    <thead>
        <tr>
            <th>Overload</th>
            <th>Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td> 
                <blockquote>
                    <p>All reference combinations are defined</p>
                </blockquote>
                <code>rand_int(a: Int, b: Int) -> Float</code> 
            </td>
            <td rowspan="1">
                Generates a random number in the range [<code>a</code>, <code>b</code>]
            </td>
        </tr>
    </tbody>
</table>

### as_float

<table>
    <thead>
        <tr>
            <th>Overload</th>
            <th>Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td> <code>as_float(n: Int) -> Float</code> </td>
            <td rowspan="3" style="width: 60%;">
                Calculates <code>n</code> as a <code>Float</code>. Note that big numbers might not be represented exactly, since 
                floating point numbers do not have as much precision
            </td>
        </tr>
        <tr>
            <td> <code>as_float(n: &Int) -> Float</code> </td>
        </tr>
        <tr>
            <td> <code>as_float(n: @Int) -> Float</code> </td>
        </tr>
    </tbody>
</table>