当前位置: 首页>>代码示例>>C#>>正文


C# Histogram.Value方法代码示例

本文整理汇总了C#中Histogram.Value方法的典型用法代码示例。如果您正苦于以下问题:C# Histogram.Value方法的具体用法?C# Histogram.Value怎么用?C# Histogram.Value使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Histogram的用法示例。


在下文中一共展示了Histogram.Value方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Histogram1D

        public void Histogram1D()
        {
            const string EXPECTED_1D_PRINTOUT =
                "1D Histogram\n" +
                "|ValBucket| Count|     %|Total%|\n" +
                "|---------|------|------|------|\n" +
                "|   [0..3]|     2| 66.67| 66.67|\n" +
                "|   [4..7]|     1| 33.33|100.00|\n";

            var hist = new Histogram<int>("1D Histogram",
                new Dimension<int>(
                    "ValBucket",
                    partCount: 3,
                    partitionFunc: (x, v) => {
                        return v > 7 ? 2 : (v > 3 ? 1 : 0);
                    },
                    partitionNameFunc: (i) =>
                        i == 0 ? "[0..3]" : (i == 1 ? "[4..7]" : "[8..9]")
                )
            );

            hist.Sample(1);
            hist.Sample(2);
            hist.Sample(7);

            string output = hist.ToStringReport();

            Assert.AreEqual(EXPECTED_1D_PRINTOUT, output);

            Debug.Write(output);

            int count;

            Assert.Throws<KeyNotFoundException>(delegate { var x = hist[2]; });

            Assert.AreEqual(2, hist.Value(2));
            Assert.AreEqual(1, hist.Value(7));
            Assert.AreEqual(0, hist.Value(8));
            Assert.AreEqual(2, hist[0]);
            Assert.AreEqual(1, hist[1]);
            Assert.AreEqual(true,  hist.TryGet(0, out count)); Assert.AreEqual(2, count);
            Assert.AreEqual(true,  hist.TryGet(1, out count)); Assert.AreEqual(1, count);
            Assert.AreEqual(false, hist.TryGet(2, out count));
        }
开发者ID:itadapter,项目名称:nfx,代码行数:44,代码来源:HistogramTest.cs

示例2: Histogram2D

        public void Histogram2D()
        {
            const string EXPECTED_2D_PRINTOUT =
                "2D Histogram\n" +
                "|ValBucket|    StdDev| Count|     %|Total%|\n" +
                "|---------|----------|------|------|------|\n" +
                "|   [0..3]|1.0 .. 2.0|     1| 20.00| 20.00|\n" +
                "|   [0..3]|    >  2.0|     1| 20.00| 40.00|\n" +
                "|   [4..7]|    >  2.0|     1| 20.00| 60.00|\n" +
                "|   [8..9]|    >  2.0|     2| 40.00|100.00|\n";

            var hist = new Histogram<int, double>("2D Histogram",
                new Dimension<int>(
                    "ValBucket",
                    partCount: 3,
                    partitionFunc: (x, v) => {
                        return v > 7 ? 2 : (v > 3 ? 1 : 0);
                    },
                    partitionNameFunc: (i) =>
                        i == 0 ? "[0..3]" : (i == 1 ? "[4..7]" : "[8..9]")
                ),
                new Dimension<double>(
                    "StdDev",
                    partCount: 3,
                    partitionFunc: (x, v) => v > 2.0 ? 2 : (v >= 1.0 ? 1 : 0),
                    partitionNameFunc: (i) =>
                        i == 0 ? "<  1.0" : (i == 1 ? "1.0 .. 2.0" : ">  2.0")
                )
            );

            hist.Sample(2, 1.0);
            hist.Sample(2, 5.0);
            hist.Sample(6, 2.5);
            hist.Sample(8, 2.8);
            hist.Sample(8, 3.4);

            string output = hist.ToStringReport();

            Assert.AreEqual(EXPECTED_2D_PRINTOUT, output);

            Debug.Write(output);

            Assert.AreEqual(new HistogramKeys(0, 1), hist.Keys(2, 1.0));
            Assert.AreEqual(new HistogramKeys(0, 2), hist.Keys(2, 5.0));
            Assert.AreEqual(new HistogramKeys(1, 2), hist.Keys(6, 2.5));
            Assert.AreEqual(new HistogramKeys(2, 2), hist.Keys(8, 2.8));
            Assert.AreEqual(new HistogramKeys(2, 2), hist.Keys(8, 3.4));
            Assert.AreEqual(new HistogramKeys(0, 0), hist.Keys(1, 0.9));
            Assert.AreEqual(new HistogramKeys(2, 0), hist.Keys(9, 0.5));

            Assert.AreEqual(1, hist.Value(2, 1.0));
            Assert.AreEqual(1, hist.Value(2, 5.0));
            Assert.AreEqual(1, hist.Value(6, 2.5));
            Assert.AreEqual(2, hist.Value(8, 2.8));
            Assert.AreEqual(2, hist.Value(8, 3.4));
            Assert.AreEqual(0, hist.Value(1, 0.9));
            Assert.AreEqual(0, hist.Value(9, 0.5));

            Assert.AreEqual(1, hist[0, 1]);
            Assert.AreEqual(1, hist[0, 2]);
            Assert.Throws<KeyNotFoundException>(delegate { var x = hist[0, 0]; });

            int count;

            Assert.AreEqual(false, hist.TryGet(0, 0, out count));
            Assert.AreEqual(true,  hist.TryGet(0, 1, out count)); Assert.AreEqual(1, count);
            Assert.AreEqual(true,  hist.TryGet(0, 2, out count)); Assert.AreEqual(1, count);
            Assert.AreEqual(false, hist.TryGet(1, 0, out count));
            Assert.AreEqual(false, hist.TryGet(1, 1, out count));
            Assert.AreEqual(true,  hist.TryGet(1, 2, out count)); Assert.AreEqual(1, count);
            Assert.AreEqual(false, hist.TryGet(2, 0, out count));
            Assert.AreEqual(false, hist.TryGet(2, 1, out count));
            Assert.AreEqual(true,  hist.TryGet(2, 2, out count)); Assert.AreEqual(2, count);
        }
