Добавление проверки при делении, стандартизация возвращаемого значения (BGC_SUCCESS, BGC_FAILURE)

This commit is contained in:
Andrey Pokidov 2026-02-11 20:55:54 +07:00
parent a4b9f8b2b9
commit e9558ff977
27 changed files with 589 additions and 370 deletions

View file

@ -113,28 +113,28 @@ inline void bgc_fp64_dual_quaternion_subtract(BGC_FP64_DualQuaternion* differenc
// ================== Multiply ================== //
inline void bgc_fp32_dual_quaternion_multiply_by_number(BGC_FP32_DualQuaternion* product, const BGC_FP32_DualQuaternion* multiplicand, const float multipier)
inline void bgc_fp32_dual_quaternion_multiply_by_real(BGC_FP32_DualQuaternion* product, const BGC_FP32_DualQuaternion* multiplicand, const float multipier)
{
bgc_fp32_quaternion_multiply_by_number(&product->real, &multiplicand->real, multipier);
bgc_fp32_quaternion_multiply_by_number(&product->dual, &multiplicand->dual, multipier);
bgc_fp32_quaternion_multiply_by_real(&product->real, &multiplicand->real, multipier);
bgc_fp32_quaternion_multiply_by_real(&product->dual, &multiplicand->dual, multipier);
}
inline void bgc_fp64_dual_quaternion_multiply_by_number(BGC_FP64_DualQuaternion* product, const BGC_FP64_DualQuaternion* multiplicand, const double multipier)
inline void bgc_fp64_dual_quaternion_multiply_by_real(BGC_FP64_DualQuaternion* product, const BGC_FP64_DualQuaternion* multiplicand, const double multipier)
{
bgc_fp64_quaternion_multiply_by_number(&product->real, &multiplicand->real, multipier);
bgc_fp64_quaternion_multiply_by_number(&product->dual, &multiplicand->dual, multipier);
bgc_fp64_quaternion_multiply_by_real(&product->real, &multiplicand->real, multipier);
bgc_fp64_quaternion_multiply_by_real(&product->dual, &multiplicand->dual, multipier);
}
// =================== Divide =================== //
inline void bgc_fp32_dual_quaternion_divide_by_number(BGC_FP32_DualQuaternion* quotient, const BGC_FP32_DualQuaternion* divident, const float divisor)
inline void bgc_fp32_dual_quaternion_divide_by_real(BGC_FP32_DualQuaternion* quotient, const BGC_FP32_DualQuaternion* divident, const float divisor)
{
bgc_fp32_dual_quaternion_multiply_by_number(quotient, divident, 1.0f / divisor);
bgc_fp32_dual_quaternion_multiply_by_real(quotient, divident, 1.0f / divisor);
}
inline void bgc_fp64_dual_quaternion_divide_by_number(BGC_FP64_DualQuaternion* quotient, const BGC_FP64_DualQuaternion* divident, const double divisor)
inline void bgc_fp64_dual_quaternion_divide_by_real(BGC_FP64_DualQuaternion* quotient, const BGC_FP64_DualQuaternion* divident, const double divisor)
{
bgc_fp64_dual_quaternion_multiply_by_number(quotient, divident, 1.0 / divisor);
bgc_fp64_dual_quaternion_multiply_by_real(quotient, divident, 1.0 / divisor);
}
// ================ Mean of Two ================= //