Skip to content

Commit 94cd39a

Browse files
committed
tried some type fixing
1 parent f2f09ac commit 94cd39a

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

src/finchlite/codegen/hashtable.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from dataclasses import dataclass
33
from pathlib import Path
44
from textwrap import dedent
5-
from typing import NamedTuple, TypedDict
5+
from typing import Any, NamedTuple, TypedDict
66

77
import numba
88
import numba.typed
@@ -243,6 +243,10 @@ def __init__(
243243
self.key_len = key_len
244244
self.value_len = value_len
245245

246+
# these are blank fields we need when serializing or smth
247+
self._struct: Any = None
248+
self._self_obj: Any = None
249+
246250
if map is None:
247251
map = {}
248252
self.map = getattr(self.lib.library, self.lib.methods["init"])()
@@ -399,7 +403,7 @@ def c_repack(self, ctx: "CContext", lhs: str, obj: "CMapFields"):
399403
"""
400404
Repack the map out of C context.
401405
"""
402-
ctx.exec(f"{ctx.feed}{lhs}->map = {obj.map}")
406+
ctx.exec(f"{ctx.feed}{lhs}->map = {obj.map};")
403407

404408
def serialize_to_c(self, obj: CHashTable):
405409
"""
@@ -506,6 +510,8 @@ def __init__(self, key_len: int, value_len: int):
506510
self.value_len = value_len
507511
self._key_type = _int_tuple_ftype(key_len)
508512
self._value_type = _int_tuple_ftype(value_len)
513+
self._numba_key_type = numba.types.UniTuple(numba.types.int64, key_len)
514+
self._numba_value_type = numba.types.UniTuple(numba.types.int64, value_len)
509515

510516
def __eq__(self, other):
511517
if not isinstance(other, NumbaHashTableFType):

tests/test_codegen.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -965,6 +965,7 @@ def test_hashtable(compiler, tabletype):
965965
key_v,
966966
val_v,
967967
),
968+
asm.Repack(table_slt),
968969
asm.Return(asm.LoadMap(table_slt, key_v)),
969970
)
970971
),

0 commit comments

Comments
 (0)