? operator doesn't choose new direction uniformly at random. more likely to go "down" than "right"
Bug #1915376 reported by
David Rutter
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
jsFunge IDE |
New
|
Undecided
|
Unassigned |
Bug Description
As a test case for ? giving uniform direction selection behavior, this test program should generate each type of letter about equally often (e.g. close to 13 times):
>78*vv
v$_#>?vv
7>!@v >?v
3 :v?<
9,-"" ""
4+1AC GT
+,,"" ""
>^^<< <<
Right now it consistently outputs only about 6 Ts.
To post a comment you must log in.
I looked at the code for handling '?'. The bug is in the line:
randint = ((Math. round(Math. random( )*3)));
This will generate the number 1 or 2 twice as often as 0 or 3. It should change to:
randint = ((Math. floor(Math. random( )*4)));