move tryrange to PlotUtils
This commit is contained in:
parent
50984b3bd2
commit
503d741ea6
@ -388,32 +388,14 @@ end
|
|||||||
axis_limits(plt[1], :x)
|
axis_limits(plt[1], :x)
|
||||||
catch
|
catch
|
||||||
xinv = invscalefunc(get(plotattributes, :xscale, :identity))
|
xinv = invscalefunc(get(plotattributes, :xscale, :identity))
|
||||||
xm = tryrange(f, xinv.([-5,-1,0,0.01]))
|
xm = PlotUtils.tryrange(f, xinv.([-5,-1,0,0.01]))
|
||||||
xm, tryrange(f, filter(x->x>xm, xinv.([5,1,0.99, 0, -0.01])))
|
xm, PlotUtils.tryrange(f, filter(x->x>xm, xinv.([5,1,0.99, 0, -0.01])))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
f, xmin, xmax
|
f, xmin, xmax
|
||||||
end
|
end
|
||||||
|
|
||||||
# try some intervals over which the function may be defined
|
|
||||||
function tryrange(F::AbstractArray, vec)
|
|
||||||
rets = [tryrange(f, vec) for f in F] # get the preferred for each
|
|
||||||
maxind = maximum(indexin(rets, vec)) # get the last attempt that succeeded (most likely to fit all)
|
|
||||||
rets .= [tryrange(f, vec[maxind:maxind]) for f in F] # ensure that all functions compute there
|
|
||||||
rets[1]
|
|
||||||
end
|
|
||||||
|
|
||||||
function tryrange(F, vec)
|
|
||||||
for v in vec
|
|
||||||
try
|
|
||||||
tmp = F(v)
|
|
||||||
return v
|
|
||||||
catch
|
|
||||||
end
|
|
||||||
end
|
|
||||||
error("$F is not a Function, or is not defined at any of the values $vec")
|
|
||||||
end
|
|
||||||
#
|
#
|
||||||
# # --------------------------------------------------------------------
|
# # --------------------------------------------------------------------
|
||||||
# # 2 arguments
|
# # 2 arguments
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user