Yep that is a problem. NumPy's sum casts ints to np.float. But if `self.dtype` is a sub dtype of `np.float` the accumulator and output matrix are the same dtype. Fixing.