diff options
Diffstat (limited to 'python/src/sa/str_map.pxi')
-rw-r--r-- | python/src/sa/str_map.pxi | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/python/src/sa/str_map.pxi b/python/src/sa/str_map.pxi new file mode 100644 index 00000000..3a8439a4 --- /dev/null +++ b/python/src/sa/str_map.pxi @@ -0,0 +1,23 @@ +cdef extern from "strmap.h": + ctypedef struct StrMap + StrMap* stringmap_new() + void stringmap_delete(StrMap *vocab) + int stringmap_index(StrMap *vocab, char *s) + char* stringmap_word(StrMap *vocab, int i) + +cdef class StringMap: + cdef StrMap *vocab + cdef char *word(self, int i) + cdef int index(self, char *s) + + def __cinit__(self): + self.vocab = stringmap_new() + + def __dealloc__(self): + stringmap_delete(self.vocab) + + cdef char *word(self, int i): + return stringmap_word(self.vocab, i) + + cdef int index(self, char *s): + return stringmap_index(self.vocab, s) |