开发者ID:itadapter,项目名称:nfx,代码行数:74,代码来源:HistogramTest.cs

示例3: Histogram3D

        public void Histogram3D()
        {
            const string EXPECTED_3D_PRINTOUT =
                "3D Histogram\n" +
                "|ValBucket|    StdDev|   Sex| Count|     %|Total%|\n" +
                "|---------|----------|------|------|------|------|\n" +
                "|   [0..3]|1.0 .. 2.0|  Male|     1| 33.33| 33.33|\n" +
                "|   [0..3]|1.0 .. 2.0|Female|     1| 33.33| 66.67|\n" +
                "|   [0..3]|    >  2.0|  Male|     1| 33.33|100.00|\n";

            var hist = new Histogram<int, double, bool>("3D Histogram",
                new Dimension<int>(
                    "ValBucket",
                    partCount: 3,
                    partitionFunc: (x, v) =>
                    {
                        return v > 7 ? 2 : (v > 3 ? 1 : 0);
                    },
                    partitionNameFunc: (i) =>
                        i == 0 ? "[0..3]" : (i == 1 ? "[4..7]" : "[8..9]")
                ),
                new Dimension<double>(
                    "StdDev",
                    partCount: 3,
                    partitionFunc: (x, v) => v > 2.0 ? 2 : (v >= 1.0 ? 1 : 0),
                    partitionNameFunc: (i) =>
                        i == 0 ? "<  1.0" : (i == 1 ? "1.0 .. 2.0" : ">  2.0")
                ),
                new Dimension<bool>(
                    "Sex",
                    partCount: 2,
                    partitionFunc: (x, v)  => v ? 0 : 1,
                    partitionNameFunc: (i) => i == 0 ? "Male" : "Female"
                )
            );

            hist.Sample(2, 1.0, true);
            hist.Sample(2, 1.1, false);
            hist.Sample(2, 5.0, true);

            string output = hist.ToStringReport();

            Assert.AreEqual(EXPECTED_3D_PRINTOUT, output);

            Debug.Write(output);

            Assert.AreEqual(new HistogramKeys(0, 1, 0), hist.Keys(2, 1.0, true));
            Assert.AreEqual(new HistogramKeys(0, 1, 1), hist.Keys(2, 1.1, false));
            Assert.AreEqual(new HistogramKeys(0, 2, 0), hist.Keys(2, 5.0, true));
            Assert.AreEqual(new HistogramKeys(2, 2, 0), hist.Keys(8, 2.8, true));
            Assert.AreEqual(new HistogramKeys(2, 2, 1), hist.Keys(8, 3.4, false));
            Assert.AreEqual(new HistogramKeys(0, 0, 0), hist.Keys(1, 0.9, true));
            Assert.AreEqual(new HistogramKeys(2, 0, 1), hist.Keys(9, 0.5, false));

            Assert.AreEqual(1, hist.Value(2, 1.0, true));
            Assert.AreEqual(1, hist.Value(2, 1.1, false));
            Assert.AreEqual(1, hist.Value(2, 5.0, true));
            Assert.AreEqual(0, hist.Value(8, 2.8, true));
            Assert.AreEqual(0, hist.Value(8, 3.4, true));
            Assert.AreEqual(0, hist.Value(1, 0.9, false));
            Assert.AreEqual(0, hist.Value(9, 0.5, false));

            Assert.AreEqual(1, hist[0, 1, 0]);
            Assert.AreEqual(1, hist[0, 1, 1]);
            Assert.Throws<KeyNotFoundException>(delegate { var x = hist[0, 0, 0]; });

            int count;

            Assert.AreEqual(false, hist.TryGet(0, 0, 0, out count));
            Assert.AreEqual(true,  hist.TryGet(0, 2, 0, out count)); Assert.AreEqual(1, count);
            Assert.AreEqual(true,  hist.TryGet(0, 1, 0, out count)); Assert.AreEqual(1, count);
            Assert.AreEqual(true,  hist.TryGet(0, 1, 1, out count)); Assert.AreEqual(1, count);
            Assert.AreEqual(false, hist.TryGet(1, 0, 0, out count));
            Assert.AreEqual(false, hist.TryGet(1, 1, 1, out count));
        }
开发者ID:itadapter,项目名称:nfx,代码行数:75,代码来源:HistogramTest.cs


注:本文中的Histogram.Value方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。