add cdef method
add type hint for cython
add cython test in .travis.yml