/// <summary>
        /// This method returns the buckets of the histogram as an array.
        /// </summary>
        /// <param name="histogram">The histogram from which buckets are requested.</param>
        /// <returns>Returns an array with the bucket objects from the histogram.</returns>
        public static Bucket[] Buckets(this Histogram histogram)
        {
            var result = new Bucket[histogram.BucketCount];

            for (int index = 0; index < histogram.BucketCount; index++)
                result[index] = histogram[index];

            return result;
        }
 public void ValidateContains(double x, int r)
 {
     var b = new Bucket(0.0, 1.5, 10.0);
     Assert.AreEqual(r, b.Contains(x));
 }
 public void EmptyBucketWithBadCountFails()
 {
     var b = new Bucket(1.0, 0.5, -1.0);
 }
 public void EmptyBucketWithBadBoundsFails()
 {
     var b = new Bucket(1.0, 0.5);
 }
 public void CanGetBucketWidth()
 {
     var b = new Bucket(0.0, 1.0, 10.0);
     Assert.AreEqual(1.0, b.Width);
 }
 public void CanGetBucketUpperBound()
 {
     var b = new Bucket(0.0, 1.0, 10.0);
     Assert.AreEqual(1.0, b.UpperBound);
 }
        public void CanGetBucketOf()
        {
            var h = new Histogram();
            var b = new Bucket(0.0, 1.0);
            h.AddBucket(b);
            h.AddBucket(new Bucket(1.0, 2.0));
            h.AddBucket(new Bucket(2.0, 3.0));
            h.AddBucket(new Bucket(3.0, 20.0));
            h.AddBucket(new Bucket(20.0, Double.PositiveInfinity));

            Assert.AreEqual(b, h.GetBucketOf(0.1));
        }
Exemple #8
0
 /// <summary>
 /// Deep copy constructor.
 /// </summary>
 private Bucket(Bucket bucket)
 {
     this.lowerBound = bucket.lowerBound;
     this.upperBound = bucket.upperBound;
     this.depth      = bucket.depth;
 }
 public void CanCreateFilledBucket()
 {
     var b = new Bucket(0.0, 1.0, 10.0);
 }
 /// <summary>
 /// Deep copy constructor.
 /// </summary>
 private Bucket(Bucket bucket)
 {
     this.lowerBound = bucket.lowerBound;
     this.upperBound = bucket.upperBound;
     this.depth = bucket.depth;
 }
 /// <summary>
 /// Adds a <c>Bucket</c> to the <c>Histogram</c>.
 /// </summary>
 public void Add(Bucket bucket)
 {
     buckets.Add(bucket);
     areBucketsSorted = false;
 }
Exemple #12
0
 /// <summary>
 /// Adds a <c>Bucket</c> to the <c>Histogram</c>.
 /// </summary>
 public void AddBucket(Bucket bucket)
 {
     _buckets.Add(bucket);
     _areBucketsSorted = false;
 }
 /// <summary>
 /// Initializes a new instance of the Bucket class
 /// by deep copy from an existing bucket.
 /// </summary>
 private Bucket(Bucket bucket)
 {
     _lowerBound = bucket._lowerBound;
     _upperBound = bucket._upperBound;
     _depth      = bucket._depth;
 }
        public void ValidateItem()
        {
            var h = new Histogram();
            var b = new Bucket(0.0, 1.0);
            var c = new Bucket(3.0, 20.0);
            h.AddBucket(b);
            h.AddBucket(c);
            h.AddBucket(new Bucket(1.0, 2.0));
            h.AddBucket(new Bucket(2.0, 3.0));
            h.AddBucket(new Bucket(20.0, Double.PositiveInfinity));

            Assert.AreEqual(b, h[0]);
            Assert.AreEqual(c, h[3]);
        }
 public void CanGetBucketCount()
 {
     var b = new Bucket(0.0, 1.0, 10.0);
     Assert.AreEqual(10.0, b.Count);
 }
 public void CanCreateEmptyBucket()
 {
     var b = new Bucket(0.0, 1.0);
 }
Exemple #17
0
 /// <summary>
 /// Adds a <c>Bucket</c> to the <c>Histogram</c>.
 /// </summary>
 public void Add(Bucket bucket)
 {
     buckets.Add(bucket);
     areBucketsSorted = false;
 }