def _eval_dtype(cls, value):
        """Convert dtype into canonical form, check its applicability and return info.
        
        Parameters
        ----------
        value: np.dtype or something convertible to it.

        Returns
        -------
        value: np.dtype
        type_info: 
            Information about the dtype
        """
        value = np.dtype(value)
        if value.kind in "iu":
            type_info = np.iinfo(value)
        elif value.kind == "f":
            type_info = np.finfo(value)
        else:
            raise RuntimeError("Unsupported dtype. Only integer/floating-point types are supported.")

        return value, type_info
Convert dtype into canonical form, check its applicability and return info.
        
        Parameters
        ----------
        value: np.dtype or something convertible to it.

        Returns
        -------
        value: np.dtype
        type_info: 
            Information about the dtype