def test_exp_constant_results(): a = ef.exp(0) assert a == np.exp(0) b = ef.exp(5) assert b == np.exp(5) c = ef.exp(-10) assert c == np.exp(-10)
def test_exp_ad_results(): # Realue defined at all real numbers # positive numbers x = Dual(10, 2) f = ef.exp(x) assert f.Real == np.exp(10) assert f.Dual == 2 * np.exp(10) y = Dual(-5, 2) f = ef.exp(y) assert f.Real == np.exp(-5) assert f.Dual == 2 * np.exp(-5) z = Dual(0, 2) f = ef.exp(z) assert f.Real == np.exp(0) assert f.Dual == 2 * np.exp(0)
def test_exp_ad_results(): # value defined at all real numbers # positive numbers x = AutoDiff(10, 2) f = ef.exp(x) assert f.val == np.exp(10) assert f.der == 2*np.exp(10) assert f.jacobian == 1*np.exp(10) y = AutoDiff(-5, 2) f = ef.exp(y) assert f.val == np.exp(-5) assert f.der == 2*np.exp(-5) assert f.jacobian == 1*np.exp(-5) z = AutoDiff(0, 2) f = ef.exp(z) assert f.val == np.exp(0) assert f.der == 2*np.exp(0) assert f.jacobian == 1*np.exp(0)
def test_exp_types(): with pytest.raises(TypeError): ef.exp('x') with pytest.raises(TypeError): ef.exp("1234")