summaryrefslogtreecommitdiff
path: root/sa-extract
diff options
context:
space:
mode:
authorChris Dyer <cdyer@cs.cmu.edu>2012-07-25 23:40:06 -0400
committerChris Dyer <cdyer@cs.cmu.edu>2012-07-25 23:40:06 -0400
commit717136fff09cde560d0bb0fea93a3527708d5d15 (patch)
tree53d5b4587d82dd5c10cb45a0e33aabd2cc0b166e /sa-extract
parenteeef93717fed2901f6fcd2e3fd11118e0e309af7 (diff)
maybe faster
Diffstat (limited to 'sa-extract')
-rw-r--r--sa-extract/Makefile2
-rw-r--r--sa-extract/csuf.pxd5
-rw-r--r--sa-extract/csuf.pyx7
3 files changed, 8 insertions, 6 deletions
diff --git a/sa-extract/Makefile b/sa-extract/Makefile
index 3145bbfe..10d14521 100644
--- a/sa-extract/Makefile
+++ b/sa-extract/Makefile
@@ -1,5 +1,5 @@
%.c: %.pyx
- cython $< -o $@
+ cython -X cdivision=True $< -o $@
%.o: %.cc
g++ -O6 -g -fPIC -c $<
diff --git a/sa-extract/csuf.pxd b/sa-extract/csuf.pxd
index f44167dd..972f0178 100644
--- a/sa-extract/csuf.pxd
+++ b/sa-extract/csuf.pxd
@@ -5,7 +5,8 @@ cdef class SuffixArray:
cdef cdat.DataArray darray
cdef cintlist.CIntList sa
cdef cintlist.CIntList ha
+ # cdef lookup(self, word, int offset, int low, int high)
cdef __lookup_helper(self, int word_id, int offset, int low, int high)
cdef __get_range(self, int word_id, int offset, int low, int high, int midpoint)
- cdef __search_low(self, int word_id, int offset, int low, int high)
- cdef __search_high(self, word_id, offset, low, high)
+ cdef int __search_low(self, int word_id, int offset, int low, int high)
+ cdef int __search_high(self, int word_id, int offset, int low, int high)
diff --git a/sa-extract/csuf.pyx b/sa-extract/csuf.pyx
index 64c44788..2f0b1383 100644
--- a/sa-extract/csuf.pyx
+++ b/sa-extract/csuf.pyx
@@ -223,7 +223,7 @@ cdef class SuffixArray:
f.close()
- cdef __search_high(self, word_id, offset, low, high):
+ cdef int __search_high(self, int word_id, int offset, int low, int high):
cdef int midpoint
if low >= high:
@@ -235,7 +235,7 @@ cdef class SuffixArray:
return self.__search_high(word_id, offset, low, midpoint)
- cdef __search_low(self, int word_id, int offset, int low, int high):
+ cdef int __search_low(self, int word_id, int offset, int low, int high):
cdef int midpoint
if low >= high:
@@ -269,7 +269,8 @@ cdef class SuffixArray:
return self.__lookup_helper(word_id, offset, midpoint+1, high)
- def lookup(self, word, offset, int low, int high):
+ def lookup(self, word, int offset, int low, int high):
+ cdef int wordid
if low == -1:
low = 0
if high == -1: