hashes: implement murmur3 (#12022)
* hashes: implement murmur3 * refactoring; there is only one murmurHash and it works at compile-time via VM hooks * fixes JS tests * makes toOpenArrayByte work with C++ * make it bootstrap in C++ mode for 0.20
This commit is contained in:
parent
35268c500f
commit
ab48d7901e
7 changed files with 204 additions and 59 deletions
|
|
@ -4501,6 +4501,11 @@ when defined(nimconfig):
|
|||
when not defined(js):
|
||||
proc toOpenArray*[T](x: ptr UncheckedArray[T]; first, last: int): openArray[T] {.
|
||||
magic: "Slice".}
|
||||
when defined(nimToOpenArrayCString):
|
||||
proc toOpenArray*(x: cstring; first, last: int): openArray[char] {.
|
||||
magic: "Slice".}
|
||||
proc toOpenArrayByte*(x: cstring; first, last: int): openArray[byte] {.
|
||||
magic: "Slice".}
|
||||
|
||||
proc toOpenArray*[T](x: seq[T]; first, last: int): openArray[T] {.
|
||||
magic: "Slice".}
|
||||
|
|
@ -4510,8 +4515,13 @@ proc toOpenArray*[I, T](x: array[I, T]; first, last: I): openArray[T] {.
|
|||
magic: "Slice".}
|
||||
proc toOpenArray*(x: string; first, last: int): openArray[char] {.
|
||||
magic: "Slice".}
|
||||
|
||||
proc toOpenArrayByte*(x: string; first, last: int): openArray[byte] {.
|
||||
magic: "Slice".}
|
||||
proc toOpenArrayByte*(x: openArray[char]; first, last: int): openArray[byte] {.
|
||||
magic: "Slice".}
|
||||
proc toOpenArrayByte*(x: seq[char]; first, last: int): openArray[byte] {.
|
||||
magic: "Slice".}
|
||||
|
||||
type
|
||||
ForLoopStmt* {.compilerproc.} = object ## \
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue