Пример #1
0
 //Constructors
 /// <summary>
 /// Creates an initialized instance.
 /// </summary>
 /// <param name="delayMethod">The synaptic delay method.</param>
 /// <param name="maxDelay">The maximum synaptic delay.</param>
 /// <param name="relShare">The relative share.</param>
 /// <param name="analogSourceCfg">The configuration of the synapse connecting analog presynaptic neuron.</param>
 /// <param name="spikingSourceCfg">The configuration of the synapse connecting spiking presynaptic neuron.</param>
 public SynapseSTInhibitorySettings(Synapse.SynapticDelayMethod delayMethod = DefaultDelayMethod,
                                    int maxDelay    = DefaultMaxDelay,
                                    double relShare = DefaultRelShare,
                                    AnalogSourceSettings analogSourceCfg = null,
                                    SpikingSourceSTInhibitorySettings spikingSourceCfg = null
                                    )
 {
     DelayMethod      = delayMethod;
     MaxDelay         = maxDelay;
     RelShare         = relShare;
     AnalogSourceCfg  = analogSourceCfg == null ? new AnalogSourceSettings() : (AnalogSourceSettings)analogSourceCfg.DeepClone();
     SpikingSourceCfg = spikingSourceCfg == null ? new SpikingSourceSTInhibitorySettings() : (SpikingSourceSTInhibitorySettings)spikingSourceCfg.DeepClone();
     Check();
     return;
 }
Пример #2
0
        /// <summary>
        /// Creates an initialized instance.
        /// </summary>
        /// <param name="elem">A xml element containing the configuration data.</param>
        public SynapseSTInhibitorySettings(XElement elem)
        {
            //Validation
            XElement settingsElem = Validate(elem, XsdTypeName);

            //Parsing
            DelayMethod = (Synapse.SynapticDelayMethod)Enum.Parse(typeof(Synapse.SynapticDelayMethod), settingsElem.Attribute("delayMethod").Value, true);
            MaxDelay    = int.Parse(settingsElem.Attribute("maxDelay").Value, CultureInfo.InvariantCulture);
            RelShare    = double.Parse(settingsElem.Attribute("relShare").Value, CultureInfo.InvariantCulture);
            XElement analogSourceElem = settingsElem.Elements("analogSource").FirstOrDefault();

            AnalogSourceCfg = analogSourceElem == null ? new AnalogSourceSettings() : new AnalogSourceSettings(analogSourceElem);
            XElement spikingSourceElem = settingsElem.Elements("spikingSource").FirstOrDefault();

            SpikingSourceCfg = spikingSourceElem == null ? new SpikingSourceSTInhibitorySettings() : new SpikingSourceSTInhibitorySettings(spikingSourceElem);
            Check();
            return;
        }
Пример #3
0
 /// <summary>
 /// The deep copy constructor
 /// </summary>
 /// <param name="source">Source instance</param>
 public SpikingSourceSTInhibitorySettings(SpikingSourceSTInhibitorySettings source)
     : this(source.WeightCfg, source.PlasticityCfg)
 {
     return;
 }