From d5d2f201bfd200b89acad072cd9efcbf373ce6dc Mon Sep 17 00:00:00 2001 From: V-E-D Date: Tue, 20 May 2025 11:46:39 +0530 Subject: [PATCH] intiger div mod fix --- tinygrad/tensor.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tinygrad/tensor.py b/tinygrad/tensor.py index 8f04132289..916c4754d5 100644 --- a/tinygrad/tensor.py +++ b/tinygrad/tensor.py @@ -3471,7 +3471,11 @@ class Tensor(SimpleMathTrait): ``` """ numerator, denominator = self._broadcasted(x, reverse) - d = numerator.cast(least_upper_float(numerator.dtype)) * denominator.cast(least_upper_float(denominator.dtype)).reciprocal() + if dtypes.is_int(numerator.dtype) or dtypes.is_int(denominator.dtype): + d = numerator.cast(dtypes.float64) * denominator.cast(dtypes.float64).reciprocal() + d = d.cast(dtypes.float32) + else: + d = numerator * denominator.reciprocal() output_dtype = numerator.dtype if dtypes.is_int(numerator.dtype) else d.dtype if rounding_mode == "trunc": return d.trunc().cast(output_dtype) if rounding_mode == "floor": return d.floor().cast(output_dtype)