Пример #1
0
        protected override void CloneCore(ProductionNode clone)
        {
            base.CloneCore(clone);
            var c = (EffectableNode)clone;

            c.Modules = Modules.Clone();
        }
Пример #2
0
        public static string GetFittedDataPreview(ref Culture culture, NeuralParameters parameters)
        {
            var raw    = Modules.Clone(culture.GrowthMeasurements.GetMeasurements(DataType.Raw));
            var fitted = Modules.ProccessedAndFitDatapoints(raw, 0, parameters, TrueODCalibartionFunction);

            culture.GrowthMeasurements.SetMeasurements(fitted, DataType.ProcessedFitted);

            var lag   = new MacroLagData();
            var yield = new MacroYieldData();
            var gt    = new MacroRateData();

            if (Modules.NoGrowth(fitted))
            {
                lag.Lag     = 48;
                yield.Yield = double.NaN;
                gt.GT       = double.NaN;
            }
            else
            {
                lag   = Modules.GetLag(fitted);
                yield = Modules.GetYield(fitted);
                gt    = Modules.GetGT(fitted);
            }
            string format = "00.0000";

            return(string.Format(CultureInfo.InvariantCulture, "Prev Lag = {0}, Fitted Lag = {1} \r\nPrev GT = {2}, Fitted Rate = {3} \r\nPrev Yield = {4}, Fitted Yield = {5}", culture.Lag.ToString(format), lag.Lag.ToString(format), culture.Rate.ToString(format), gt.GT.ToString(format), culture.Yield.ToString(format), yield.Yield.ToString(format)));
        }
Пример #3
0
        private static void SetNNSmoothProcessed(Culture culture, List <GrowthMeasurement> smooth)
        {
            var neuro  = new Neural();
            var fitted = Modules.Clone(smooth);

            fitted = neuro.GetFittedData(fitted);
            culture.GrowthMeasurements.SetMeasurements(fitted, DataType.Fitted);
        }
Пример #4
0
        private static void SetRawFilteredData(bool apply, List <GrowthMeasurement> raw, ref Culture culture)
        {
            if (!apply)
            {
                return;
            }
            var filteredRaw = Modules.Clone(raw);

            filteredRaw = Modules.ApplyMedianFiter(filteredRaw);
            culture.GrowthMeasurements.SetMeasurements(filteredRaw, DataType.RawFiltered);
        }
Пример #5
0
 /// <summary>
 /// Create a deep clone of the runtime data object.
 /// </summary>
 public object Clone()
 {
     return(new RuntimeData()
     {
         Types = (AvailableTypeData)Types.Clone(),
         Modules = (JsonCaseInsensitiveStringDictionary <JsonDictionary <Version, ModuleData> >)Modules.Clone(),
         NativeCommands = (JsonCaseInsensitiveStringDictionary <NativeCommandData[]>)NativeCommands.Clone(),
     });
 }