コード例 #1
0
        public PointF ClosestFloats(List <float> floats)
        {
            float intervalsize = FindIntervalSize(floats);
            var   buckets      = new Buckets(2.0f * intervalsize);

            floats.ForEach(r => buckets.Add(buckets.Bucket(r), r));
            var ordered = buckets.GetBuckets();
            var pair    = ordered.SelectMany(i => buckets.CandidatesInBucket(i))
                          .OrderBy(p => Math.Abs(p.first - p.second))
                          .First();

            return(new PointF(pair.first, pair.second));
        }
コード例 #2
0
        public PointF ClosestFloats(List<float> floats)
        {
            float intervalsize = FindIntervalSize(floats);
            var buckets = new Buckets(2.0f * intervalsize);
            floats.ForEach(r => buckets.Add(buckets.Bucket(r), r));
            var ordered = buckets.GetBuckets();
            var pair = ordered.SelectMany(i => buckets.CandidatesInBucket(i))
                .OrderBy(p => Math.Abs(p.first - p.second))
                .First();

            return new PointF(pair.first, pair.second);
        }