def test_log10_constant_results():
	a = ef.log10(0.5)
	print(a,"a")
	print(np.log10(0.5),"b")
	assert a == np.log10(0.5)
	with pytest.warns(RuntimeWarning):
		b = ef.log10(0)
		assert np.isinf(b)
	with pytest.warns(RuntimeWarning):
		b = ef.log10(-0.5)
		assert np.isnan(b)
Example #2
0
def test_log10_results():
    # Realue defined at positive real numbers x > 0
    # Dualivative defined at positive real numbers x > 0
    X = Dual(0.5, 2)
    f = ef.log10(X)
    assert f.Real == np.log10(0.5)
    assert f.Dual == np.array([[(1 / ((0.5) * np.log(10))) * 2]])

    # neither Realue nor Dualivative defined at x = 0
    with pytest.warns(RuntimeWarning):
        Y = Dual(0, 2)
        f = ef.log10(Y)
        assert np.isinf(f.Real)
        assert np.isinf(f.Dual)

    # Realue not defined at x < 0, Dualivative defined
    with pytest.warns(RuntimeWarning):
        Y = Dual(-0.5, 2)
        f = ef.log10(Y)
        assert np.isnan(f.Real)
        assert f.Dual == np.array([[(2 / (-0.5 * np.log(10)))]])
def test_log10_results():
	# value defined at positive real numbers x > 0
	# derivative defined at positive real numbers x > 0
	X = AutoDiff(0.5, 2)
	f = ef.log10(X)
	assert f.val == np.log10(0.5)
	assert f.der == np.array([[(1/((0.5)*np.log(10)))*2]])
	assert f.jacobian == np.array([[(1/((0.5)*np.log(10)))*1]])
	# neither value nor derivative defined at x = 0
	with pytest.warns(RuntimeWarning):
		Y = AutoDiff(0, 2)
		f = ef.log10(Y)
		assert np.isinf(f.val)
		assert np.isinf(f.der)
		assert np.isinf(f.jacobian)
	# value not defined at x < 0, derivative defined
	with pytest.warns(RuntimeWarning):
		Y = AutoDiff(-0.5, 2)
		f = ef.log10(Y)
		assert np.isnan(f.val)
		assert f.der == np.array([[(2/(-0.5*np.log(10)))]])
		assert f.jacobian == np.array([[1/(-0.5*np.log(10))]])
def test_log10_types():
	with pytest.raises(TypeError):
		ef.log10('x')
	with pytest.raises(TypeError):
		ef.log10("1234")