From 94a74b8f3830c09af76f69f5541d1f349c78c2b3 Mon Sep 17 00:00:00 2001 From: conscell Date: Mon, 8 May 2023 12:32:58 +0900 Subject: [PATCH] Avoid unnecessary __radd__ and __rmul__ calls Changing operations order in __rtruediv__ and in __rsub__ prevents unnecessary __radd__ and __rmul__ calls. --- micrograd/engine.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/micrograd/engine.py b/micrograd/engine.py index afd82cc5..357bb555 100644 --- a/micrograd/engine.py +++ b/micrograd/engine.py @@ -79,7 +79,7 @@ def __sub__(self, other): # self - other return self + (-other) def __rsub__(self, other): # other - self - return other + (-self) + return (-self) + other def __rmul__(self, other): # other * self return self * other @@ -88,7 +88,7 @@ def __truediv__(self, other): # self / other return self * other**-1 def __rtruediv__(self, other): # other / self - return other * self**-1 + return self**-1 * other def __repr__(self): return f"Value(data={self.data}, grad={self.grad})"