Добавлено умножение дуальных кватернионов с прочими сущностями

This commit is contained in:
Andrey Pokidov 2026-02-17 21:28:51 +07:00
parent b621191698
commit a8a22cdcc1
4 changed files with 105 additions and 10 deletions

View file

@ -330,6 +330,34 @@ inline void bgc_fp64_quaternion_multiply_by_conjugate(BGC_FP64_Quaternion* produ
product->x3 = x3;
}
// ========== Multiply By Dual Number =========== //
inline void bgc_fp32_quaternion_multiply_by_dual_number(BGC_FP32_DualQuaternion* product, const BGC_FP32_Quaternion* multiplicand, const BGC_FP32_DualNumber* multiplier)
{
bgc_fp32_quaternion_multiply_by_real(&product->real_part, multiplicand, multiplier->real_part);
bgc_fp32_quaternion_multiply_by_real(&product->dual_part, multiplicand, multiplier->dual_part);
}
inline void bgc_fp64_quaternion_multiply_by_dual_number(BGC_FP64_DualQuaternion* product, const BGC_FP64_Quaternion* multiplicand, const BGC_FP64_DualNumber* multiplier)
{
bgc_fp64_quaternion_multiply_by_real(&product->real_part, multiplicand, multiplier->real_part);
bgc_fp64_quaternion_multiply_by_real(&product->dual_part, multiplicand, multiplier->dual_part);
}
// ======== Multiply By Dual Quaternion ========= //
inline void bgc_fp32_quaternion_multiply_by_dual_quaternion(BGC_FP32_DualQuaternion* product, const BGC_FP32_Quaternion* left, const BGC_FP32_DualQuaternion* right)
{
bgc_fp32_quaternion_multiply_by_quaternion(&product->real_part, left, &right->real_part);
bgc_fp32_quaternion_multiply_by_quaternion(&product->dual_part, left, &right->dual_part);
}
inline void bgc_fp64_quaternion_multiply_by_dual_quaternion(BGC_FP64_DualQuaternion* product, const BGC_FP64_Quaternion* left, const BGC_FP64_DualQuaternion* right)
{
bgc_fp64_quaternion_multiply_by_quaternion(&product->real_part, left, &right->real_part);
bgc_fp64_quaternion_multiply_by_quaternion(&product->dual_part, left, &right->dual_part);
}
// ============== Divide By Number ============== //
inline int bgc_fp32_quaternion_divide_by_real(BGC_FP32_Quaternion* quotient, const BGC_FP32_Quaternion* dividend, const float divisor)