def resolve_ctypes(self, ary): return types.ArrayCTypes(ary)
from llvmlite.llvmpy.core import Type as LLType from .. import hstr_ext ll.add_symbol('array_setitem', hstr_ext.array_setitem) ll.add_symbol('array_getptr1', hstr_ext.array_getptr1) from .. import hstr_ext ll.add_symbol('dtor_str_arr_split_view', hstr_ext.dtor_str_arr_split_view) ll.add_symbol('str_arr_split_view_impl', hstr_ext.str_arr_split_view_impl) ll.add_symbol('str_arr_split_view_alloc', hstr_ext.str_arr_split_view_alloc) char_typ = types.uint8 offset_typ = types.uint32 data_ctypes_type = types.ArrayCTypes(types.Array(char_typ, 1, 'C')) offset_ctypes_type = types.ArrayCTypes(types.Array(offset_typ, 1, 'C')) # nested offset structure to represent S.str.split() # data_offsets array includes offsets to character data array # index_offsets array includes offsets to data_offsets array to identify lists class StringArraySplitViewType(types.IterableType): def __init__(self): super(StringArraySplitViewType, self).__init__(name='StringArraySplitViewType()') @property def dtype(self): # TODO: optimized list type return types.List(string_type)