Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Toolkit for asymptotic analysis of functions.

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Gemfile
Octocat-spinner-32 LICENSE.txt
Octocat-spinner-32 README.md
Octocat-spinner-32 Rakefile
Octocat-spinner-32 asymptotic.gemspec
README.md

asymptotic.gem

Create runtime-analysis graphs with minimal effort.

Installation

Add this line to your application's Gemfile:

gem 'asymptotic'

And then execute:

$ bundle

Or install it yourself as:

$ gem install asymptotic

Usage

require 'asymptotic'

Asymptotic::Graph::plot("Data-Structure Element Retrieval Methods",

  "Checking if an element is in an array" => {
    function: ->(shuffled_array){ shuffled_array.include? 1 },
    input_seeds: (1..1000),
    input_function: ->(limit){ (1..limit*1000).to_a.shuffle }
  },

  "Checking if a key is in a hash" => {
    function: ->(hash){ hash.has_key? 'my key' },
    input_seeds: (1..1000),
    input_function: ->(limit){
      hash = {}.tap { |h|
        (limit*1000).times { |num| h[num] = 'some val' }
        h['my key'] = 'my val'
      }
    }
  }

)

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request
Something went wrong with that request. Please try again.