//Constructors /// <summary> /// Creates an initialized instance /// </summary> /// <param name="spectralRadius">Spectral radius</param> /// <param name="inputSynCfg">Input synapse settings</param> /// <param name="indifferentSynCfg">Indifferent synapse settings</param> public SynapseATSettings(double spectralRadius = DefaultSpectralRadiusNum, SynapseATInputSettings inputSynCfg = null, SynapseATIndifferentSettings indifferentSynCfg = null ) { SpectralRadius = spectralRadius; InputSynCfg = inputSynCfg == null ? new SynapseATInputSettings() : (SynapseATInputSettings)inputSynCfg.DeepClone(); IndifferentSynCfg = indifferentSynCfg == null ? new SynapseATIndifferentSettings() : (SynapseATIndifferentSettings)indifferentSynCfg.DeepClone(); Check(); return; }
/// <summary> /// Creates an initialized instance. /// </summary> /// <param name="elem">Xml element containing the initialization settings</param> public SynapseATSettings(XElement elem) { //Validation XElement settingsElem = Validate(elem, XsdTypeName); //Parsing string attrValue = settingsElem.Attribute("spectralRadius").Value; SpectralRadius = attrValue == NASpectralRadiusCode ? NASpectralRadiusNum : double.Parse(attrValue, CultureInfo.InvariantCulture); XElement inputSynElem = settingsElem.Elements("input").FirstOrDefault(); InputSynCfg = inputSynElem == null ? new SynapseATInputSettings() : new SynapseATInputSettings(inputSynElem); XElement indifferentSynElem = settingsElem.Elements("indifferent").FirstOrDefault(); IndifferentSynCfg = indifferentSynElem == null ? new SynapseATIndifferentSettings() : new SynapseATIndifferentSettings(indifferentSynElem); Check(); return; }
/// <summary> /// The deep copy constructor /// </summary> /// <param name="source">Source instance</param> public SynapseATIndifferentSettings(SynapseATIndifferentSettings source) : this(source.DelayMethod, source.MaxDelay, source.AnalogSourceCfg, source.SpikingSourceCfg) { return; }