Exemplo n.º 1
0
def test_pow():

    assert dual(3, 1)**2 == dual(3, 1) * dual(3, 1)
    assert dual(3, 1)**0.5 == dual(3**0.5, 0.5 * 3**-0.5)
    assert 2**dual(3, 1) == dual(8, 5.545177444479562)

    with pytest.raises(TypeError):
        (4, 2)**dual(3, 1)

    with pytest.raises(TypeError):
        dual(3, 1)**(4, 2)
Exemplo n.º 2
0
def test_truediv():

    assert dual(3, 1) / dual(4, 2) == dual(12 / 16, -2 / 16)
    assert dual(3, 1) / 3 == dual(1, 1 / 3)
    assert 3 / dual(3, 1) == dual(1, -1 / 3)

    with pytest.raises(TypeError):
        dual(3, 1) / (4, 2)

    with pytest.raises(TypeError):
        (4, 2) / dual(3, 1)
Exemplo n.º 3
0
def test_getitem():

    a = dual(3, 2, 1)

    assert a[0] == 3
    assert a[1] == 2
    assert a[2] == 1
Exemplo n.º 4
0
def test_repr():

    assert repr(dual(3, 1)) == "dual(3, 1)"
Exemplo n.º 5
0
def test_dim():
    assert dual(1, 2, 3).dim == 3
Exemplo n.º 6
0
def test_inf():
    assert dual(1, 2, 3).inft == (2, 3)
Exemplo n.º 7
0
def test_mul():

    assert dual(3, 1) * dual(4, 1) == dual(12, 7)
    assert dual(3) * dual(5) == dual(15)
    assert 5 * dual(6, 2) == dual(30, 10)
    assert dual(4, 2) * 5 == dual(20, 10)

    with pytest.raises(TypeError):
        dual(3, 1) * (4, 2)

    with pytest.raises(TypeError):
        (4, 2) * dual(3, 1)
Exemplo n.º 8
0
def test_sub():
    assert dual(3, 1) - dual(4, 1) == dual(-1)
    assert dual(3, 1) - dual(3, 1, 1) == dual(0, 0, -1)
    assert dual(3, 1) - 2 == dual(1, 1)
    assert 2 - dual(3, 1) == dual(-1, -1)
Exemplo n.º 9
0
def test_add():

    assert dual(3, 1) + dual(4, 1) == dual(7, 2)
    assert dual(3, 1) + dual(3, 1, 1) == dual(6, 2, 1)
    assert dual(3, 1) + 3 == dual(6, 1)
    assert 3 + dual(3, 1) == dual(6, 1)

    with pytest.raises(TypeError):
        dual(3, 1) + (4, 1)

    with pytest.raises(TypeError):
        (4, 1) + dual(3, 1)
Exemplo n.º 10
0
def test_int():

    a = dual(3, 1)

    assert int(a) == 3
    assert isinstance(int(a), int)
Exemplo n.º 11
0
def test_hash():

    assert hash(dual(3)) == hash(3)
    assert hash(dual(3, 0)) == hash(3)
    assert hash(dual(3, 1)) == hash(dual(3, 1))
    assert hash(dual(3, 1)) != hash(dual(4, 2))
Exemplo n.º 12
0
def test_float():

    a = dual(3.5, 1.9)

    assert float(a) == 3.5
    assert isinstance(float(a), float)
Exemplo n.º 13
0
def test_ipow():

    a = dual(3, 1)
    a **= dual(4, 1)
    assert a == dual(3, 1)**dual(4, 1)
Exemplo n.º 14
0
def test_itruediv():

    a = dual(3, 1)
    a /= dual(4, 2)
    assert a == dual(12 / 16, -2 / 16)
Exemplo n.º 15
0
def test_str():
    assert str(dual(3, 1)) == "(3, 1)"
Exemplo n.º 16
0
def test_fsum():

    assert fsum([dual(1, 1), dual(2, 1), dual(3, 1), 4]) == dual(10, 3)
    assert fsum([0.1] * 10) == 1.0
Exemplo n.º 17
0
def test_neg():
    assert -dual(3, 1) == dual(-3, -1)
Exemplo n.º 18
0
def test_prod():

    assert prod([dual(3, 1), dual(4, 1), 6]) == dual(3, 1) * dual(4, 1) * 6
Exemplo n.º 19
0
def test_iadd():
    a = dual(3, 1)
    a += dual(4, 1)
    assert a == dual(7, 2)
Exemplo n.º 20
0
def test_bool():

    assert not dual()
    assert dual(3, 1)
Exemplo n.º 21
0
def test_isub():
    a = dual(3, 1)
    a -= dual(4, 2)
    assert a == dual(-1, -1)
Exemplo n.º 22
0
def test_real():
    assert dual(3, 1).real == 3
Exemplo n.º 23
0
def test_pow():

    assert dmath.pow(2, dual(3, 1)) == 2**dual(3, 1)
    assert dmath.pow(2, 3) == pow(2, 3) == 8
Exemplo n.º 24
0
def test_imul():

    a = dual(3, 1)
    a *= dual(4, 1)
    assert a == dual(12, 7)