Добавление новых функций, возвращение функций subtract_scaled

This commit is contained in:
Andrey Pokidov 2026-02-15 23:41:01 +07:00
parent 727961ad98
commit 1075624d05
26 changed files with 836 additions and 292 deletions

View file

@ -358,7 +358,7 @@ inline void bgc_fp64_matrix2x3_add(BGC_FP64_Matrix2x3* sum, const BGC_FP64_Matri
sum->r3c2 = matrix1->r3c2 + matrix2->r3c2;
}
// ================= Add scaled ================= //
// ================= Add Scaled ================= //
inline void bgc_fp32_matrix2x3_add_scaled(BGC_FP32_Matrix2x3* sum, const BGC_FP32_Matrix2x3* basic_matrix, const BGC_FP32_Matrix2x3* scalable_matrix, const float scale)
{
@ -410,6 +410,32 @@ inline void bgc_fp64_matrix2x3_subtract(BGC_FP64_Matrix2x3* difference, const BG
difference->r3c2 = minuend->r3c2 - subtrahend->r3c2;
}
// ============== Subtract scaled =============== //
inline void bgc_fp32_matrix2x3_subtract_scaled(BGC_FP32_Matrix2x3* sum, const BGC_FP32_Matrix2x3* basic_matrix, const BGC_FP32_Matrix2x3* scalable_matrix, const float scale)
{
sum->r1c1 = basic_matrix->r1c1 - scalable_matrix->r1c1 * scale;
sum->r1c2 = basic_matrix->r1c2 - scalable_matrix->r1c2 * scale;
sum->r2c1 = basic_matrix->r2c1 - scalable_matrix->r2c1 * scale;
sum->r2c2 = basic_matrix->r2c2 - scalable_matrix->r2c2 * scale;
sum->r3c1 = basic_matrix->r3c1 - scalable_matrix->r3c1 * scale;
sum->r3c2 = basic_matrix->r3c2 - scalable_matrix->r3c2 * scale;
}
inline void bgc_fp64_matrix2x3_subtract_scaled(BGC_FP64_Matrix2x3* sum, const BGC_FP64_Matrix2x3* basic_matrix, const BGC_FP64_Matrix2x3* scalable_matrix, const double scale)
{
sum->r1c1 = basic_matrix->r1c1 - scalable_matrix->r1c1 * scale;
sum->r1c2 = basic_matrix->r1c2 - scalable_matrix->r1c2 * scale;
sum->r2c1 = basic_matrix->r2c1 - scalable_matrix->r2c1 * scale;
sum->r2c2 = basic_matrix->r2c2 - scalable_matrix->r2c2 * scale;
sum->r3c1 = basic_matrix->r3c1 - scalable_matrix->r3c1 * scale;
sum->r3c2 = basic_matrix->r3c2 - scalable_matrix->r3c2 * scale;
}
// ================== Multiply ================== //
inline void bgc_fp32_matrix2x3_multiply_by_real(BGC_FP32_Matrix2x3* product, const BGC_FP32_Matrix2x3* multiplicand, const float multiplier)