Sha256: 3354bd1b7288e7ac4451257351ec4c550845b60c57f39bd67531b2b755cd4607

Contents?: true

Size: 457 Bytes

Versions: 2

Compression:

Stored size: 457 Bytes

Contents

module NumberCrusher
  def ResamplingWithReplacement(numbers = nil, samples: 1)
    function = ResamplingWithReplacement.new(samples: samples)
    numbers ? function.call(numbers) : function
  end

  class ResamplingWithReplacement
    def initialize(samples: 1)
      @samples = samples
    end

    def call(numbers)
      return [] if @samples <= 0
      n = numbers.to_a
      (1..@samples).lazy.map { Array.new(n.size) { n.sample } }
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
number_crusher-0.1.2 lib/number_crusher/resampling_with_replacement.rb
number_crusher-0.1.1 lib/number_crusher/resampling_with_replacement.rb