# File lib/more/facets/math/gini_coefficient.rb, line 15 def self.gini_coefficient(array) return -1 if size <= 0 or any? { |x| x < 0 } return 0 if size < 2 or all? { |x| approx_equal(x,0) } s = 0 sort.each_with_index { |li,i| s += (2*i+1-size)*li } s.to_f/(size**2*mean).to_f end