Makes sure that test suite runs (without the parts that depend on meshio and matplotlib which both are currently broken with numpy==2) with numpy==2 nightly build.
Changed all occurences of np.is1d to np.isin
Made sure that inputs to np.isin are of type np.int64 and not np.uint64
Note that meshio does not currently work with numpy==2 because of removed functionality. Because meshio is an optional dependency of scikit-fem, I don't currently plan to enforce numpy<2 here. Even though meshio is inactive, fix to meshio is quite easy (replacing some np.string with np.bytes) so perhaps it will happen.
It is still possible that some code breaks because we do not guard against stuff like np.uint64 going into np.isin and other functions used within scikit-fem that will be, for some reason, more stricter of their type in numpy==2. It is not entirely clear to me what change in numpy==2 causes this, and it might even be a bug because I am testing against a nightly build.
Makes sure that test suite runs (without the parts that depend on meshio and matplotlib which both are currently broken with numpy==2) with numpy==2 nightly build.
Note that meshio does not currently work with numpy==2 because of removed functionality. Because meshio is an optional dependency of scikit-fem, I don't currently plan to enforce numpy<2 here. Even though meshio is inactive, fix to meshio is quite easy (replacing some np.string with np.bytes) so perhaps it will happen.
It is still possible that some code breaks because we do not guard against stuff like np.uint64 going into np.isin and other functions used within scikit-fem that will be, for some reason, more stricter of their type in numpy==2. It is not entirely clear to me what change in numpy==2 causes this, and it might even be a bug because I am testing against a nightly build.