* Fix broken StateClass.E tracking

This commit is contained in:
Matthew Honnibal 2015-11-07 06:06:39 +11:00
parent 5f3e43891f
commit 9285f01d26
1 changed files with 3 additions and 2 deletions

View File

@ -46,7 +46,7 @@ cdef class StateClass:
cdef int E(self, int i) nogil: cdef int E(self, int i) nogil:
if self._e_i <= 0 or self._e_i >= self.length: if self._e_i <= 0 or self._e_i >= self.length:
return 0 return 0
if i < 0 or i >= self.length: if i < 0 or i > self._e_i:
return 0 return 0
self._ents[self._e_i - (i+1)].start self._ents[self._e_i - (i+1)].start
@ -174,7 +174,8 @@ cdef class StateClass:
self._e_i += 1 self._e_i += 1
cdef void close_ent(self) nogil: cdef void close_ent(self) nogil:
self._ents[self._e_i-1].end = self.B(0)+1 self._e_i -= 1
self._ents[self._e_i].end = self.B(0)+1
self._sent[self.B(0)].ent_iob = 1 self._sent[self.B(0)].ent_iob = 1
cdef void set_ent_tag(self, int i, int ent_iob, int ent_type) nogil: cdef void set_ent_tag(self, int i, int ent_iob, int ent_type) nogil: