module FastSimplify
Constants
- VERSION
Public Class Methods
simplify(array, rate)
click to toggle source
# File lib/fast_simplify.rb, line 4 def self.simplify(array, rate) len = array.length return array if len <= 2 || rate == 1 return [array[0], array[-1]] if rate == 0 result_count = (len * rate).round max_index = len - 1 step = max_index / (result_count - 1).to_f result = [] 0.step(max_index, step) do |n| result << array[n.round] end #puts "len: #{len}, result_count: #{result_count}, step: #{step}, result.length: #{result.length}, result: #{result.inspect}" result end