Exemple #1
0
 def resolve_ctypes(self, ary):
     return types.ArrayCTypes(ary)
Exemple #2
0
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)