Difference between revisions of "Rn2"

From NetHackWiki
Jump to navigation Jump to search
(cat)
m
Line 1: Line 1:
 
{{DISPLAYTITLE:rn2}}
 
{{DISPLAYTITLE:rn2}}
 
{{randomvariable|name=rn2(x)|graph=rn2.svg|caption=[[wikipedia:Probability mass function|Probability mass function]] of rn2(10).|distribution=[[Wikipedia:discrete uniform distribution|uniform]]|mean=<math>(x-1)/2</math>|stddev=<math>\sqrt{(x^2-1)/12}</math>}}
 
{{randomvariable|name=rn2(x)|graph=rn2.svg|caption=[[wikipedia:Probability mass function|Probability mass function]] of rn2(10).|distribution=[[Wikipedia:discrete uniform distribution|uniform]]|mean=<math>(x-1)/2</math>|stddev=<math>\sqrt{(x^2-1)/12}</math>}}
rn2(x)<ref>{{function|rnd.c|rn2}}</ref> is a pseudo-random number function used in NetHack when a result should be unweighted. The range of values is between 0 and x-1 inclusive (that is, 0<=rn2(x)<x).  
+
rn2(x)<ref>{{function|rnd.c|rn2}}</ref> is a pseudo-random number function used in NetHack when a result should be unweighted. The range of values is between 0 and x-1 inclusive (that is, 0 rn2(x) < x).  
  
 
For example, to simulate a percentage chance:
 
For example, to simulate a percentage chance:
 
  if (rn2(100) < chance) { ... }
 
  if (rn2(100) < chance) { ... }
 +
 +
Also,
 +
!rn2(x)
 +
is true with a 1/x probability.
  
 
See also [[rn1]].
 
See also [[rn1]].
Line 11: Line 15:
 
<references/>
 
<references/>
  
{{stub}}
 
 
[[Category:Random number functions]]
 
[[Category:Random number functions]]

Revision as of 15:31, 11 July 2015

rn2(x)[1] is a pseudo-random number function used in NetHack when a result should be unweighted. The range of values is between 0 and x-1 inclusive (that is, 0 ≤ rn2(x) < x).

For example, to simulate a percentage chance:

if (rn2(100) < chance) { ... }

Also,

!rn2(x)

is true with a 1/x probability.

See also rn1.

References