summaryrefslogtreecommitdiff
path: root/python/src/sa/alignment.pxi
diff options
context:
space:
mode:
authorVictor Chahuneau <vchahune@cs.cmu.edu>2013-06-02 14:55:53 -0400
committerVictor Chahuneau <vchahune@cs.cmu.edu>2013-06-02 14:55:53 -0400
commit8ef5c9b0e15c45b09a22fd89a4ed7b0e180a9d2b (patch)
tree6b594a485a0fea36c1765e58c9c13b95600950d0 /python/src/sa/alignment.pxi
parentcd5190d525b911c8fecd50ada5f57d879bcd9779 (diff)
Possible fix for #13
- use IntList .len instead of len() which can return long - a bit of code cleanup - upgrade to Cython 0.19
Diffstat (limited to 'python/src/sa/alignment.pxi')
-rw-r--r--python/src/sa/alignment.pxi10
1 files changed, 6 insertions, 4 deletions
diff --git a/python/src/sa/alignment.pxi b/python/src/sa/alignment.pxi
index 842899ad..f66f0fbf 100644
--- a/python/src/sa/alignment.pxi
+++ b/python/src/sa/alignment.pxi
@@ -5,21 +5,23 @@ from libc.stdlib cimport malloc, realloc, free
# We have the space for our corpus, so this is not a problem;
# May need to revisit if things get really tight, though.
+cdef int ALIGNMENT_CODE = 1 << 16
+
cdef class Alignment:
cdef IntList links
cdef IntList sent_index
cdef int link(self, int i, int j):
"""Integerizes an alignment link pair"""
- return i*65536 + j
+ return i * ALIGNMENT_CODE + j
def unlink(self, link):
"""De-integerizes an alignment link pair"""
- return (link/65536, link%65536)
+ return (link / ALIGNMENT_CODE, link % ALIGNMENT_CODE)
cdef _unlink(self, int link, int* f, int* e):
- f[0] = link/65536
- e[0] = link%65536
+ f[0] = link / ALIGNMENT_CODE
+ e[0] = link % ALIGNMENT_CODE
def get_sent_links(self, int sent_id):
cdef IntList sent_links