Closed ulupo closed 2 years ago
You are right.
In the C++ backend and the bindings, we use int64_t
as index vertice type.
But as you point out, not in the Python interface. This is a legacy from ripser.py
where they cast to int32
for their bindings.
Here:
https://github.com/giotto-ai/giotto-ph/blob/1d0c628fe5e5c5c4f712bbc1fb9ddc3acc347f9d/gph/python/ripser_interface.py#L458-L459
we convert indices to 32-bit ints. In the C++ code, is every index a 64-bit integer? It seems to me that the case of sparse matrices is one in which indices can be very large, so 64-bit ints might make sense. For dense matrices, there is no way int32 is not enough!