protected override void CloneCore(ProductionNode clone) { base.CloneCore(clone); var c = (EffectableNode)clone; c.Modules = Modules.Clone(); }
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))); }
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); }
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); }
/// <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(), }); }