12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- .. _func_maths_rnd:
- ===
- Rnd
- ===
- Rnd -
- Description
- ===========
- .. code-block:: blitzmax
- Rnd!( min_value!=1,max_value!=0 )
- Generate random double
- The optional parameters allow you to use Rnd in 3 ways:
- [ @Format | @Result
- * &Rnd() | Random double in the range 0 (inclusive) to 1 (exclusive)
- * &Rnd(_x_) | Random double in the range 0 (inclusive) to n (exclusive)
- * &Rnd(_x,y_) | Random double in the range x (inclusive) to y (exclusive)
- ]
- Parameters
- ==========
- Return Values
- =============
- A random double in the range min (inclusive) to max (exclusive)
- Examples
- ========
- .. code-block:: blitzmax
- ' Rnd.bmx
- ' Use Rnd() to estimate area inside the unit circle x^2 + y^2 = 1.
-
- totalpoints = 1000000
-
- For n = 1 to totalpoints
- x! = Rnd( -1.0, 1.0 ) ' Generate random point in 2 by 2 square.
- y! = Rnd( -1.0, 1.0 )
-
- If x*x + y*y < 1.0 Then inpoints :+ 1 ' point is inside the circle
- Next
-
- ' Note: Ratio of areas circle/square is exactly Pi/4.
-
- Print "Estimated area = " + ( 4.0 * Double(inpoints)/Double(totalpoints) )
- Print
- Print " Exact area = " + Pi ' 4 * Pi/4, compare with estimate
-
- Input
- End
- See Also
- ========
|