mirror of
https://github.com/nim-lang/Nim.git
synced 2026-07-29 19:57:58 +00:00
typetraits: add toSigned, toUnsigned (#18445)
* typetraits: add toSigned, toUnsigned * improve and add tests Co-authored-by: Andreas Rumpf <rumpf_a@web.de> Co-authored-by: flywind <xzsflywind@gmail.com>
This commit is contained in:
14
tests/stdlib/tbitops_utils.nim
Normal file
14
tests/stdlib/tbitops_utils.nim
Normal file
@@ -0,0 +1,14 @@
|
||||
import std/private/bitops_utils
|
||||
|
||||
template chk(a, b) =
|
||||
let a2 = castToUnsigned(a)
|
||||
doAssert a2 == b
|
||||
doAssert type(a2) is type(b)
|
||||
doAssert type(b) is type(a2)
|
||||
|
||||
chk 1'i8, 1'u8
|
||||
chk -1'i8, 255'u8
|
||||
chk 1'u8, 1'u8
|
||||
chk 1'u, 1'u
|
||||
chk -1, cast[uint](-1)
|
||||
chk -1'i64, cast[uint64](-1)
|
||||
@@ -2,10 +2,10 @@ discard """
|
||||
targets: "c cpp js"
|
||||
"""
|
||||
|
||||
# xxx merge with tests/metatype/ttypetraits.nim
|
||||
|
||||
import std/typetraits
|
||||
|
||||
|
||||
|
||||
macro testClosure(fn: typed, flag: static bool) =
|
||||
if flag:
|
||||
doAssert hasClosure(fn)
|
||||
|
||||
Reference in New Issue
Block a user