protected override void PropogateForwardCore(Step downstream)
{
Debug.Assert(InputNeurons % downstream.Upstream.Count == 0);
int neuronsPerUpstream = InputNeurons / downstream.Upstream.Count;
int inputIndex = 0;
foreach (Step upstream in downstream.Upstream)
{
Debug.Assert(inputIndex + upstream.Length <= InputNeurons);
for (int i = 0; i < neuronsPerUpstream; i++)
{
PropogateForward(downstream, upstream, i, inputIndex++);
}
}
}