From f9536f3cd4d74c7d3536ce4003d95304bd2b9e24 Mon Sep 17 00:00:00 2001 From: chenyu Date: Fri, 20 Feb 2026 14:03:53 -0500 Subject: [PATCH] wrap UOp.__float__ with float [pr] (#14913) fix warning tinygrad/test/null/test_uop_resolve.py:56: DeprecationWarning: UOp.__float__ returned non-float (type ConstFloat). The ability to return an instance of a strict subclass of float is deprecated, and may be removed in a future version of Python. self.assertEqual(float(u), 11.5) --- tinygrad/uop/ops.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tinygrad/uop/ops.py b/tinygrad/uop/ops.py index efecc3de41..e42dde9577 100644 --- a/tinygrad/uop/ops.py +++ b/tinygrad/uop/ops.py @@ -368,7 +368,7 @@ class UOp(OpMixin, metaclass=UOpMetaClass): return vmin def __bool__(self): return self._eval((dtypes.bool,), bool) def __int__(self): return self._eval(dtypes.ints, int) - def __float__(self): return self._eval(dtypes.floats, float) + def __float__(self): return float(self._eval(dtypes.floats, float)) def substitute(self, dvars:dict[UOp, UOp], name:str|None=None, extra_pm:PatternMatcher|None=None): dvars = {k:v for k,v in dvars.items() if k is not v} if len(dvars) == 0: return self