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) {
|
||||
foreach (Synapse synapse in nucleus.synapses) {
|
||||
if (synapse.neuron is Neuron synapse_nucleus) {
|
||||
if (synapse_nucleus.receivers.Count > 1) {
|
||||
// there is another nucleus feeding into this input nucleus
|
||||
synapse_nucleus.receivers.RemoveAll(r => r == nucleus);
|
||||
}
|
||||
else {
|
||||
// No other links, delete it.
|
||||
Neuron.Delete(synapse_nucleus);
|
||||
if (nucleus == null)
|
||||
return;
|
||||
if (nucleus.synapses != null) {
|
||||
foreach (Synapse synapse in nucleus.synapses) {
|
||||
if (synapse.neuron is Neuron synapse_nucleus) {
|
||||
if (synapse_nucleus.receivers.Count > 1) {
|
||||
// there is another nucleus feeding into this input nucleus
|
||||
synapse_nucleus.receivers.RemoveAll(r => r == nucleus);
|
||||
}
|
||||
else {
|
||||
// No other links, delete it.
|
||||
Neuron.Delete(synapse_nucleus);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user