/// <summary> /// Copy constructor /// </summary> /// <param name="source">Source instance</param> public RandomValueSettings(RandomValueSettings source) { Min = source.Min; Max = source.Max; RandomSign = source.RandomSign; DistrType = source.DistrType; return; }
//Constructors /// <summary> /// Creates an initialized instance /// </summary> /// <param name="min">Min random value</param> /// <param name="max">Max random value</param> /// <param name="randomSign">Specifies whether to randomize value sign</param> /// <param name="distrType">Specifies what distribution to use</param> public RandomValueSettings(double min = -1, double max = 1, bool randomSign = false, RandomClassExtensions.DistributionType distrType = RandomClassExtensions.DistributionType.Uniform ) { Min = min; Max = max; RandomSign = randomSign; DistrType = distrType; return; }
//Constructors /// <summary> /// Creates an initialized instance /// </summary> /// <param name="min">Min random value</param> /// <param name="max">Max random value</param> /// <param name="randomSign">Specifies whether to randomize value sign</param> /// <param name="distrType">Specifies what distribution to use</param> /// <param name="gaussianDistrCfg">Specifies gaussian distribution parameters</param> public RandomValueSettings(double min = -1, double max = 1, bool randomSign = false, RandomClassExtensions.DistributionType distrType = RandomClassExtensions.DistributionType.Uniform, GaussianDistrSettings gaussianDistrCfg = null ) { Min = min; Max = max; RandomSign = randomSign; DistrType = distrType; GaussianDistrCfg = gaussianDistrCfg; return; }
/// <summary> /// Creates an instance and initializes it from given xml element. /// </summary> /// <param name="elem"> /// Xml data containing RandomValueSettings settings. /// Content of xml element is always validated against the xml schema. /// </param> public RandomValueSettings(XElement elem) { //Validation ElemValidator validator = new ElemValidator(); Assembly assemblyRCNet = Assembly.GetExecutingAssembly(); validator.AddXsdFromResources(assemblyRCNet, "RCNet.RandomValue.RandomValueSettings.xsd"); validator.AddXsdFromResources(assemblyRCNet, "RCNet.RCNetTypes.xsd"); XElement randomValueSettingsElem = validator.Validate(elem, "rootElem"); //Parsing Min = double.Parse(randomValueSettingsElem.Attribute("min").Value, CultureInfo.InvariantCulture); Max = double.Parse(randomValueSettingsElem.Attribute("max").Value, CultureInfo.InvariantCulture); RandomSign = bool.Parse(randomValueSettingsElem.Attribute("randomSign").Value); DistrType = RandomClassExtensions.ParseDistributionType(randomValueSettingsElem.Attribute("distribution").Value); return; }