This commit is contained in:
h z
2024-06-21 21:48:07 +08:00
commit 42ba33d229
129 changed files with 10711 additions and 0 deletions

View File

@@ -0,0 +1,100 @@
using System.Numerics;
using Skeleton.Algebra.DimensionProviders;
namespace Skeleton.Constants;
using DiagR4 = Algebra.CategoryOf<IDim4>.OnField<double>.FDiagonalMatrix;
using DiagR3 = Algebra.CategoryOf<IDim3>.OnField<double>.FDiagonalMatrix;
/// <summary>
/// constants
/// </summary>
public static class AlgebraConstant
{
/// <summary>
/// sqrt of pi
/// </summary>
public const double SqrtPi = 1.772453850905516027298167483341145182797549456122387128213807789852911284183d;
/// <summary>
/// erf(1)
/// </summary>
public const double Erf1 = 0.8427007877600066754197883d;
/// <summary>
/// erfc(1)
/// </summary>
public const double Erfc1 = 1 - Erf1;
/// <summary>
/// erf(2)
/// </summary>
public const double Erf2 = 0.9953222650189527341620691d;
/// <summary>
/// erfc(2)
/// </summary>
public const double Erfc2 = 1 - Erf2;
/// <summary>
/// pi * pi
/// </summary>
public const double PI2 = Math.PI * Math.PI;
/// <summary>
/// imaginary one
/// </summary>
public static readonly Complex I = Complex.ImaginaryOne;
/// <summary>
/// 0, 1/3, 2/3, 1 as diag
/// </summary>
public static readonly DiagR4 UniformSpectrum4 = new(0d, 1d / 3d, 2d / 3d, 1d);
/// <summary>
/// 0, 0.5, 1 as diag
/// </summary>
public static readonly DiagR3 UniformSpectrum3 = new(0d, 1d / 2d, 1d);
/// <summary>
/// no use
/// </summary>
/// <param name="x"></param>
/// <returns></returns>
public static int Fib(int x)
{
return x switch
{
1 => 1,
2 => 2,
3 => 3,
4 => 5,
5 => 8,
6 => 13,
7 => 21,
8 => 34,
_ => -1
};
}
/// <summary>
/// no use
/// </summary>
/// <param name="x"></param>
/// <returns></returns>
public static int Ludic(int x)
{
return x switch
{
0 => 0,
1 => 1,
2 => 2,
3 => 4,
4 => 16,
5 => 26,
6 => 42,
7 => 57,
8 => 79,
_ => -1
};
}
}

76
src/Constants/CC.cs Normal file
View File

@@ -0,0 +1,76 @@
using System.Numerics;
namespace Skeleton.Constants;
/// <summary>
/// </summary>
public static class CC
{
/// <summary>
/// </summary>
public static readonly Complex I = Complex.ImaginaryOne;
/// <summary>
/// </summary>
public static readonly double Sqrt2 = Math.Sqrt(2d);
/// <summary>
/// </summary>
public static readonly double Sqrt3 = Math.Sqrt(3d);
/// <summary>
/// </summary>
public static readonly double Sqrt5 = Math.Sqrt(5d);
/// <summary>
/// </summary>
public static readonly double Sqrt6 = Math.Sqrt(6d);
/// <summary>
/// </summary>
public static readonly double Sqrt7 = Math.Sqrt(7d);
/// <summary>
/// </summary>
public static readonly double Sqrt10 = Math.Sqrt(10d);
/// <summary>
/// </summary>
public static readonly double Sqrt11 = Math.Sqrt(11d);
/// <summary>
/// </summary>
public static readonly double Sqrt13 = Math.Sqrt(13d);
/// <summary>
/// </summary>
public static readonly double SqrtInv2 = 1d / Sqrt2;
/// <summary>
/// </summary>
public static readonly double SqrtInv3 = 1d / Sqrt3;
/// <summary>
/// </summary>
public static readonly double SqrtInv5 = 1d / Sqrt5;
/// <summary>
/// </summary>
public static readonly double SqrtInv6 = 1d / Sqrt6;
/// <summary>
/// </summary>
public static readonly double SqrtInv7 = 1d / Sqrt7;
/// <summary>
/// </summary>
public static readonly double SqrtInv10 = 1d / Sqrt10;
/// <summary>
/// </summary>
public static readonly double SqrtInv11 = 1d / Sqrt11;
/// <summary>
/// </summary>
public static readonly double SqrtInv13 = 1d / Sqrt13;
}