Module: FastSimplify
- Defined in:
- lib/fast_simplify.rb,
lib/fast_simplify/version.rb
Constant Summary collapse
- VERSION =
"0.2.0"
Class Method Summary collapse
Class Method Details
.simplify(array, rate) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# 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 max_index = len - 1 step = max_index / (result_count - 1) 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 |