Flux.jl/src/compiler/graph.jl

20 lines
390 B
Julia
Raw Normal View History

2016-08-31 01:37:53 +00:00
# TODO: change the input approach
immutable ModelInput
n::Int
2016-08-31 01:37:53 +00:00
end
isinput(x) = isa(x, Constant) && isa(x.value, ModelInput)
2016-08-31 01:37:53 +00:00
bumpinput(i::ModelInput) = ModelInput(i.n + 1)
2016-08-31 01:37:53 +00:00
bumpinput(x) = x
bumpinputs(v::IVertex) = mapconst(bumpinput, v)
function spliceinputs(v::IVertex, inputs::IVertex...)
postwalk(v) do v
isinput(value(v)) ?
inputs[value(v).value.n] :
2016-08-31 01:37:53 +00:00
v
end
end