Transitive closure C extension

@mwylde
Nit: please add spaces between operators