Better FMA

This commit is contained in:
Youmu Liu
2026-03-05 18:04:34 +08:00
parent dfa6f4ba92
commit 83997f64d0
21 changed files with 893 additions and 1030 deletions
+2 -2
View File
@@ -93,7 +93,7 @@ namespace StgSharp.Mathematics
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal static int KernelSideCount<T>() where T: unmanaged, INumber<T>
{
SIMDID id = MathematicsModule.IntrinsicMask;
SIMDID id = NumericalModule.IntrinsicMask;
switch (id.MaskByte[0] & 0b_00001111)
{
case 1:
@@ -148,7 +148,7 @@ namespace StgSharp.Mathematics
[MethodImpl(MethodImplOptions.AggressiveInlining)]
private static int PanelSideLength<T>() where T: unmanaged, INumber<T>
{
SIMDID id = MathematicsModule.IntrinsicMask;
SIMDID id = NumericalModule.IntrinsicMask;
switch (id.MaskByte[0] & 0b_00001111)
{
case 1:
@@ -39,9 +39,9 @@ namespace StgSharp.Mathematics.Internal
[FieldOffset(0)]public MatrixKernel* Mat1; // 8
[FieldOffset(8)] public MatrixKernel* Mat2; // 8
[FieldOffset(16)] public MatrixKernel* Mat3; // 16
[FieldOffset(32)] public int Common_i;
[FieldOffset(36)] public int Common_j;
[FieldOffset(32)] public int CommonX;
[FieldOffset(40)] public int Common_k;
[FieldOffset(36)] public int CommonY;
[FieldOffset(44)] public int i;
[FieldOffset(48)] public int j;
[FieldOffset(52)] public int k;
@@ -35,19 +35,19 @@ namespace StgSharp.Mathematics.Internal
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe int CityHashSimplify(char* span, int length)
{
return MathematicsModule.GlobalContext.city_hash_simplify(span, length);
return NumericalModule.GlobalContext.city_hash_simplify(span, length);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe int CityHashSimplify(char* span, int begin, int length)
{
return MathematicsModule.GlobalContext.city_hash_simplify(span + begin, length);
return NumericalModule.GlobalContext.city_hash_simplify(span + begin, length);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe int IndexOfCharPair(char* source, int pairValue, int length)
{
return MathematicsModule.GlobalContext.index_pair(source, pairValue, length);
return NumericalModule.GlobalContext.index_pair(source, pairValue, length);
}
}