Daily update on 20230806 by nitload youmu
This commit is contained in:
@@ -32,31 +32,174 @@ namespace StgSharp.Math
|
||||
m128.single_3;
|
||||
}
|
||||
|
||||
public static Matrix4x4 Multiple(
|
||||
Matrix4x4 matrix1, Matrix4x4 matrix2
|
||||
)
|
||||
public static Matrix2x2 Multiple(Matrix2x2 matrix1, Matrix2x2 matrix2)
|
||||
{
|
||||
Matrix4x4 transpose = matrix2.Transpose(TransposeMode.Copy);
|
||||
return new Matrix4x4(
|
||||
internalIO.mulps_sum_internal(matrix1._row0Ptr, transpose._row0Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._row0Ptr, transpose._row1Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._row0Ptr, transpose._row2Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._row0Ptr, transpose._row3Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._row1Ptr, transpose._row0Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._row1Ptr, transpose._row1Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._row1Ptr, transpose._row2Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._row1Ptr, transpose._row3Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._row2Ptr, transpose._row0Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._row2Ptr, transpose._row1Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._row2Ptr, transpose._row2Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._row2Ptr, transpose._row3Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._row3Ptr, transpose._row0Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._row3Ptr, transpose._row1Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._row3Ptr, transpose._row2Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._row3Ptr, transpose._row3Ptr)
|
||||
Matrix2x2 trans = matrix1.Transpose(TransposeMode.Copy);
|
||||
|
||||
return new Matrix2x2(
|
||||
internalIO.mulps_sum_internal(trans._colum0Ptr, matrix2._colum0Ptr),
|
||||
internalIO.mulps_sum_internal(trans._colum0Ptr, matrix2._colum1Ptr),
|
||||
|
||||
internalIO.mulps_sum_internal(trans._colum1Ptr, matrix2._colum0Ptr),
|
||||
internalIO.mulps_sum_internal(trans._colum1Ptr, matrix2._colum1Ptr)
|
||||
);
|
||||
}
|
||||
|
||||
public static Matrix2x2 Multiple(Matrix2x4 matrix1, Matrix4x2 matrix2)
|
||||
{
|
||||
Matrix4x2 trans = matrix1.Transpose(TransposeMode.Copy);
|
||||
|
||||
return new Matrix2x2(
|
||||
internalIO.mulps_sum_internal(trans._colum0Ptr, matrix2._colum0Ptr),
|
||||
internalIO.mulps_sum_internal(trans._colum0Ptr, matrix2._colum1Ptr),
|
||||
|
||||
internalIO.mulps_sum_internal(trans._colum1Ptr, matrix2._colum0Ptr),
|
||||
internalIO.mulps_sum_internal(trans._colum1Ptr, matrix2._colum1Ptr)
|
||||
);
|
||||
}
|
||||
|
||||
public static Matrix2x4 Multiple(Matrix2x2 matrix1, Matrix2x4 matrix2)
|
||||
{
|
||||
Matrix2x2 trans = matrix1.Transpose(TransposeMode.Copy);
|
||||
|
||||
return new Matrix2x4(
|
||||
internalIO.mulps_sum_internal(trans._colum0Ptr, matrix2._colum0Ptr),
|
||||
internalIO.mulps_sum_internal(trans._colum0Ptr, matrix2._colum1Ptr),
|
||||
internalIO.mulps_sum_internal(trans._colum0Ptr, matrix2._colum2Ptr),
|
||||
internalIO.mulps_sum_internal(trans._colum0Ptr, matrix2._colum3Ptr),
|
||||
|
||||
internalIO.mulps_sum_internal(trans._colum1Ptr, matrix2._colum0Ptr),
|
||||
internalIO.mulps_sum_internal(trans._colum1Ptr, matrix2._colum1Ptr),
|
||||
internalIO.mulps_sum_internal(trans._colum1Ptr, matrix2._colum2Ptr),
|
||||
internalIO.mulps_sum_internal(trans._colum1Ptr, matrix2._colum3Ptr)
|
||||
);
|
||||
}
|
||||
|
||||
public static Matrix3x3 Multiple(Matrix3x3 matrix1, Matrix3x3 matrix2)
|
||||
{
|
||||
Matrix3x3 transpose = matrix2.Transpose(TransposeMode.Copy);
|
||||
|
||||
return new Matrix3x3(
|
||||
internalIO.mulps_sum_internal(matrix1._colum0Ptr,transpose._colum0Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._colum0Ptr,transpose._colum1Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._colum0Ptr,transpose._colum2Ptr),
|
||||
|
||||
internalIO.mulps_sum_internal(matrix1._colum1Ptr, transpose._colum0Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._colum1Ptr, transpose._colum1Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._colum1Ptr, transpose._colum2Ptr),
|
||||
|
||||
internalIO.mulps_sum_internal(matrix1._colum2Ptr, transpose._colum0Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._colum2Ptr, transpose._colum1Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._colum2Ptr, transpose._colum2Ptr)
|
||||
);
|
||||
}
|
||||
|
||||
public static Matrix3x3 Multiple(Matrix3x4 matrix1, Matrix4x3 matrix2)
|
||||
{
|
||||
Matrix3x4 transpose = matrix2.Transpose(TransposeMode.Copy);
|
||||
|
||||
return new Matrix3x3(
|
||||
internalIO.mulps_sum_internal(matrix1._colum0Ptr, transpose._colum0Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._colum0Ptr, transpose._colum1Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._colum0Ptr, transpose._colum2Ptr),
|
||||
|
||||
internalIO.mulps_sum_internal(matrix1._colum1Ptr, transpose._colum0Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._colum1Ptr, transpose._colum1Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._colum1Ptr, transpose._colum2Ptr),
|
||||
|
||||
internalIO.mulps_sum_internal(matrix1._colum2Ptr, transpose._colum0Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._colum2Ptr, transpose._colum1Ptr),
|
||||
internalIO.mulps_sum_internal(matrix1._colum2Ptr, transpose._colum2Ptr)
|
||||
);
|
||||
}
|
||||
|
||||
public static Matrix4x2 Multiple(Matrix4x2 matrix1, Matrix2x2 matrix2)
|
||||
{
|
||||
Matrix2x4 trans = matrix1.Transpose(TransposeMode.Copy);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static Matrix4x4 Multiple(Matrix4x2 matrix1, Matrix2x4 matrix2)
|
||||
{
|
||||
Matrix2x4 transpose = matrix1.Transpose(TransposeMode.Copy);
|
||||
return new Matrix4x4(
|
||||
internalIO.mulps_sum_internal(matrix2._colum0Ptr, transpose._colum0Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum0Ptr, transpose._colum1Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum0Ptr, transpose._colum2Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum0Ptr, transpose._colum3Ptr),
|
||||
|
||||
internalIO.mulps_sum_internal(matrix2._colum1Ptr, transpose._colum0Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum1Ptr, transpose._colum1Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum1Ptr, transpose._colum2Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum1Ptr, transpose._colum3Ptr),
|
||||
|
||||
internalIO.mulps_sum_internal(matrix2._colum2Ptr, transpose._colum0Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum2Ptr, transpose._colum1Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum2Ptr, transpose._colum2Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum2Ptr, transpose._colum3Ptr),
|
||||
|
||||
internalIO.mulps_sum_internal(matrix2._colum3Ptr, transpose._colum0Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum3Ptr, transpose._colum1Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum3Ptr, transpose._colum2Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum3Ptr, transpose._colum3Ptr)
|
||||
);
|
||||
}
|
||||
|
||||
public static Matrix4x4 Multiple( Matrix4x3 matrix1, Matrix3x4 matrix2 )
|
||||
{
|
||||
Matrix3x4 trans = matrix1.Transpose(TransposeMode.Copy);
|
||||
|
||||
return new Matrix4x4(
|
||||
internalIO.mulps_sum_internal(matrix2._colum0Ptr,trans._colum0Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum0Ptr,trans._colum1Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum0Ptr,trans._colum2Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum0Ptr,trans._colum3Ptr),
|
||||
|
||||
internalIO.mulps_sum_internal(matrix2._colum1Ptr,trans._colum0Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum1Ptr,trans._colum1Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum1Ptr,trans._colum2Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum1Ptr,trans._colum3Ptr),
|
||||
|
||||
internalIO.mulps_sum_internal(matrix2._colum2Ptr,trans._colum0Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum2Ptr,trans._colum1Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum2Ptr,trans._colum2Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum2Ptr,trans._colum3Ptr),
|
||||
|
||||
internalIO.mulps_sum_internal(matrix2._colum3Ptr,trans._colum0Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum3Ptr,trans._colum1Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum3Ptr,trans._colum2Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum3Ptr,trans._colum3Ptr)
|
||||
);
|
||||
}
|
||||
|
||||
public static Matrix4x4 Multiple( Matrix4x4 matrix1, Matrix4x4 matrix2 )
|
||||
{
|
||||
Matrix4x4 transpose = matrix1.Transpose(TransposeMode.Copy);
|
||||
return new Matrix4x4(
|
||||
internalIO.mulps_sum_internal(matrix2._colum0Ptr, transpose._colum0Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum0Ptr, transpose._colum1Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum0Ptr, transpose._colum2Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum0Ptr, transpose._colum3Ptr),
|
||||
|
||||
internalIO.mulps_sum_internal(matrix2._colum1Ptr, transpose._colum0Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum1Ptr, transpose._colum1Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum1Ptr, transpose._colum2Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum1Ptr, transpose._colum3Ptr),
|
||||
|
||||
internalIO.mulps_sum_internal(matrix2._colum2Ptr, transpose._colum0Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum2Ptr, transpose._colum1Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum2Ptr, transpose._colum2Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum2Ptr, transpose._colum3Ptr),
|
||||
|
||||
internalIO.mulps_sum_internal(matrix2._colum3Ptr, transpose._colum0Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum3Ptr, transpose._colum1Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum3Ptr, transpose._colum2Ptr),
|
||||
internalIO.mulps_sum_internal(matrix2._colum3Ptr, transpose._colum3Ptr)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
private static float getMatrixMember(float* p1, float* p2)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user