M2
This commit is contained in:
100
src/Constants/AlgebraConstant.cs
Normal file
100
src/Constants/AlgebraConstant.cs
Normal 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
76
src/Constants/CC.cs
Normal 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;
|
||||
}
|
||||
Reference in New Issue
Block a user