Продолжение переименования типов и функций

This commit is contained in:
Andrey Pokidov 2025-01-14 19:25:04 +07:00
parent 605afabd94
commit 3b6efaafa9
25 changed files with 768 additions and 916 deletions

View file

@ -6,12 +6,12 @@
typedef struct {
float r1c1, r1c2;
float r2c1, r2c2;
} fp32_matrix2x2_t;
} matrix2x2_fp32_t;
typedef struct {
double r1c1, r1c2;
double r2c1, r2c2;
} fp64_matrix2x2_t;
} matrix2x2_fp64_t;
// ================== Matrix2x3 ================= //
@ -19,25 +19,25 @@ typedef struct {
float r1c1, r1c2;
float r2c1, r2c2;
float r3c1, r3c2;
} fp32_matrix2x3_t;
} matrix2x3_fp32_t;
typedef struct {
double r1c1, r1c2;
double r2c1, r2c2;
double r3c1, r3c2;
} fp64_matrix2x3_t;
} matrix2x3_fp64_t;
// ================== Matrix3x2 ================= //
typedef struct {
float r1c1, r1c2, r1c3;
float r2c1, r2c2, r2c3;
} fp32_matrix3x2_t;
} matrix3x2_fp32_t;
typedef struct {
double r1c1, r1c2, r1c3;
double r2c1, r2c2, r2c3;
} fp64_matrix3x2_t;
} matrix3x2_fp64_t;
// ================== Matrix3x3 ================= //
@ -45,17 +45,17 @@ typedef struct {
float r1c1, r1c2, r1c3;
float r2c1, r2c2, r2c3;
float r3c1, r3c2, r3c3;
} fp32_matrix3x3_t;
} matrix3x3_fp32_t;
typedef struct {
double r1c1, r1c2, r1c3;
double r2c1, r2c2, r2c3;
double r3c1, r3c2, r3c3;
} fp64_matrix3x3_t;
} matrix3x3_fp64_t;
// ========== Matrix Product 2x2 at 2x2 ========= //
static inline void fp32_matrix_product_2x2_at_2x2(const fp32_matrix2x2_t* matrix1, const fp32_matrix2x2_t* matrix2, fp32_matrix2x2_t* result)
inline void matrix_fp32_product_2x2_at_2x2(const matrix2x2_fp32_t* matrix1, const matrix2x2_fp32_t* matrix2, matrix2x2_fp32_t* result)
{
const float r1c1 = matrix1->r1c1 * matrix2->r1c1 + matrix1->r1c2 * matrix2->r2c1;
const float r1c2 = matrix1->r1c1 * matrix2->r1c2 + matrix1->r1c2 * matrix2->r2c2;
@ -70,7 +70,7 @@ static inline void fp32_matrix_product_2x2_at_2x2(const fp32_matrix2x2_t* matrix
result->r2c2 = r2c2;
}
static inline void fp64_matrix_product_2x2_at_2x2(const fp64_matrix2x2_t* matrix1, const fp64_matrix2x2_t* matrix2, fp64_matrix2x2_t* result)
inline void matrix_fp64_product_2x2_at_2x2(const matrix2x2_fp64_t* matrix1, const matrix2x2_fp64_t* matrix2, matrix2x2_fp64_t* result)
{
const double r1c1 = matrix1->r1c1 * matrix2->r1c1 + matrix1->r1c2 * matrix2->r2c1;
const double r1c2 = matrix1->r1c1 * matrix2->r1c2 + matrix1->r1c2 * matrix2->r2c2;
@ -87,44 +87,44 @@ static inline void fp64_matrix_product_2x2_at_2x2(const fp64_matrix2x2_t* matrix
// ========== Matrix Product 2x2 at 3x2 ========= //
void fp32_matrix_product_2x2_at_3x2(const fp32_matrix2x2_t* matrix1, const fp32_matrix3x2_t* matrix2, fp32_matrix3x2_t* result);
void matrix_fp32_product_2x2_at_3x2(const matrix2x2_fp32_t* matrix1, const matrix3x2_fp32_t* matrix2, matrix3x2_fp32_t* result);
void fp64_matrix_product_2x2_at_3x2(const fp64_matrix2x2_t* matrix1, const fp64_matrix3x2_t* matrix2, fp64_matrix3x2_t* result);
void matrix_fp64_product_2x2_at_3x2(const matrix2x2_fp64_t* matrix1, const matrix3x2_fp64_t* matrix2, matrix3x2_fp64_t* result);
// ========== Matrix Product 2x3 at 2x2 ========= //
void fp32_matrix_product_2x3_at_2x2(const fp32_matrix2x3_t* matrix1, const fp32_matrix2x2_t* matrix2, fp32_matrix2x3_t* result);
void matrix_fp32_product_2x3_at_2x2(const matrix2x3_fp32_t* matrix1, const matrix2x2_fp32_t* matrix2, matrix2x3_fp32_t* result);
void fp64_matrix_product_2x3_at_2x2(const fp64_matrix2x3_t* matrix1, const fp64_matrix2x2_t* matrix2, fp64_matrix2x3_t* result);
void matrix_fp64_product_2x3_at_2x2(const matrix2x3_fp64_t* matrix1, const matrix2x2_fp64_t* matrix2, matrix2x3_fp64_t* result);
// ========== Matrix Product 2x3 at 3x2 ========= //
void fp32_matrix_product_2x3_at_3x2(const fp32_matrix2x3_t* matrix1, const fp32_matrix3x2_t* matrix2, fp32_matrix3x3_t* result);
void matrix_fp32_product_2x3_at_3x2(const matrix2x3_fp32_t* matrix1, const matrix3x2_fp32_t* matrix2, matrix3x3_fp32_t* result);
void fp64_matrix_product_2x3_at_3x2(const fp64_matrix2x3_t* matrix1, const fp64_matrix3x2_t* matrix2, fp64_matrix3x3_t* result);
void matrix_fp64_product_2x3_at_3x2(const matrix2x3_fp64_t* matrix1, const matrix3x2_fp64_t* matrix2, matrix3x3_fp64_t* result);
// ========== Matrix Product 3x2 at 2x3 ========= //
void fp32_matrix_product_3x2_at_2x3(const fp32_matrix3x2_t* matrix1, const fp32_matrix2x3_t* matrix2, fp32_matrix2x2_t* result);
void matrix_fp32_product_3x2_at_2x3(const matrix3x2_fp32_t* matrix1, const matrix2x3_fp32_t* matrix2, matrix2x2_fp32_t* result);
void fp64_matrix_product_3x2_at_2x3(const fp64_matrix3x2_t* matrix1, const fp64_matrix2x3_t* matrix2, fp64_matrix2x2_t* result);
void matrix_fp64_product_3x2_at_2x3(const matrix3x2_fp64_t* matrix1, const matrix2x3_fp64_t* matrix2, matrix2x2_fp64_t* result);
// ========== Matrix Product 3x2 at 3x3 ========= //
void fp32_matrix_product_3x2_at_3x3(const fp32_matrix3x2_t* matrix1, const fp32_matrix3x3_t* matrix2, fp32_matrix3x2_t* result);
void matrix_fp32_product_3x2_at_3x3(const matrix3x2_fp32_t* matrix1, const matrix3x3_fp32_t* matrix2, matrix3x2_fp32_t* result);
void fp64_matrix_product_3x2_at_3x3(const fp64_matrix3x2_t* matrix1, const fp64_matrix3x3_t* matrix2, fp64_matrix3x2_t* result);
void matrix_fp64_product_3x2_at_3x3(const matrix3x2_fp64_t* matrix1, const matrix3x3_fp64_t* matrix2, matrix3x2_fp64_t* result);
// ========== Matrix Product 3x3 at 2x3 ========= //
void fp32_matrix_product_3x3_at_2x3(const fp32_matrix3x3_t* matrix1, const fp32_matrix2x3_t* matrix2, fp32_matrix2x3_t* result);
void matrix_fp32_product_3x3_at_2x3(const matrix3x3_fp32_t* matrix1, const matrix2x3_fp32_t* matrix2, matrix2x3_fp32_t* result);
void fp64_matrix_product_3x3_at_2x3(const fp64_matrix3x3_t* matrix1, const fp64_matrix2x3_t* matrix2, fp64_matrix2x3_t* result);
void matrix_fp64_product_3x3_at_2x3(const matrix3x3_fp64_t* matrix1, const matrix2x3_fp64_t* matrix2, matrix2x3_fp64_t* result);
// ========== Matrix Product 3x3 at 3x3 ========= //
void fp32_matrix_product_3x3_at_3x3(const fp32_matrix3x3_t* matrix1, const fp32_matrix3x3_t* matrix2, fp32_matrix3x3_t* result);
void matrix_fp32_product_3x3_at_3x3(const matrix3x3_fp32_t* matrix1, const matrix3x3_fp32_t* matrix2, matrix3x3_fp32_t* result);
void fp64_matrix_product_3x3_at_3x3(const fp64_matrix3x3_t* matrix1, const fp64_matrix3x3_t* matrix2, fp64_matrix3x3_t* result);
void matrix_fp64_product_3x3_at_3x3(const matrix3x3_fp64_t* matrix1, const matrix3x3_fp64_t* matrix2, matrix3x3_fp64_t* result);
#endif // _GEOMETRY_MATRIX_TYPES_H_