[ruby-core:95084] [Ruby master Bug#16180] Random.rand(max) ignores / is broken when max ceiling value is a float

From: nobu@...
Date: 2019-09-25 11:37:55 UTC
List: ruby-core #95084
Issue #16180 has been updated by nobu (Nobuyoshi Nakada).

Status changed from Open to Rejected

If you want to random `Float` values up to `max`, use `Random#rand` or `Random.rand` instead of `Kernel#rand`.

----------------------------------------
Bug #16180: Random.rand(max) ignores / is broken when max ceiling value is a float
https://bugs.ruby-lang.org/issues/16180#change-81716

* Author: BillyRuffian (Nigel Brookes-Thomas)
* Status: Rejected
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin18]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN
----------------------------------------
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin18]
ruby 2.7.0preview1 (2019-05-31 trunk c55db6aa271df4a689dc8eb0039c929bf6ed43ff) [x86_64-darwin18]

Calling `rand` with a float of > 1 always return 0.

Calling `rand` with a float  0 < value > 1 will ignore the ceiling value.

e.g.

```
rand(1.1)
=> 0
rand(1.1)
=> 0
rand(0.5)
=> 0.9501516156613756
rand(0.5)
=> 0.6864252478379304
```



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next