Module: StatC::Array

Defined in:
ext/stat_c/stat_c.c

Class Method Summary collapse

Class Method Details

.mean(ary) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'ext/stat_c/stat_c.c', line 31

static VALUE sc_mean(VALUE self, VALUE ary)
{

  unsigned long i = 0;
  long double sum = 0;
  size_t len = RARRAY_LEN(ary);

  if (len <= 0) {
    rb_raise(sc_eError, "Array cannot be empty");
  }

  for (i = 0; i < len; ++i) {
    sum += NUM2DBL(rb_ary_entry(ary, i));
  }

  return DBL2NUM(sum / len);
}