diff --git a/src/snn_utils.jl b/src/snn_utils.jl index 2b7b2c8..063854a 100644 --- a/src/snn_utils.jl +++ b/src/snn_utils.jl @@ -422,18 +422,22 @@ function neuroplasticity!(n::outputNeuron, firedNeurons::Vector, # add new synaptic connection to neuron for (i, connIndex) in enumerate(zeroWeightConnIndex) newConn::Int64 = 0 - try + if length(nFiredPool) != 0 newConn = popfirst!(nFiredPool) - catch + elseif length(nNonFiredPool) != 0 newConn = popfirst!(nNonFiredPool) + else + # skip end - """ conn that is being replaced has to go into nNonFiredPool so nNonFiredPool isn't empty - """ - push!(nNonFiredPool, n.subscriptionList[connIndex]) - n.subscriptionList[connIndex] = newConn - n.wRec[connIndex] = w[i] * nExInTypeList[newConn] - n.synapticStrength[connIndex] = synapticStrength[i] + if newConn != 0 + """ conn that is being replaced has to go into nNonFiredPool so nNonFiredPool isn't empty + """ + push!(nNonFiredPool, n.subscriptionList[connIndex]) + n.subscriptionList[connIndex] = newConn + n.wRec[connIndex] = w[i] * nExInTypeList[newConn] + n.synapticStrength[connIndex] = synapticStrength[i] + end end end