Exemplo n.º 1
0
        public override void Pulse(Connection sender, double value)
        {
            PendingValue += sender.Calculate(value);
            if (++SignalsReceived < Previous.Length)
            {
                return;
            }
            SignalsReceived = 0;
            double output = Func.Activation(PendingValue);

            LastInputSignal  = PendingValue;
            LastOutputSignal = output;
            if (Inspector != null && Inspector.TraceLevel >= 1)
            {
                Inspector.Trace(this, "Input sum={0}, output={1}", PendingValue, output);
            }
            if (Next != null)
            {
                foreach (Connection i in Next)
                {
                    i.Next.Pulse(i, output);
                }
            }
            PendingValue = 0;
        }