Esempio n. 1
0
        /// <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);
            //Gaussian parameters
            GaussianDistrCfg = null;
            XElement gaussianParamsElem = randomValueSettingsElem.Descendants("gaussianDistr").FirstOrDefault();

            if (gaussianParamsElem != null)
            {
                GaussianDistrCfg = new GaussianDistrSettings(gaussianParamsElem);
            }
            return;
        }
Esempio n. 2
0
 /// <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;
     GaussianDistrCfg = null;
     if (source.GaussianDistrCfg != null)
     {
         GaussianDistrCfg = source.GaussianDistrCfg.DeepClone();
     }
     return;
 }
Esempio n. 3
0
            /// <summary>
            /// See the base.
            /// </summary>
            public override bool Equals(object obj)
            {
                if (obj == null)
                {
                    return(false);
                }
                GaussianDistrSettings cmpSettings = obj as GaussianDistrSettings;

                if (Mean != cmpSettings.Mean || StdDev != cmpSettings.StdDev)
                {
                    return(false);
                }
                return(true);
            }
Esempio n. 4
0
 //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;
 }
Esempio n. 5
0
 /// <summary>
 /// Copy constructor
 /// </summary>
 /// <param name="source">Source instance</param>
 public GaussianDistrSettings(GaussianDistrSettings source)
 {
     Mean   = source.Mean;
     StdDev = source.StdDev;
     return;
 }