Module: Sansu::Operator

Defined in:
lib/sansu/operator.rb

Instance Method Summary collapse

Instance Method Details

#meanObject



9
10
11
12
13
# File 'lib/sansu/operator.rb', line 9

def mean
  Sansu.validate(self)

  sum / count
end

#medianObject



15
16
17
18
19
# File 'lib/sansu/operator.rb', line 15

def median
  Sansu.validate(self)

  count.even? ? sort[count/2-1, 2].sum / 2 : sort[count/2].to_f
end

#modeObject



21
22
23
24
25
26
27
28
# File 'lib/sansu/operator.rb', line 21

def mode
  Sansu.validate(self)

  grouped   = map(&:to_f).group_by(&:itself)
  max_count = grouped.values.map(&:count).max

  grouped.select{ |k, v| v.count == max_count }.keys
end

#sumObject



3
4
5
6
7
# File 'lib/sansu/operator.rb', line 3

def sum
  Sansu.validate(self)

  inject(:+).to_f
end