blob: fc482c18223592c324607b674e3c3c2ee822bd39 [file] [log] [blame]
James Kuszmaul3b15b0c2022-11-08 14:03:16 -08001template swapEndian*(outp, inp: pointer, size: int) =
2 var i = cast[cstring](inp)
3 var o = cast[cstring](outp)
4 for x in 0..<size:
5 o[x] = i[(0..<size).len - x - 1]
6
7when system.cpuEndian == bigEndian:
8 func littleEndianX*(outp, inp: pointer, size: int) {.inline.} = swapEndian(outp, inp, size)
9 func bigEndianX*(outp, inp: pointer, size: int) {.inline.} = copyMem(outp, inp, size)
10else:
11 func littleEndianX*(outp, inp: pointer, size: int) {.inline.} = copyMem(outp, inp, size)
12 func bigEndianX*(outp, inp: pointer, size: int) {.inline.} = swapEndian(outp, inp, size)