# `Geo.Turf.Math`
[🔗](https://github.com/JonGretar/GeoTurf/blob/main/lib/geo/turf/math.ex#L1)

All sorts of mathematical functions

# `imperial_length`

```elixir
@type imperial_length() :: :miles | :nauticalmiles | :inches | :yards | :feet
```

# `length_unit`

```elixir
@type length_unit() :: si_length_uk() | si_length_us() | imperial_length()
```

# `si_length_uk`

```elixir
@type si_length_uk() :: :meters | :kilometers | :centimeters | :millimeters
```

# `si_length_us`

```elixir
@type si_length_us() :: :metres | :kilometres | :centimetres | :millimetres
```

# `bearing_to_azimuth`

```elixir
@spec bearing_to_azimuth(number()) :: number()
```

# `convert_area`

```elixir
@spec convert_area(number(), length_unit(), length_unit()) :: number()
```

# `convert_length`

```elixir
@spec convert_length(number(), length_unit(), length_unit()) :: number()
```

# `degrees_to_radians`

```elixir
@spec degrees_to_radians(number()) :: float()
```

# `length_to_degrees`

```elixir
@spec length_to_degrees(number(), length_unit()) :: float()
```

# `length_to_radians`

```elixir
@spec length_to_radians(number(), length_unit()) :: float()
```

# `mod`

```elixir
@spec mod(number(), number()) :: number()
```

Calculates the modulo of a number (integer or float).

Note that this function uses `floored division` whereas the builtin `rem`
function uses `truncated division`. See `Decimal.rem/2` if you want a
`truncated division` function for Decimals that will return the same value as
the BIF `rem/2` but in Decimal form.

See [Wikipedia](https://en.wikipedia.org/wiki/Modulo_operation) for an
explanation of the difference.

Taken from [cldr_utils](https://hex.pm/packages/cldr_utils) with thanks and gratitude.

## Examples

    iex> Geo.Turf.Math.mod(1234.0, 5)
    4.0

# `radians_to_degrees`

```elixir
@spec radians_to_degrees(number()) :: float()
```

# `radians_to_length`

```elixir
@spec radians_to_length(number(), length_unit()) :: number()
```

# `rounded`

Round number to precision

## Example

    iex> Geo.Turf.Math.rounded(120.4321)
    120

    iex> Geo.Turf.Math.rounded(120.4321, 3)
    120.432

---

*Consult [api-reference.md](api-reference.md) for complete listing*
