Skip to content
A simple combinatorics library providing combination and permutation.
Elixir
Failed to load latest commit information.
config Initial commit Jan 15, 2016
doc
lib Remove support for Combination.combine(Enum.t, Range.t) as it is simp… Jan 16, 2016
test Initial commit Jan 15, 2016
.gitignore
.travis.yml
CHANGELOG.md
LICENSE.md Initial commit Jan 15, 2016
README.md
mix.exs
mix.lock

README.md

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.

Something went wrong with that request. Please try again.