Sha256: 9b0d396ab1ac568825edfe959b99773946dc6d477ae1ff5573f7a20ec3cb7ba1

Contents?: true

Size: 629 Bytes

Versions: 8

Compression:

Stored size: 629 Bytes

Contents

class Numeric

  #
  # +rrand(upper)+: random number generator
  #
  # returns a random number in the range receiver-upper bound
  # 
  # If any of the numbers (the receiver +or+ the argument) are +Float+s
  # the method will return a +Float+. If both arguments are integers then an
  # +Integer+ will be returned.
  #
  # (this method is present in the SuperCollider sclang interpreter)
  #
  #:nodoc:

  def rrand(upper)
    lobound = self.to_f
    rng = upper.to_f - lobound

    (rand()*rng) + lobound
  end

end

class Integer

  def rrand(upper)
    res = super(upper)
    upper.is_a?(Integer) ? res.round : res
  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
ruby-mext-0.5.0 lib/mext/numeric/rrand.rb
ruby-mext-0.4.1 lib/mext/numeric/rrand.rb
ruby-mext-0.4.0 lib/mext/numeric/rrand.rb
ruby-mext-0.3.2 lib/mext/numeric/rrand.rb
ruby-mext-0.3.1 lib/mext/numeric/rrand.rb
ruby-mext-0.3.0 lib/mext/numeric/rrand.rb
ruby-mext-0.2.1 lib/mext/numeric/rrand.rb
ruby-mext-0.2.0 lib/mext/numeric/rrand.rb