def test_overload_truediv(): x = DualNumber(10,2) y = DualNumber(2,4) assert (x / y).val == 5 and (x / y).der == (2*2-10*4)/(2**2) assert (x.__rtruediv__(y)).val == 0.2 and (x.__rtruediv__(y)).der == (4*10-2*2)/(10*10) assert (x / 5).val == 2 and (x / 5).der == 0.4 assert (x / 5.0).val == 2.0 and (x / 5.0).der == 0.4 assert (5 / x).val == 0.5 and (5 / x).der == -0.1 assert (5.0 / x).val == 0.5 and (5.0 / x).der == -0.1
def rm_test_overload_truediv(): x = DualNumber(10,Reverse=True) y = DualNumber(2,Reverse=True) assert (x / y).val == 5 and (x / y).der == 0 assert (x.__rtruediv__(y)).val == 0.2 and (x.__rtruediv__(y)).der == 0 assert (x / 5).val == 2 and (x / 5).der == 0 assert (x / 5.0).val == 2.0 and (x / 5.0).der == 0 assert (5 / x).val == 0.5 and (5 / x).der == 0 assert (5.0 / x).val == 0.5 and (5.0 / x).der == 0