def adjust_input_types(self, indtypes):
        for i, (ity, val) in enumerate(zip(indtypes, self.norm_inputs)):
            if ity != val.dtype:
                if not hasattr(val, 'astype'):
                    msg = ("compatible signature is possible by casting but "
                           "{0} does not support .astype()").format(type(val))
                    raise TypeError(msg)
                # Cast types
                self.norm_inputs[i] = val.astype(ity)
Attempt to cast the inputs to the required types if necessary
dataset/ETHPy150Open numba/numba/numba/npyufunc/deviceufunc.py/GUFuncCallSteps.adjust_input_types