Rapid Elixir library providing implementations of the most famous algorithms, data structures and math functions, out of the box


Keywords
algorithm, algorithms, data-structures, datastructures, elixir, elixir-lang, math
License
Apache-2.0

Documentation

Stella

Rapid Elixir library providing implementations of the most famous algorithms, data structures and math functions. Key features of this library are:

  • a high test coverage (near to 100%)
  • good quality documentation with examples of usage to each function
  • featured complexity of each action

Installation

The package can be installed by adding stella to your list of dependencies in mix.exs:

def deps do
  [
    {:stella, "~> 0.7.1"}
  ]
end

Link to hex package: https://hex.pm/packages/stella

Documentation

Generated with ExDoc: https://hexdocs.pm/stella/Stella.html

Content of version 0.7.1

Math

  • Cartesian
  • Easing functions
  • Isometric
  • Common number operations like clamp, nearly equal, is power etc
  • Time converter (hms, sec, ms etc)
  • Vector 2D
  • Vector 3D
  • Ackermann function
  • Fibonacci sequence
  • Math intervals

Algorithms

  • Quick sort
  • Counting sort
  • Insertion sort
  • Binary search
  • Bubble sort

Data structures

  • Queue
  • Stack
  • Priority queue
  • Struct, converting a nested Struct to a nested Map
  • Heap with heapsort

Contributing

We appreciate any contribution to Stella. You will need to have installed the newest versions of Elixir and Erlang at your machine. Then, follow the steps bellow:

  1. Install project dependencies

    $ mix deps.get
  2. Watch tests

    $ mix test.watch