parent
9dbf56ba2b
commit
3d0190f470
1 changed files with 14 additions and 8 deletions
|
|
@ -129,7 +129,7 @@ proc next*(r: var Rand): uint64 =
|
||||||
## a given upper bound
|
## a given upper bound
|
||||||
## * `rand proc<#rand,Rand,range[]>`_ that returns a float
|
## * `rand proc<#rand,Rand,range[]>`_ that returns a float
|
||||||
## * `rand proc<#rand,Rand,HSlice[T,T]>`_ that accepts a slice
|
## * `rand proc<#rand,Rand,HSlice[T,T]>`_ that accepts a slice
|
||||||
## * `rand proc<#rand,typedesc[T]>`_ that accepts an integer type
|
## * `rand proc<#rand,typedesc[T]>`_ that accepts an integer or range type
|
||||||
## * `skipRandomNumbers proc<#skipRandomNumbers,Rand>`_
|
## * `skipRandomNumbers proc<#skipRandomNumbers,Rand>`_
|
||||||
runnableExamples:
|
runnableExamples:
|
||||||
var r = initRand(2019)
|
var r = initRand(2019)
|
||||||
|
|
@ -242,7 +242,7 @@ proc rand*(r: var Rand; max: Natural): int {.benign.} =
|
||||||
## random number generator
|
## random number generator
|
||||||
## * `rand proc<#rand,Rand,range[]>`_ that returns a float
|
## * `rand proc<#rand,Rand,range[]>`_ that returns a float
|
||||||
## * `rand proc<#rand,Rand,HSlice[T,T]>`_ that accepts a slice
|
## * `rand proc<#rand,Rand,HSlice[T,T]>`_ that accepts a slice
|
||||||
## * `rand proc<#rand,typedesc[T]>`_ that accepts an integer type
|
## * `rand proc<#rand,typedesc[T]>`_ that accepts an integer or range type
|
||||||
runnableExamples:
|
runnableExamples:
|
||||||
var r = initRand(123)
|
var r = initRand(123)
|
||||||
doAssert r.rand(100) == 0
|
doAssert r.rand(100) == 0
|
||||||
|
|
@ -268,7 +268,7 @@ proc rand*(max: int): int {.benign.} =
|
||||||
## provided state
|
## provided state
|
||||||
## * `rand proc<#rand,float>`_ that returns a float
|
## * `rand proc<#rand,float>`_ that returns a float
|
||||||
## * `rand proc<#rand,HSlice[T,T]>`_ that accepts a slice
|
## * `rand proc<#rand,HSlice[T,T]>`_ that accepts a slice
|
||||||
## * `rand proc<#rand,typedesc[T]>`_ that accepts an integer type
|
## * `rand proc<#rand,typedesc[T]>`_ that accepts an integer or range type
|
||||||
runnableExamples:
|
runnableExamples:
|
||||||
randomize(123)
|
randomize(123)
|
||||||
doAssert rand(100) == 0
|
doAssert rand(100) == 0
|
||||||
|
|
@ -285,7 +285,7 @@ proc rand*(r: var Rand; max: range[0.0 .. high(float)]): float {.benign.} =
|
||||||
## random number generator
|
## random number generator
|
||||||
## * `rand proc<#rand,Rand,Natural>`_ that returns an integer
|
## * `rand proc<#rand,Rand,Natural>`_ that returns an integer
|
||||||
## * `rand proc<#rand,Rand,HSlice[T,T]>`_ that accepts a slice
|
## * `rand proc<#rand,Rand,HSlice[T,T]>`_ that accepts a slice
|
||||||
## * `rand proc<#rand,typedesc[T]>`_ that accepts an integer type
|
## * `rand proc<#rand,typedesc[T]>`_ that accepts an integer or range type
|
||||||
runnableExamples:
|
runnableExamples:
|
||||||
var r = initRand(234)
|
var r = initRand(234)
|
||||||
let f = r.rand(1.0)
|
let f = r.rand(1.0)
|
||||||
|
|
@ -311,7 +311,7 @@ proc rand*(max: float): float {.benign.} =
|
||||||
## provided state
|
## provided state
|
||||||
## * `rand proc<#rand,int>`_ that returns an integer
|
## * `rand proc<#rand,int>`_ that returns an integer
|
||||||
## * `rand proc<#rand,HSlice[T,T]>`_ that accepts a slice
|
## * `rand proc<#rand,HSlice[T,T]>`_ that accepts a slice
|
||||||
## * `rand proc<#rand,typedesc[T]>`_ that accepts an integer type
|
## * `rand proc<#rand,typedesc[T]>`_ that accepts an integer or range type
|
||||||
runnableExamples:
|
runnableExamples:
|
||||||
randomize(234)
|
randomize(234)
|
||||||
let f = rand(1.0)
|
let f = rand(1.0)
|
||||||
|
|
@ -327,7 +327,7 @@ proc rand*[T: Ordinal](r: var Rand; x: HSlice[T, T]): T =
|
||||||
## default random number generator
|
## default random number generator
|
||||||
## * `rand proc<#rand,Rand,Natural>`_ that returns an integer
|
## * `rand proc<#rand,Rand,Natural>`_ that returns an integer
|
||||||
## * `rand proc<#rand,Rand,range[]>`_ that returns a float
|
## * `rand proc<#rand,Rand,range[]>`_ that returns a float
|
||||||
## * `rand proc<#rand,typedesc[T]>`_ that accepts an integer type
|
## * `rand proc<#rand,typedesc[T]>`_ that accepts an integer or range type
|
||||||
runnableExamples:
|
runnableExamples:
|
||||||
var r = initRand(345)
|
var r = initRand(345)
|
||||||
doAssert r.rand(1..6) == 4
|
doAssert r.rand(1..6) == 4
|
||||||
|
|
@ -349,7 +349,7 @@ proc rand*[T: Ordinal](x: HSlice[T, T]): T =
|
||||||
## a provided state
|
## a provided state
|
||||||
## * `rand proc<#rand,int>`_ that returns an integer
|
## * `rand proc<#rand,int>`_ that returns an integer
|
||||||
## * `rand proc<#rand,float>`_ that returns a floating point number
|
## * `rand proc<#rand,float>`_ that returns a floating point number
|
||||||
## * `rand proc<#rand,typedesc[T]>`_ that accepts an integer type
|
## * `rand proc<#rand,typedesc[T]>`_ that accepts an integer or range type
|
||||||
runnableExamples:
|
runnableExamples:
|
||||||
randomize(345)
|
randomize(345)
|
||||||
doAssert rand(1..6) == 4
|
doAssert rand(1..6) == 4
|
||||||
|
|
@ -383,6 +383,12 @@ proc rand*[T: SomeInteger](t: typedesc[T]): T =
|
||||||
doAssert rand(uint32) == 578980729'u32
|
doAssert rand(uint32) == 578980729'u32
|
||||||
doAssert rand(uint32) == 4052940463'u32
|
doAssert rand(uint32) == 4052940463'u32
|
||||||
doAssert rand(uint32) == 2163872389'u32
|
doAssert rand(uint32) == 2163872389'u32
|
||||||
|
doAssert rand(range[1..16]) == 11
|
||||||
|
doAssert rand(range[1..16]) == 4
|
||||||
|
doAssert rand(range[1..16]) == 16
|
||||||
|
when T is range:
|
||||||
|
result = rand(state, low(T)..high(T))
|
||||||
|
else:
|
||||||
result = cast[T](state.next)
|
result = cast[T](state.next)
|
||||||
|
|
||||||
proc rand*[T](a: openArray[T]): T {.deprecated.} =
|
proc rand*[T](a: openArray[T]): T {.deprecated.} =
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue