Отказ от restrict функций для упрощения библиотеки. Компиляторы достаточно хорошо оптимизируют не-restrict inline-функции

This commit is contained in:
Andrey Pokidov 2026-03-30 12:05:25 +07:00
parent f402f68516
commit ed404690ed
17 changed files with 48 additions and 257 deletions

View file

@ -298,8 +298,8 @@ inline void bgc_fp32_rigid_pose3_exclude(BGC_FP32_RigidPose3* const difference,
{
BGC_FP32_Quaternion dual_part1, dual_part2;
_bgc_fp32_restrict_quaternion_multiply_by_conjugate(&dual_part1, &base->_versor.real_part, &excludant->_versor.dual_part);
_bgc_fp32_restrict_quaternion_multiply_by_conjugate(&dual_part2, &base->_versor.dual_part, &excludant->_versor.real_part);
bgc_fp32_quaternion_multiply_by_conjugate(&dual_part1, &base->_versor.real_part, &excludant->_versor.dual_part);
bgc_fp32_quaternion_multiply_by_conjugate(&dual_part2, &base->_versor.dual_part, &excludant->_versor.real_part);
bgc_fp32_quaternion_multiply_by_conjugate(&difference->_versor.real_part, &base->_versor.real_part, &excludant->_versor.real_part);
bgc_fp32_quaternion_add(&difference->_versor.dual_part, &dual_part1, &dual_part2);
@ -311,8 +311,8 @@ inline void bgc_fp64_rigid_pose3_exclude(BGC_FP64_RigidPose3* const difference,
{
BGC_FP64_Quaternion dual_part1, dual_part2;
_bgc_fp64_restrict_quaternion_multiply_by_conjugate(&dual_part1, &base->_versor.real_part, &excludant->_versor.dual_part);
_bgc_fp64_restrict_quaternion_multiply_by_conjugate(&dual_part2, &base->_versor.dual_part, &excludant->_versor.real_part);
bgc_fp64_quaternion_multiply_by_conjugate(&dual_part1, &base->_versor.real_part, &excludant->_versor.dual_part);
bgc_fp64_quaternion_multiply_by_conjugate(&dual_part2, &base->_versor.dual_part, &excludant->_versor.real_part);
bgc_fp64_quaternion_multiply_by_conjugate(&difference->_versor.real_part, &base->_versor.real_part, &excludant->_versor.real_part);
bgc_fp64_quaternion_add(&difference->_versor.dual_part, &dual_part1, &dual_part2);