Home

Awesome

Combination

Build Status Hex.pm Version

Elixir library to generate combinations and permutations from Enumerable.

See Examples.

Documentation

API documentation is available at http://hexdocs.pm/combination

Adding Combination To Your Project

To use Combination with your projects, edit your mix.exs file and add it as a dependency:

defp deps do
  [
    {:combination, "~> x.x.x"},
  ]
end

Examples

To generate combinations,


iex> 1..3 |> Combination.combine(2)
[[3, 2], [3, 1], [2, 1]]

To generate permutations,


iex> 1..3 |> Combination.permutate
[[1, 2, 3], [2, 1, 3], [3, 1, 2], [1, 3, 2], [2, 3, 1], [3, 2, 1]]

iex> 1..3 |> Combination.permutate(fn p -> Enum.at(p, 0) == 1 end)
[[1, 2, 3], [1, 3, 2]]

LICENSE

This software is licensed under MIT License.