Use `cnp.float_t` consistently and Py_ssize_t for indices