keep working on matrix. key is to remove old matrix types
Signed-off-by: Youmu Liu <105042599+Nitload-NSI@users.noreply.github.com>
This commit is contained in:
@@ -64,6 +64,7 @@ typedef void(SN_DECL *MATRIXTRANSPOSEPROC)(void *source, void *target);
|
||||
typedef void(SN_DECL *MATRIXDETPROC)(void *mat, void *transpose);
|
||||
typedef void(SN_DECL *MATARITHMETIC)(void *left, void *right, void *ans);
|
||||
typedef void(SN_DECL *SCALERMATARITHMETIC)(void *left, void *right, void *ans);
|
||||
typedef void(SN_DECL* MATFMAPROC)(mat_kernel* left, mat_kernel* right, mat_kernel* ans);
|
||||
typedef uint64_t(SN_DECL *FACTORIALROC)(int n);
|
||||
|
||||
|
||||
@@ -102,12 +103,18 @@ INTERNAL float SN_DECL det_mat4(__4_columnset *matrix, __4_columnset *transpose)
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region fma
|
||||
|
||||
INTERNAL void SN_DECL fma_44_sse(mat_kernel* left, mat_kernel* right);
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region dot
|
||||
|
||||
INTERNAL void FORCEINLINE SN_DECL dot_41_sse(__4_columnset *transpose, __m128 *vector, __m128 *ans);
|
||||
INTERNAL void FORCEINLINE SN_DECL dot_31_sse(__3_columnset *transpose, __m128 *vector, __m128 *ans);
|
||||
INTERNAL void FORCEINLINE SN_DECL dot_41_avx(__4_columnset *transpose, __m128 *vector, __m128 *ans);
|
||||
INTERNAL void FORCEINLINE SN_DECL dot_31_avx(__3_columnset *transpose, __m128 *vector, __m128 *ans);
|
||||
INTERNAL void SN_DECL dot_41_sse(__4_columnset *transpose, __m128 *vector, __m128 *ans);
|
||||
INTERNAL void SN_DECL dot_31_sse(__3_columnset *transpose, __m128 *vector, __m128 *ans);
|
||||
INTERNAL void SN_DECL dot_41_avx(__4_columnset *transpose, __m128 *vector, __m128 *ans);
|
||||
INTERNAL void SN_DECL dot_31_avx(__3_columnset *transpose, __m128 *vector, __m128 *ans);
|
||||
|
||||
INTERNAL void SN_DECL dot_32_sse(__3_columnset *transpose, __m128 *vector, __m128 *ans);
|
||||
INTERNAL void SN_DECL dot_32_avx(__3_columnset *transpose, __m128 *vector, __m128 *ans);
|
||||
@@ -144,6 +151,7 @@ typedef struct ssc_intrinsic {
|
||||
DOTPROC dot_42;
|
||||
DOTPROC dot_43;
|
||||
FACTORIALROC factorial_simd;
|
||||
void (*fma_44)(void* left, void* right, void* ans);
|
||||
int (*index_pair)(short const *str, uint32_t target, int length);
|
||||
VECTORNORMALIZEPROC normalize_3;
|
||||
MATARITHMETIC sub_m2;
|
||||
|
||||
Reference in New Issue
Block a user