Pragmastat 12.0.1

C#

Install from NuGet via .NET CLI:

dotnet add package Pragmastat --version 12.0.1

Install from NuGet via Package Manager Console:

NuGet\Install-Package Pragmastat -Version 12.0.1

Source code: https://github.com/AndreyAkinshin/pragmastat/tree/v12.0.1/cs

Pragmastat on NuGet: https://www.nuget.org/packages/Pragmastat/

Demo

using static System.Console;
using Pragmastat.Distributions;
using Pragmastat.Randomization;

namespace Pragmastat.Demo;

class Program
{
  static void Main()
  {
    // --- One-Sample ---

    var x = new Sample(Enumerable.Range(1, 200).Select(i => (double)i).ToArray());

    WriteLine(x.Center());                    // 100.5
    WriteLine(x.CenterBounds());              // [86;115]
    WriteLine(x.Spread());                    // 59
    WriteLine(x.SpreadBounds(1e-3, "demo")); // [44;87]

    // --- Two-Sample ---

    x = new Sample(Enumerable.Range(1, 200).Select(i => (double)i).ToArray());
    var y = new Sample(Enumerable.Range(101, 200).Select(i => (double)i).ToArray());

    WriteLine(x.Shift(y));                        // -100
    WriteLine(x.ShiftBounds(y));                  // [-120;-80]
    WriteLine(x.Ratio(y));                        // 0.5008354224706334
    WriteLine(x.RatioBounds(y));                  // [0.4066666666666668;0.5958333333333332]
    WriteLine(x.Disparity(y));                    // -1.694915254237288
    WriteLine(x.DisparityBounds(y, 1e-3, "demo")); // [-3.1025641025641026;-0.8494623655913979]

    // --- Randomization ---

    var rng = new Rng("demo-uniform");
    WriteLine(rng.UniformDouble()); // 0.2640554428629759
    WriteLine(rng.UniformDouble()); // 0.9348534835582796

    rng = new Rng("demo-uniform-int");
    WriteLine(rng.UniformInt32(0, 100)); // 41

    rng = new Rng("demo-sample");
    WriteLine(string.Join(", ", rng.Sample([0.0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 3))); // 3, 8, 9

    rng = new Rng("demo-resample");
    WriteLine(string.Join(", ", rng.Resample([1.0, 2, 3, 4, 5], 7))); // 3, 1, 3, 2, 4, 1, 2

    rng = new Rng("demo-shuffle");
    WriteLine(string.Join(", ", rng.Shuffle([1.0, 2, 3, 4, 5]))); // 4, 2, 3, 5, 1

    // --- Distributions ---

    rng = new Rng("demo-dist-additive");
    WriteLine(new Additive(0, 1).Sample(rng)); // 0.17410448679568188

    rng = new Rng("demo-dist-multiplic");
    WriteLine(new Multiplic(0, 1).Sample(rng)); // 1.1273244602673853

    rng = new Rng("demo-dist-exp");
    WriteLine(new Exp(1).Sample(rng)); // 0.6589065267276553

    rng = new Rng("demo-dist-power");
    WriteLine(new Power(1, 2).Sample(rng)); // 1.023677535537084

    rng = new Rng("demo-dist-uniform");
    WriteLine(new Uniform(0, 10).Sample(rng)); // 6.54043657816832
  }
}

Showing the top 20 packages that depend on Pragmastat.

Packages Downloads
Perfolizer
Performance analysis toolkit
10
Perfolizer
Performance analysis toolkit
9
Perfolizer
Performance analysis toolkit
5
Perfolizer
Performance analysis toolkit
4
Perfolizer
Performance analysis toolkit
3
Perfolizer
Performance analysis toolkit
2
Perfolizer
Performance analysis toolkit
1

.NET 6.0

  • No dependencies.

.NET Standard 2.0

Version Downloads Last updated
12.0.1 2 2026/3/20
12.0.0 2 2026/3/24
11.1.1 3 2026/3/4
11.1.0 2 2026/3/4
11.0.1 3 2026/3/5
11.0.0 2 2026/3/4
10.0.6 2 2026/2/24
10.0.5 2 2026/2/24
10.0.4 2 2026/3/27
10.0.3 2 2026/2/27
10.0.2 2 2026/2/27
10.0.1 2 2026/2/27
10.0.0 2 2026/2/21
9.0.0 3 2026/2/18
8.0.0 3 2026/2/18
7.0.1 3 2026/2/15
7.0.0 3 2026/2/19
6.0.1 4 2026/2/9
6.0.0 3 2026/2/9
5.2.1 5 2026/2/8
5.2.0 4 2026/2/8
5.1.0 5 2026/2/8
5.0.0 7 2026/2/1
4.0.3 5 2026/2/3
4.0.2 3 2026/2/19
4.0.1 5 2026/2/6
4.0.0 3 2026/2/3
3.2.4 6 2025/11/13
3.2.3 5 2025/11/13
3.2.2 7 2025/11/13
3.2.1 8 2025/11/3
3.2.0 7 2025/11/4
3.1.33 6 2025/11/5
3.1.32 6 2025/11/5
3.1.30 7 2025/11/4
3.1.29 7 2025/11/5
3.1.28 6 2025/11/5
3.1.27 6 2025/11/5
3.1.26 8 2025/11/5
3.1.25 8 2025/11/4
3.1.24 7 2025/11/4
3.1.23 8 2025/11/4
3.1.22 8 2025/11/4
3.1.21 8 2025/11/5
3.1.20 8 2025/11/4
3.1.19 9 2025/11/5
3.1.18 8 2025/11/5
3.1.17 7 2025/11/5
3.1.16 8 2025/11/4
3.1.15 7 2025/11/4
3.1.14 7 2025/11/4
3.1.13 7 2025/11/4
3.1.12 7 2025/11/4
3.1.11 7 2025/11/4
3.1.10 8 2025/11/4
3.1.9 8 2025/11/4
3.1.8 8 2025/11/4
3.1.7 8 2025/11/4
3.1.6 7 2025/11/4
3.1.5 7 2025/11/4
3.1.4 6 2025/11/4
3.1.3 8 2025/11/4