private void CalculateStrength(Neuron owningNeuron = null) { var StrengthTemp = Strength; SVDataPacket.Susceptibility = Susceptibility; SVDataPacket.NeuronOutput = owningNeuron.Value; SVDataPacket.State = owningNeuron.State; SVDataPacket.STW = STW; Profiler.BeginSample("Strength check"); var StrengthGainCheck = DendriteGene.Dynamics.StrengthGainSVRule.Evaluate(SVDataPacket); Profiler.EndSample(); if (StrengthGainCheck > 0) { StrengthTemp = Relaxer.Relax(1, DendriteGene.Dynamics.StrengthGain, Strength, 255f); } Profiler.BeginSample("Strength check 2"); if (Strength > 0) { var StrengthLossCheck = DendriteGene.Dynamics.StrengthLossSVRule.Evaluate(SVDataPacket); if (StrengthLossCheck > 0) { StrengthTemp = Relaxer.Relax(1, DendriteGene.Dynamics.StrengthGain, Strength, 0f); } } Strength = StrengthTemp; Profiler.EndSample(); }
private float ProcessLeakage() { if (Gene.Leakage == 0) { return(Gene.RestState); } else { return(Relaxer.Relax(6, Gene.Leakage, State, Gene.RestState)); } }
private void RelaxSusceptibility() { Susceptibility = Relaxer.Relax(RelaxationModifier, DendriteGene.Dynamics.SusceptibilityRelaxRate, Susceptibility, 0); }
private void RelaxSTWtoLTW() { STW = Relaxer.Relax(RelaxationModifier, DendriteGene.Dynamics.STWGainRate, STW, LTW); }
private void RelaxLTWToSTW() { LTW = Relaxer.Relax(RelaxationModifier, DendriteGene.Dynamics.LTWGainRate, LTW, STW); }