def test_arcsin_numeric_value(): assert np.isclose(ef.arcsin(0.2), np.arcsin(0.2))
def test_arcsin_numeric_input_no_deriv(): with pytest.raises(AttributeError): assert ef.arcsin(-0.2).der
def test_arcsin_illegal_arg(): with pytest.raises(AttributeError): assert ef.arcsin("thirty")
def test_arcsin_no_sec_derivative_xy(): x = AutoDiff(0.5, "x") y = AutoDiff(0.4, "y") with pytest.raises(AttributeError): assert ef.arcsin(x * x * y * y).der2['x']
def test_arcsin_numeric_input_no_val(): with pytest.raises(AttributeError): assert ef.arcsin(0.2).val
def test_arcsin_deriv2_y(): x = AutoDiff(0.5, "x", H=True) y = AutoDiff(0.6, "y", H=True) f = ef.arcsin(x * x * y * y) assert np.isclose(f.der2['y'], 0.5102368064604322)
def test_logit_deriv2_xy(): x = AutoDiff(0.5, "x", H=True) y = AutoDiff(0.6, "y", H=True) f = ef.arcsin(x * x * y * y) assert np.isclose(f.der2['xy'], 1.2147290303591283)
def test_arcsin_deriv2_x(): x = AutoDiff(0.5, "x", H=True) y = AutoDiff(0.6, "y", H=True) f = ef.arcsin(x * x * y * y) assert np.isclose(f.der2['x'], 0.7347410013030223)
def test_arcsin_deriv_y(): x = AutoDiff(0.5, "x") y = AutoDiff(0.6, "y") f = ef.arcsin(x * x * y * y) assert np.isclose(f.der['y'], 0.30122243130330484)
def test_arcsin_deriv_x(): x = AutoDiff(0.5, "x") y = AutoDiff(0.6, "y") f = ef.arcsin(x * x * y * y) assert np.isclose(f.der['x'], 0.3614669175639658)
def test_arcsin_val(): x = AutoDiff(0.5, "x") y = AutoDiff(0.6, "y") f = ef.arcsin(x * x * y * y) assert np.isclose(f.val, 0.09012194501459525)
def test_arcsin_val_error(): x = AutoDiff(1.1, "x") y = AutoDiff(2.2, "y") with pytest.warns(RuntimeWarning): assert ef.arcsin(x * x * y * y)