mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-21 14:55:24 +00:00
* Update lib/pure/bitops.nim * Update lib/system/sets.nim * Apply suggestions from code review Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
This commit is contained in:
17
lib/std/private/vmutils.nim
Normal file
17
lib/std/private/vmutils.nim
Normal file
@@ -0,0 +1,17 @@
|
||||
template forwardImpl*(impl, arg) {.dirty.} =
|
||||
when sizeof(x) <= 4:
|
||||
when x is SomeSignedInt:
|
||||
impl(cast[uint32](x.int32))
|
||||
else:
|
||||
impl(x.uint32)
|
||||
else:
|
||||
when x is SomeSignedInt:
|
||||
impl(cast[uint64](x.int64))
|
||||
else:
|
||||
impl(x.uint64)
|
||||
|
||||
template toUnsigned*(x: int8): uint8 = cast[uint8](x)
|
||||
template toUnsigned*(x: int16): uint16 = cast[uint16](x)
|
||||
template toUnsigned*(x: int32): uint32 = cast[uint32](x)
|
||||
template toUnsigned*(x: int64): uint64 = cast[uint64](x)
|
||||
template toUnsigned*(x: int): uint = cast[uint](x)
|
||||
Reference in New Issue
Block a user