//Constructors /// <summary> /// Creates an initialized instance /// </summary> /// <param name="weightCfg">Synapse's weight settings</param> /// <param name="plasticityCfg">Synapse's plasticity configuration</param> public SpikingSourceATInputSettings(URandomValueSettings weightCfg = null, PlasticityATInputSettings plasticityCfg = null ) { WeightCfg = weightCfg == null ? new URandomValueSettings(DefaultMinWeight, DefaultMaxWeight) : (URandomValueSettings)weightCfg.DeepClone(); PlasticityCfg = plasticityCfg == null ? new PlasticityATInputSettings() : (PlasticityATInputSettings)plasticityCfg.DeepClone(); Check(); return; }
/// <summary> /// Creates an initialized instance. /// </summary> /// <param name="elem">Xml element containing the initialization settings</param> public SpikingSourceATInputSettings(XElement elem) { //Validation XElement settingsElem = Validate(elem, XsdTypeName); //Parsing XElement weightSettingsElem = settingsElem.Elements("weight").FirstOrDefault(); WeightCfg = weightSettingsElem == null ? new URandomValueSettings(DefaultMinWeight, DefaultMaxWeight) : new URandomValueSettings(weightSettingsElem); XElement plasticitySettingsElem = settingsElem.Elements("plasticity").FirstOrDefault(); PlasticityCfg = plasticitySettingsElem == null ? new PlasticityATInputSettings() : new PlasticityATInputSettings(plasticitySettingsElem); Check(); return; }
/// <summary> /// The deep copy constructor /// </summary> /// <param name="source">The source instance.</param> public PlasticityATInputSettings(PlasticityATInputSettings source) : this(source.DynamicsCfg) { return; }