Pragmastat 4.0.3

C#

Install from NuGet via .NET CLI:

dotnet add package Pragmastat --version 4.0.3

Install from NuGet via Package Manager Console:

NuGet\Install-Package Pragmastat -Version 4.0.3

Source code: https://github.com/AndreyAkinshin/pragmastat/tree/v4.0.3/cs

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

Demo

using static System.Console;
using Pragmastat.Functions;

namespace Pragmastat.Demo;

class Program
{
  static void Main()
  {
    var x = new Sample(0, 2, 4, 6, 8);
    WriteLine(x.Center()); // 4
    WriteLine((x + 10).Center()); // 14
    WriteLine((x * 3).Center()); // 12

    WriteLine(x.Spread()); // 4
    WriteLine((x + 10).Spread()); // 4
    WriteLine((x * 2).Spread()); // 8

    WriteLine(x.RelSpread()); // 1
    WriteLine((x * 5).RelSpread()); // 1

    var y = new Sample(10, 12, 14, 16, 18);
    WriteLine(Toolkit.Shift(x, y)); // -10
    WriteLine(Toolkit.Shift(x, x)); // 0
    WriteLine(Toolkit.Shift(x + 7, y + 3)); // -6
    WriteLine(Toolkit.Shift(x * 2, y * 2)); // -20
    WriteLine(Toolkit.Shift(y, x)); // 10

    x = new Sample(1, 2, 4, 8, 16);
    y = new Sample(2, 4, 8, 16, 32);
    WriteLine(Toolkit.Ratio(x, y)); // 0.5
    WriteLine(Toolkit.Ratio(x, x)); // 1
    WriteLine(Toolkit.Ratio(x * 2, y * 5)); // 0.2

    x = new Sample(0, 3, 6, 9, 12);
    y = new Sample(0, 2, 4, 6, 8);
    WriteLine(x.Spread()); // 6
    WriteLine(y.Spread()); // 4

    WriteLine(Toolkit.AvgSpread(x, y)); // 5
    WriteLine(Toolkit.AvgSpread(x, x)); // 6
    WriteLine(Toolkit.AvgSpread(x * 2, x * 3)); // 15
    WriteLine(Toolkit.AvgSpread(y, x)); // 5
    WriteLine(Toolkit.AvgSpread(x * 2, y * 2)); // 10

    WriteLine(Toolkit.Shift(x, y)); // 2
    WriteLine(Toolkit.AvgSpread(x, y)); // 5

    WriteLine(Toolkit.Disparity(x, y)); // 0.4
    WriteLine(Toolkit.Disparity(x + 5, y + 5)); // 0.4
    WriteLine(Toolkit.Disparity(x * 2, y * 2)); // 0.4
    WriteLine(Toolkit.Disparity(y, x)); // -0.4

    x = new Sample(
      1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
      16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30);
    y = new Sample(
      21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
      36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50);

    WriteLine(PairwiseMargin.Instance.Calc(30, 30, 1e-6)); // 276
    WriteLine(PairwiseMargin.Instance.Calc(30, 30, 1e-5)); // 328
    WriteLine(PairwiseMargin.Instance.Calc(30, 30, 1e-4)); // 390
    WriteLine(PairwiseMargin.Instance.Calc(30, 30, 1e-3)); // 464

    WriteLine(Toolkit.Shift(x, y)); // -20

    WriteLine(Toolkit.ShiftBounds(x, y, 1e-6)); // [-33, -7]
    WriteLine(Toolkit.ShiftBounds(x, y, 1e-5)); // [-32, -8]
    WriteLine(Toolkit.ShiftBounds(x, y, 1e-4)); // [-30, -10]
    WriteLine(Toolkit.ShiftBounds(x, y, 1e-3)); // [-28, -12]
  }
}

Showing the top 20 packages that depend on Pragmastat.

Packages Downloads
Perfolizer
Performance analysis toolkit
2
Perfolizer
Performance analysis toolkit
1

.NET 6.0

  • No dependencies.

.NET Standard 2.0

Version Downloads Last updated
4.0.3 1 2026/1/28
4.0.2 2 2026/1/26
4.0.1 2 2026/1/23
4.0.0 2 2026/1/23
3.2.4 2 2026/1/22
3.2.3 1 2026/1/23
3.2.2 1 2026/1/23
3.2.1 1 2026/1/23
3.2.0 1 2026/1/23
3.1.33 1 2026/1/23
3.1.32 0 2025/10/30
3.1.30 0 2025/10/12
3.1.29 1 2026/1/23
3.1.28 0 2025/10/9
3.1.27 1 2026/1/23
3.1.26 1 2026/1/23
3.1.25 0 2025/10/5
3.1.24 1 2026/1/23
3.1.23 1 2026/1/23
3.1.22 1 2026/1/23
3.1.21 0 2025/10/4
3.1.20 1 2026/1/23
3.1.19 1 2026/1/23
3.1.18 1 2026/1/23
3.1.17 1 2026/1/23
3.1.16 1 2026/1/23
3.1.15 0 2025/10/3
3.1.14 1 2026/1/23
3.1.13 1 2026/1/23
3.1.12 1 2026/1/23
3.1.11 1 2026/1/23
3.1.10 1 2026/1/23
3.1.9 0 2025/10/3
3.1.8 1 2026/1/23
3.1.7 1 2026/1/23
3.1.6 1 2026/1/23
3.1.5 1 2026/1/23
3.1.4 1 2026/1/23
3.1.3 1 2026/1/23