make countup et al take only a single type parameter in order to prevent type guesses
This commit is contained in:
parent
17ccb7f6b6
commit
eadba5a345
3 changed files with 73 additions and 35 deletions
|
|
@ -17,7 +17,7 @@ type
|
|||
proc newMersenneTwister*(seed: uint32): MersenneTwister =
|
||||
result.index = 0
|
||||
result.mt[0] = seed
|
||||
for i in 1..623'u32:
|
||||
for i in 1'u32 .. 623'u32:
|
||||
result.mt[i] = (0x6c078965'u32 * (result.mt[i-1] xor (result.mt[i-1] shr 30'u32)) + i)
|
||||
|
||||
proc generateNumbers(m: var MersenneTwister) =
|
||||
|
|
|
|||
|
|
@ -563,12 +563,12 @@ macro scanp*(input, idx: typed; pattern: varargs[untyped]): bool =
|
|||
of nnkCurlyExpr:
|
||||
if it.len == 3 and it[1].kind == nnkIntLit and it[2].kind == nnkIntLit:
|
||||
var h = newTree(nnkPar, it[0])
|
||||
for count in 2..it[1].intVal: h.add(it[0])
|
||||
for count in 2i64 .. it[1].intVal: h.add(it[0])
|
||||
for count in it[1].intVal .. it[2].intVal-1: h.add(newTree(nnkPrefix, ident"?", it[0]))
|
||||
result = atm(h, input, idx, attached)
|
||||
elif it.len == 2 and it[1].kind == nnkIntLit:
|
||||
var h = newTree(nnkPar, it[0])
|
||||
for count in 2..it[1].intVal: h.add(it[0])
|
||||
for count in 2i64 .. it[1].intVal: h.add(it[0])
|
||||
result = atm(h, input, idx, attached)
|
||||
else:
|
||||
error("invalid pattern")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue