Переименование функций для универсализации названий, добавление функций умножения вектора на дуальное число, а также исправление реализации функции умножения кватерниона на дуальное число на более безопасную реализацию

This commit is contained in:
Andrey Pokidov 2026-03-27 20:54:11 +07:00
parent 405af2f3a7
commit 078512c3d5
10 changed files with 234 additions and 98 deletions

View file

@ -39,8 +39,14 @@ extern inline void bgc_fp64_vector3_subtract(BGC_FP64_Vector3* const difference,
extern inline void bgc_fp32_vector3_subtract_scaled(BGC_FP32_Vector3* const difference, const BGC_FP32_Vector3* const basic_vector, const BGC_FP32_Vector3* const scalable_vector, const float scale);
extern inline void bgc_fp64_vector3_subtract_scaled(BGC_FP64_Vector3* const difference, const BGC_FP64_Vector3* const basic_vector, const BGC_FP64_Vector3* const scalable_vector, const double scale);
extern inline void bgc_fp32_vector3_multiply_by_real(BGC_FP32_Vector3* const product, const BGC_FP32_Vector3* const multiplicand, const float multiplier);
extern inline void bgc_fp64_vector3_multiply_by_real(BGC_FP64_Vector3* const product, const BGC_FP64_Vector3* const multiplicand, const double multiplier);
extern inline void bgc_fp32_vector3_multiply_by_real_number(BGC_FP32_Vector3* const product, const BGC_FP32_Vector3* const multiplicand, const float multiplier);
extern inline void bgc_fp64_vector3_multiply_by_real_number(BGC_FP64_Vector3* const product, const BGC_FP64_Vector3* const multiplicand, const double multiplier);
extern inline void bgc_fp32_vector3_multiply_by_dual_number(BGC_FP32_DualVector3* const product, const BGC_FP32_Vector3* const multiplicand, const BGC_FP32_DualNumber* const multiplier);
extern inline void bgc_fp64_vector3_multiply_by_dual_number(BGC_FP64_DualVector3* const product, const BGC_FP64_Vector3* const multiplicand, const BGC_FP64_DualNumber* const multiplier);
extern inline void _bgc_fp32_restrict_vector3_multiply_by_dual_number(BGC_FP32_DualVector3* restrict const product, const BGC_FP32_Vector3* const multiplicand, const BGC_FP32_DualNumber* const multiplier);
extern inline void _bgc_fp64_restrict_vector3_multiply_by_dual_number(BGC_FP64_DualVector3* restrict const product, const BGC_FP64_Vector3* const multiplicand, const BGC_FP64_DualNumber* const multiplier);
extern inline void bgc_fp32_vector3_multiply_by_matrix2x3(BGC_FP32_Vector2* const product, const BGC_FP32_Vector3* const vector, const BGC_FP32_Matrix2x3* const matrix);
extern inline void bgc_fp64_vector3_multiply_by_matrix2x3(BGC_FP64_Vector2* const product, const BGC_FP64_Vector3* const vector, const BGC_FP64_Matrix2x3* const matrix);