module RSpec::Core::Backports::Random::Implementation

def rand(limit = Backports::Undefined)

def rand(limit = Backports::Undefined)
  case limit
    when Backports::Undefined
      @mt.random_float
    when Float
      limit * @mt.random_float unless limit <= 0
    when Range
      _rand_range(limit)
    else
      limit = Backports.coerce_to_int(limit)
      @mt.random_integer(limit) unless limit <= 0
  end || raise(ArgumentError, "invalid argument #{limit}")
end