コード例 #1
0
        public virtual ParameterValuesCache Clone()
        {
            var clone = new ParameterValuesCache();

            AllParameterValues.Each(x => clone.Add(x.Clone()));
            return(clone);
        }
コード例 #2
0
        public virtual void Merge(ParameterValuesCache parameterValuesCache, PathCache <IParameter> parameterCache)
        {
            var numberOfNewItems = parameterValuesCache.numberOfValuesPerPath;
            var currentCount     = numberOfValuesPerPath;

            foreach (var parameterPath in parameterValuesCache.AllParameterPaths())
            {
                if (!Has(parameterPath))
                {
                    addDefaultValues(parameterCache, parameterPath, currentCount);
                }

                ParameterValuesFor(parameterPath).Merge(parameterValuesCache.ParameterValuesFor(parameterPath));
            }

            //fill up the one missing
            foreach (var parameterPath in AllParameterPaths())
            {
                if (!parameterValuesCache.Has(parameterPath))
                {
                    addDefaultValues(parameterCache, parameterPath, numberOfNewItems);
                }
            }
        }
コード例 #3
0
 public virtual void RenamePath(string oldPath, string newPath) => ParameterValuesCache.RenamePath(oldPath, newPath);
コード例 #4
0
 public virtual void Add(IReadOnlyCollection <ParameterValue> parameterValues) => ParameterValuesCache.Add(parameterValues);
コード例 #5
0
 public virtual void Add(ParameterValues parameterValues) => ParameterValuesCache.Add(parameterValues);
コード例 #6
0
 public ParameterValues GetOrAddParameterValuesFor(string parameterPath) => ParameterValuesCache.GetOrAddParameterValuesFor(parameterPath);
コード例 #7
0
 public virtual ParameterValues ParameterValuesFor(string parameterPath) => ParameterValuesCache.ParameterValuesFor(parameterPath);
コード例 #8
0
 public virtual void SetValues(string parameterPath, IReadOnlyList <double> newValues) => ParameterValuesCache.SetValues(parameterPath, newValues);
コード例 #9
0
 public virtual IndividualValuesCache Clone()
 {
     return(new IndividualValuesCache(ParameterValuesCache.Clone(), CovariateValuesCache.Clone(), new List <int>(IndividualIds)));
 }
コード例 #10
0
 public double[] GetPercentiles(string parameterPath) => ParameterValuesCache.GetPercentiles(parameterPath);
コード例 #11
0
 public virtual string[] AllParameterPaths() => ParameterValuesCache.AllParameterPaths();
コード例 #12
0
 public virtual IReadOnlyList <double> PercentilesFor(string parameterPath) => ParameterValuesCache.PercentilesFor(parameterPath);
コード例 #13
0
 public virtual bool Has(string parameterPath) => ParameterValuesCache.Has(parameterPath);
コード例 #14
0
 public IndividualValuesCache(ParameterValuesCache parameterValuesCache, CovariateValuesCache covariateValuesCache, List <int> individualIds)
 {
     ParameterValuesCache = parameterValuesCache;
     CovariateValuesCache = covariateValuesCache;
     IndividualIds        = individualIds;
 }
コード例 #15
0
 public ParameterValue[] AllParameterValuesAt(int indexOfIndividual) => ParameterValuesCache.AllParameterValuesAt(indexOfIndividual);
コード例 #16
0
 public virtual void Merge(IndividualValuesCache individualValuesCache, PathCache <IParameter> parameterCache)
 {
     IndividualIds.AddRange(individualValuesCache.IndividualIds);
     CovariateValuesCache.Merge(individualValuesCache.CovariateValuesCache);
     ParameterValuesCache.Merge(individualValuesCache.ParameterValuesCache, parameterCache);
 }
コード例 #17
0
 public virtual void Remove(string parameterPath) => ParameterValuesCache.Remove(parameterPath);