f(h,x) = 1/(1+exp(-(-100)))
i(h,x) = 1/(1+exp(-(100*x+100)))
out(h,x) = 1/(1+exp(-(100*x)))
c(h,c,x) = f(h,x)*c+i(h,x)*tanh(-100*h+50*x)
h(h,c,x) = out(h,x)*tanh(c)
h₀ = 0
c₀ = 0
x = [0,0,1,1,1,0]
function LSTM(h₀, c₀, X)
hs = Float64[h₀]
cs = Float64[c₀]
for x in X
ct = c(hs[end],cs[end],x)
ht = round(h(hs[end],ct,x))
push!(cs,ct)
push!(hs,ht)
end
return (hs,cs)
end
(ho,co) = LSTM(h₀, c₀,x)