def test_log_numeric_value(): assert np.isclose(ef.log(4), np.log(4))
def test_log_numeric_input_no_deriv(): with pytest.raises(AttributeError): assert ef.log(30).der
def test_log_illegal_arg(): with pytest.raises(AttributeError): assert ef.log("thirty")
def test_log_no_sec_derivative_xy(): x = AutoDiff(4, "x") y = AutoDiff(5, "y") with pytest.raises(AttributeError): assert ef.log(x * x * y * y).der2['x']
def test_log_no_sec_derivative_(): x = AutoDiff(4, "x") with pytest.raises(AttributeError): assert ef.log(x).der2['x']
def test_log_deriv2_xy(): x = AutoDiff(4, "x", H=True) y = AutoDiff(5, "y", H=True) f = ef.log(x * x * y * y) assert np.isclose(f.der2['xy'], 0)
def test_log_deriv_y(): x = AutoDiff(4, "x") y = AutoDiff(5, "y") f = ef.log(x * x * y * y) assert np.isclose(f.der['y'], 0.4)
def test_log_val(): x = AutoDiff(4, "x") y = AutoDiff(5, "y") f = ef.log(x * x * y * y) assert np.isclose(f.val, 5.991464547107982)