In [3]:
push!(LOAD_PATH, ".")


Out[3]:
4-element Array{Union(ASCIIString,UTF8String),1}:
 "/Users/dsanders/development/julia/usr/local/share/julia/site/v0.3"        
 "/Users/dsanders/development/julia/usr/share/julia/site/v0.3"              
 "/Users/dsanders/Dropbox/postdocs/nikolay_kryukov/interval-methods/modules"
 "."                                                                        

In [4]:
using KrawczykMethod2D
using IntervalArithmetic


Syntax: krawczyk2d(function, [Interval(lo, hi), Interval(lo, hi)], precision [default is 64])

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]:
sqrt_new (generic function with 1 method)

In [4]:
asin_new(Interval(0.5, 0.6))


Out[4]:
Interval(5.235987755982988730771072305465838140328615665625176368291574320513027343810388e-01 with 256 bits of precision,6.435011087932843868028092287173226380415105911153123828656061187135124748116413e-01 with 256 bits of precision)

In [5]:
asin_new(Interval(-10, -9))


DomainError
while loading In[5], in expression starting on line 1

 in asin_new at In[3]:4

In [6]:
asin_new(Interval(-10, 1))


ArgumentError
while loading In[6], in expression starting on line 1

 in asin_new at In[3]:9

In [8]:
sqrt_new(asin_new(Interval(2,3)))


DomainError
while loading In[8], in expression starting on line 1

 in asin_new at In[6]:4

In [10]:
asin(0)


Out[10]:
0.0

In [11]:
asin(0.6)


Out[11]:
0.6435011087932844

In [ ]: