Пример #1
0
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
Пример #2
0
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