Пример #1
0
        public double GetOverlap(SimpleRange range2)
        {
            //TODO: TEMP
            return(0d);

            double min         = Math.Max(range2.Minimum, Minimum);
            double max         = Math.Min(range2.Maximum, Maximum);
            int    totalWeight = 0;

            int rangeSize  = (int)((max - min) / GeneralConfig.RangeCellSize);
            int rangeStart = (int)((min - Minimum) / GeneralConfig.RangeCellSize);
            int rangeEnd   = rangeStart + rangeSize;

            int result = 0;

            for (int i = rangeStart; i <= rangeEnd; i++)
            {
                result      += CellWeights[i];
                totalWeight += (int)Math.Abs(CellWeights[i]);
            }

            if (totalWeight == 0)
            {
                return(0d);
            }

            return((double)result / totalWeight);
        }
Пример #2
0
        public void CombineRange(SimpleRange sr, bool additive)
        {
            //TODO: TEMP
            return;

            double min = Math.Max(sr.Minimum, Minimum);
            double max = Math.Min(sr.Maximum, Maximum);

            int rangeSize  = (int)Math.Round(((max - min) / GeneralConfig.RangeCellSize), GeneralConfig.RangeCellSizePrecision);
            int rangeStart = (int)((min - Minimum) / GeneralConfig.RangeCellSize);

            for (int i = rangeStart; i <= rangeStart + rangeSize; i++)
            {
                if (additive)
                {
                    CellWeights[i]++;
                }
                else
                {
                    CellWeights[i]--;
                }
            }
        }
Пример #3
0
 public void Set(SimpleRange sr)
 {
     Maximum = sr.Maximum;
     Minimum = sr.Minimum;
 }
Пример #4
0
 public DoubleRange(SimpleRange sr) : this(sr.Minimum, sr.Maximum)
 {
 }