Parent

Array

Public Class Methods

from_json(str) click to toggle source
# File lib/stella/core_ext.rb, line 442
def self.from_json(str)
  Yajl::Parser.parse(str, :check_utf8 => false)
end

Public Instance Methods

deviation() click to toggle source
# File lib/stella/core_ext.rb, line 412
def deviation ; Math::sqrt( self.variance ) ; end
Also aliased as: sd
dump(format) click to toggle source
# File lib/stella/core_ext.rb, line 435
def dump(format)
  respond_to?(:"to_#{format}") ? send(:"to_#{format}") : raise("Unknown format: #{format}")
end
histogram() click to toggle source
# File lib/stella/core_ext.rb, line 404
def histogram ; self.sort.inject({}){|a,x|a[x]=a[x].to_i+1;a} ; end
mean() click to toggle source
# File lib/stella/core_ext.rb, line 397
def mean; self.sum.to_f/self.size ; end
median() click to toggle source
# File lib/stella/core_ext.rb, line 398
def median
  case self.size % 2
    when 0 then self.sort[self.size/2-1,2].mean
    when 1 then self.sort[self.size/2].to_f
  end if self.size > 0
end
mode() click to toggle source
# File lib/stella/core_ext.rb, line 405
def mode
  map = self.histogram
  max = map.values.max
  map.keys.select{|x|map[x]==max}
end
percentile(perc) click to toggle source
# File lib/stella/core_ext.rb, line 425
def percentile(perc)
  self.sort[percentile_index(perc)]
end
percentile_index(perc) click to toggle source
# File lib/stella/core_ext.rb, line 428
def percentile_index(perc)
  (perc * self.length).ceil - 1
end
permute() click to toggle source
# File lib/stella/core_ext.rb, line 414
def permute ; self.dup.permute! ; end
permute!() click to toggle source
# File lib/stella/core_ext.rb, line 415
def permute!
  (1...self.size).each do |i| ; j=rand(i+1)
    self[i],self[j] = self[j],self[i] if i!=j
  end;self
end
random() click to toggle source
# File lib/stella/core_ext.rb, line 422
def random
  self[rand(self.size)]
end
sample(n=1 ;) click to toggle source
# File lib/stella/core_ext.rb, line 420
def sample n=1 ; (0...n).collect{ self[rand(self.size)] } ; end
sd() click to toggle source
Alias for: deviation
squares() click to toggle source
# File lib/stella/core_ext.rb, line 410
def squares ; self.inject(0){|a,x|x.square+a} ; end
sum() click to toggle source
# File lib/stella/core_ext.rb, line 396
def sum ; self.inject(0){|a,x| next if x.nil? || a.nil?; x+a} ; end
to_json() click to toggle source
# File lib/stella/core_ext.rb, line 439
def to_json
  Yajl::Encoder.encode(self)
end
variance() click to toggle source
# File lib/stella/core_ext.rb, line 411
def variance ; self.squares.to_f/self.size - self.mean.square; end

[Validate]

Generated with the Darkfish Rdoc Generator 2.