Fix deleting neuron without synapses
This commit is contained in:
parent
fc8caa8a29
commit
335dae788b
@ -266,15 +266,19 @@ namespace NanoBrain {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void Delete(Nucleus nucleus) {
|
public static void Delete(Nucleus nucleus) {
|
||||||
foreach (Synapse synapse in nucleus.synapses) {
|
if (nucleus == null)
|
||||||
if (synapse.neuron is Neuron synapse_nucleus) {
|
return;
|
||||||
if (synapse_nucleus.receivers.Count > 1) {
|
if (nucleus.synapses != null) {
|
||||||
// there is another nucleus feeding into this input nucleus
|
foreach (Synapse synapse in nucleus.synapses) {
|
||||||
synapse_nucleus.receivers.RemoveAll(r => r == nucleus);
|
if (synapse.neuron is Neuron synapse_nucleus) {
|
||||||
}
|
if (synapse_nucleus.receivers.Count > 1) {
|
||||||
else {
|
// there is another nucleus feeding into this input nucleus
|
||||||
// No other links, delete it.
|
synapse_nucleus.receivers.RemoveAll(r => r == nucleus);
|
||||||
Neuron.Delete(synapse_nucleus);
|
}
|
||||||
|
else {
|
||||||
|
// No other links, delete it.
|
||||||
|
Neuron.Delete(synapse_nucleus);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user