mirror of
https://github.com/nim-lang/Nim.git
synced 2026-07-27 10:56:28 +00:00
23
tests/stdlib/tdigitsutils.nim
Normal file
23
tests/stdlib/tdigitsutils.nim
Normal file
@@ -0,0 +1,23 @@
|
||||
import std/private/digitsutils
|
||||
|
||||
template main =
|
||||
block: # digits10
|
||||
doAssert digits10(0'u64) == 1
|
||||
# checks correctness on all powers of 10 + [0,-1,1]
|
||||
var x = 1'u64
|
||||
var num = 1
|
||||
while true:
|
||||
# echo (x, num)
|
||||
doAssert digits10(x) == num
|
||||
doAssert digits10(x+1) == num
|
||||
if x > 1:
|
||||
doAssert digits10(x-1) == num - 1
|
||||
num += 1
|
||||
let xOld = x
|
||||
x *= 10
|
||||
if x < xOld:
|
||||
# wrap-around
|
||||
break
|
||||
|
||||
static: main()
|
||||
main()
|
||||
Reference in New Issue
Block a user