In [3]:
push!(LOAD_PATH, ".")
Out[3]:
In [4]:
using KrawczykMethod2D
using IntervalArithmetic
In [ ]:
In [6]:
function asin_new(x::Interval)
domain = Interval(-1, 1)
if isect(x, domain) == false
throw(DomainError)
elseif inside(x, domain)
return asin(x)
else throw(ArgumentError)
end
end
function sqrt_new(x::Interval)
domain = Interval(0, Inf)
if isect(x, domain) == false
throw(DomainError)
elseif inside(x, domain)
return sqrt(x)
else throw(ArgumentError)
end
end
Out[6]:
In [4]:
asin_new(Interval(0.5, 0.6))
Out[4]:
In [5]:
asin_new(Interval(-10, -9))
In [6]:
asin_new(Interval(-10, 1))
In [8]:
sqrt_new(asin_new(Interval(2,3)))
In [10]:
asin(0)
Out[10]:
In [11]:
asin(0.6)
Out[11]:
In [ ]: