Module: Oppen::Utils

Defined in:
lib/oppen/utils.rb

Overview

Utils.

Class Method Summary collapse

Class Method Details

.upsize_circular_array(arr, offset) ⇒ Array(Array, Integer, Integer)

Rotates circular array and triples its size.

Parameters:

  • arr (Array)
  • offset (Integer)

    Rotation amount

Returns:

  • (Array(Array, Integer, Integer))

    upsized array, lhs, rhs



12
13
14
15
16
17
# File 'lib/oppen/utils.rb', line 12

def self.upsize_circular_array(arr, offset)
  size = arr.size
  arr = arr.rotate(offset)
  arr.fill(nil, size, 2 * size)
  [arr, 0, size]
end