A Python C module wrapper for the SA-IS algorithm implementation by Yuta Mori. Additionally includes an implementation of a linear LCP construction algirthm.
The idea to create a C module wrapper was inspired by the CTypes wrapper from David Hughes.
./setup.py build
./setup.py test # optional
./setup.py install
importpysaisimportnumpyasnpsequence='mississippi$'sa=pysais.sais(sequence)
lcp, lcp_lm, lcp_mr=pysais.lcp(sequence, sa)
foroffinsa :
print'%3d : %s'% (off, sequence[off:])
array=np.array([2, 3, 1, 0], dtype=np.int32)
sa_int=pysais.sais_int(array, 4)
lcp_int, lcp_lm_int, lcp_mr_int=pysais.lcp_int(array, sa_int)The code is available under the MIT license (see LICENSE file).