Ejemplo n.º 1
0
        internal static OutputGroup Create(string name, SimDataItem <OutputRequest> simDataItem)
        {
            var serieInputs = simDataItem.Item.SerieInputs.AssertRight("No serie inputs");

            RequireTrue(serieInputs.Count > 1);

            var parameterValues = new SortedDictionary <string, List <double> >();
            var defaultInput    = simDataItem.Simulation.SimConfig.SimInput;

            serieInputs.Iter(i =>
            {
                var edits = defaultInput.GetEdits(i);

                edits.Filter(p => !IsNaN(p.Scalar)).Iter(p =>
                {
                    if (!parameterValues.ContainsKey(p.Name))
                    {
                        parameterValues.Add(p.Name, new List <double>(serieInputs.Count));
                    }

                    parameterValues[p.Name].Add(p.Scalar);
                });
            });

            var serieInputHashes = serieInputs.Map(i => i.Hash);

            return(Create(name, parameterValues, serieInputHashes, defaultInput));
        }
Ejemplo n.º 2
0
 public static bool IsResetEvent<T>(this SimDataItem<T> item) =>
   item.RequestToken.Resolve(out SimDataEvent @event) && @event == SimDataEvent.ServiceReset;