Example #1
0
 public MyDiscreteSampler(T[] values, IEnumerable <float> densities)
 {
     Debug.Assert(values.Length == densities.Count(), "Count of densities does not correspond to the count of values!");
     m_values = new T[values.Length];
     Array.Copy(values, m_values, values.Length);
     m_sampler = new MyDiscreteSampler();
     m_sampler.Prepare(densities);
 }
Example #2
0
 public MyDiscreteSampler(List <T> values, IEnumerable <float> densities)
 {
     Debug.Assert(values.Count == densities.Count(), "Count of densities does not correspond to the count of values!");
     m_values = new T[values.Count];
     for (int i = 0; i < values.Count; ++i)
     {
         m_values[i] = values[i];
     }
     m_sampler = new MyDiscreteSampler();
     m_sampler.Prepare(densities);
 }
Example #3
0
        public MyDiscreteSampler(IEnumerable <T> values, IEnumerable <float> densities)
        {
            int count = values.Count();

            Debug.Assert(count == densities.Count(), "Count of densities does not correspond to the count of values!");
            m_values = new T[count];
            int i = 0;

            foreach (var value in values)
            {
                m_values[i] = value;
                i++;
            }
            m_sampler = new MyDiscreteSampler();
            m_sampler.Prepare(densities);
        }