# File lib/backports/random/implementation.rb, line 27
      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