Exemplo n.º 1
0
def test_overload_power():
    x = DualNumber(2,2)
    y = DualNumber(3,4)

    assert (x**y).val == 8 and (x**y).der == 8*(3/2*2+4*np.log(2))
    assert (x.__rpow__(y)).val == 9 and (x.__rpow__(y)).der == 9*(2/3*4+2*np.log(3))
    assert (x**2).val == 4 and (x**2).der == 8
    assert (x**2.0).val == 4 and (x**2.0).der == 8
    assert (2**x).val == 4 and (2**x).der == np.log(2)*4*2
    assert (2.0**x).val == 4 and (2.0**x).der == np.log(2)*4*2
Exemplo n.º 2
0
def rm_test_overload_power():
    x = DualNumber(2,Reverse=True)
    y = DualNumber(3,Reverse=True)

    assert (x**y).val == 8 and (x**y).der == 0
    assert (x.__rpow__(y)).val == 9 and (x.__rpow__(y)).der == 0
    assert (x**2).val == 4 and (x**2).der == 0
    assert (x**2.0).val == 4 and (x**2.0).der == 0
    assert (2**x).val == 4 and (2**x).der == 0
    assert (2.0**x).val == 4 and (2.0**x).der == 0