``````[![Hex version badge](https://img.shields.io/hexpm/v/chunky.svg)](https://hex.pm/packages/chunky)

# Chunky

Fractions, Sequences, 2D Grids, and Enumeration manipulations in Elixir.

```elixir
iex> Chunky.permutations("😀🤷🏽‍♀️⭐️")
[
"😀🤷🏽‍♀️⭐️",
"😀⭐️🤷🏽‍♀️",
"🤷🏽‍♀️😀⭐️",
"🤷🏽‍♀️⭐️😀",
"⭐️😀🤷🏽‍♀️",
"⭐️🤷🏽‍♀️😀"
]

iex> Chunky.Math.is_prime?(30762542250301270692051460539586166927291732754961)
true

iex> Chunky.combinations(1..4, 3)
[[1, 2, 3], [1, 2, 4], [1, 3, 4], [2, 3, 4]]

iex> Chunky.Sequence.create(Chunky.Sequence.OEIS, :a000045) |> Chunky.Sequence.take!(10)
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

iex> Chunky.Fraction.power(Chunky.Fraction.new(7, 32), Chunky.Fraction.new(30, 5))
%Chunky.Fraction{num: 117649, den: 1073741824}

iex> Chunky.Fraction.power(Chunky.Fraction.new(7, 32), Chunky.Fraction.new(30, 5)) |> IO.puts()
117649/1073741824

iex> Chunky.Math.prime_factors(3217644767340672907899084554130)
[1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79]

```

## Installation

```elixir
def deps do
[
{:chunky, "~> 0.11.5"}
]
end
```

Chunky documentation can be found on Hexdocs at [https://hexdocs.pm/chunky](https://hexdocs.pm/chunky).

## Documentation

- [Fractions](https://hexdocs.pm/chunky/Chunky.Fraction.html#content)
- [Math](https://hexdocs.pm/chunky/Chunky.Math.html#content)
- [Sequences](https://hexdocs.pm/chunky/Chunky.Sequences.html#content)
- [Combinitorics](https://hexdocs.pm/chunky/Chunky.html#content)
``````