mirror of
https://github.com/nim-lang/Nim.git
synced 2026-06-08 21:04:20 +00:00
* fixes #20244; fixes castSizes warnings * fixes js * fixes js * fixes js * fixes * typo * extend using uint64 * Update lib/std/syncio.nim
This commit is contained in:
@@ -944,14 +944,26 @@ func toHex*[T: SomeInteger](x: T, len: Positive): string =
|
||||
doAssert b.toHex(4) == "1001"
|
||||
doAssert toHex(62, 3) == "03E"
|
||||
doAssert toHex(-8, 6) == "FFFFF8"
|
||||
toHexImpl(cast[BiggestUInt](x), len, x < 0)
|
||||
when defined(js):
|
||||
toHexImpl(cast[BiggestUInt](x), len, x < 0)
|
||||
else:
|
||||
when T is SomeSignedInt:
|
||||
toHexImpl(cast[BiggestUInt](BiggestInt(x)), len, x < 0)
|
||||
else:
|
||||
toHexImpl(BiggestUInt(x), len, x < 0)
|
||||
|
||||
func toHex*[T: SomeInteger](x: T): string =
|
||||
## Shortcut for `toHex(x, T.sizeof * 2)`
|
||||
runnableExamples:
|
||||
doAssert toHex(1984'i64) == "00000000000007C0"
|
||||
doAssert toHex(1984'i16) == "07C0"
|
||||
toHexImpl(cast[BiggestUInt](x), 2*sizeof(T), x < 0)
|
||||
when defined(js):
|
||||
toHexImpl(cast[BiggestUInt](x), 2*sizeof(T), x < 0)
|
||||
else:
|
||||
when T is SomeSignedInt:
|
||||
toHexImpl(cast[BiggestUInt](BiggestInt(x)), 2*sizeof(T), x < 0)
|
||||
else:
|
||||
toHexImpl(BiggestUInt(x), 2*sizeof(T), x < 0)
|
||||
|
||||
func toHex*(s: string): string {.rtl.} =
|
||||
## Converts a bytes string to its hexadecimal representation.
|
||||
|
||||
Reference in New Issue
Block a user