If I have a function with many methods, how do I tell which method is being 
used? For example, if I call

julia> using ApproxFun

julia> Fun(x -> x^2)
Fun{Ultraspherical{0},Float64}([0.5,4.04093e-17,0.5],Ultraspherical{0}(Interval{Float64}(-1.0,1.0)))

which of the 35 available methods got used?

julia> methods(Fun)
# 35 methods for generic function "Fun":
Fun{S<:FunctionSpace{T,D},T<:Number}(coefficients::Array{T<:Number,1},space::S<:FunctionSpace{T,D})
Fun{T,D}(f::Function,d::FunctionSpace{T,D},n::Integer) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:17
Fun(f::Function,d::FunctionSpace{T,D},n::Integer) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:1
Fun(f::Fun{S<:FunctionSpace{T,D},T<:Number},d::FunctionSpace{T,D}) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:54
Fun{T<:FunctionSpace{T,D}}(f::Fun{S<:FunctionSpace{T,D},T<:Number},::Type{T<:FunctionSpace{T,D}})
 
at /Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:55
Fun{T<:FunctionSpace{T,D}}(c::Number,::Type{T<:FunctionSpace{T,D}}) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:71
Fun(c::Number) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:68
Fun{T<:Number}(cfs::Array{T<:Number,1}) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:204
Fun(cfs::Array{Any,1}) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:212
Fun(f::Function) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Multivariate/Multivariate.jl:34
Fun{T<:FunctionSpace{T,D}}(f,::Type{T<:FunctionSpace{T,D}}) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:60
Fun{T<:FunctionSpace{T,D}}(f,::Type{T<:FunctionSpace{T,D}},n::Integer) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:61
Fun(c::Number,d::Domain{T<:Number}) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:72
Fun(f::Function,d::Domain{T<:Number}) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:191
Fun(f,d::Domain{T<:Number}) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:63
Fun(f,dx::Domain{T<:Number},dy::Domain{T<:Number}) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Multivariate/Multivariate.jl:29
Fun(f,d::Domain{T<:Number},n) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:64
Fun{T<:Domain{T<:Number}}(f,::Type{T<:Domain{T<:Number}}) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:65
Fun(c::Number,d::FunctionSpace{T,D}) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:73
Fun{T<:Domain{T<:Number}}(c::Number,dl::Array{T<:Domain{T<:Number},1}) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:77
Fun{T<:Domain{T<:Number}}(f,dl::Array{T<:Domain{T<:Number},1}) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:78
Fun{T<:Domain{T<:Number}}(f,dl::Array{T<:Domain{T<:Number},1},n::Integer) 
at /Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:79
Fun(f::Function,d::FunctionSpace{T,D}) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:176
Fun(f::Function,n::Integer) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:202
Fun{T<:Number}(f::Function,d::Array{T<:Number,1},n::Integer) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:203
Fun{T<:Number,M<:Number}(cfs::Array{M<:Number,1},d::Array{T<:Number,1}) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:205
Fun{T<:Number}(f::Function,d::Array{T<:Number,1}) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:206
Fun{T<:Number}(f::Number,d::Array{T<:Number,1}) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:207
Fun(cfs::Array{Any,1},s::FunctionSpace{T,D}) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Fun/constructors.jl:216
Fun(f,S::TensorSpace{S<:FunctionSpace{T,D},T<:FunctionSpace{T,D}},n...) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Multivariate/Multivariate.jl:26
Fun(f,S::AbstractProductSpace{S,T},n...) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Multivariate/Multivariate.jl:27
Fun(f,S::MultivariateDomain,n...) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Multivariate/Multivariate.jl:28
Fun(f,dx::Array{T,1},dy::Array{T,1}) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Multivariate/Multivariate.jl:30
Fun{T<:Number,S}(A::Array{T<:Number,2},sp::ArraySpace{S,1,T,D<:Domain{T<:Number}})
 
at /Users/dom/.julia/v0.3/ApproxFun/src/Spaces/Modifier/ArraySpace.jl:145
Fun{T<:Number}(M::Array{T<:Number,2},sp::FunctionSpace{T,D}) at 
/Users/dom/.julia/v0.3/ApproxFun/src/Spaces/Modifier/ArraySpace.jl:141

Reply via email to