diff --git a/.gitignore b/.gitignore index c111b33..2fd16c3 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ +*.ps *.gem +.DS_Store diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..01621bf --- /dev/null +++ b/build.sh @@ -0,0 +1,3 @@ +#!/bin/sh +gem uninstall diverge --ignore-dependencies +gem build diverge.gemspec && gem install diverge --no-rdoc --no-ri --ignore-dependencies && ruby -e "require 'diverge'" diff --git a/diverge.gemspec b/diverge.gemspec index 0dcf634..e78acd7 100644 --- a/diverge.gemspec +++ b/diverge.gemspec @@ -1,10 +1,12 @@ Gem::Specification.new do |spec| spec.name = "diverge" - spec.version = "1.0.4" + spec.version = "1.1.0" spec.summary = "Distribution divergences." spec.description = "A simple collection of functions for determining the divergence between two distributions." spec.authors = ["Evan Senter"] spec.email = "evansenter@gmail.com" spec.files = Dir["{lib}/**/*.rb", "bin/*", "LICENSE", "*.md"] spec.homepage = "http://rubygems.org/gems/diverge" + + spec.add_dependency("gsl", [">= 1.14.0"]) end \ No newline at end of file diff --git a/lib/diverge.rb b/lib/diverge.rb index 2cb1418..149fec6 100644 --- a/lib/diverge.rb +++ b/lib/diverge.rb @@ -1,3 +1,5 @@ +require "gsl" + class Diverge attr_reader :p, :q @@ -40,4 +42,10 @@ def total_variation_distance end alias :tvd :total_variation_distance + + def correlation + GSL::Stats::correlation(GSL::Vector.alloc(p), GSL::Vector.alloc(q)) + end + + alias :corr :correlation end \ No newline at end of file