Удаление combite3 функций, изменение названий параметров функицй combine и exclude

This commit is contained in:
Andrey Pokidov 2026-04-03 15:10:57 +07:00
parent 54c762da14
commit 5425206401
10 changed files with 277 additions and 220 deletions

View file

@ -253,42 +253,12 @@ inline void bgc_fp64_turn2_combine(BGC_FP64_Turn2* const combination, const BGC_
_bgc_fp64_turn2_normalize(combination);
}
// ============ Combination of three ============ //
inline void bgc_fp32_turn2_combine3(BGC_FP32_Turn2* const combination, const BGC_FP32_Turn2* const turn1, const BGC_FP32_Turn2* const turn2, const BGC_FP32_Turn2* const turn3)
{
const float _cos_of_two = turn1->_cos * turn2->_cos - turn1->_sin * turn2->_sin;
const float _sin_of_two = turn1->_cos * turn2->_sin + turn1->_sin * turn2->_cos;
const float _cos_of_three = _cos_of_two * turn3->_cos - _sin_of_two * turn3->_sin;
const float _sin_of_three = _cos_of_two * turn3->_sin + _sin_of_two * turn3->_cos;
combination->_cos = _cos_of_three;
combination->_sin = _sin_of_three;
_bgc_fp32_turn2_normalize(combination);
}
inline void bgc_fp64_turn2_combine3(BGC_FP64_Turn2* const combination, const BGC_FP64_Turn2* const turn1, const BGC_FP64_Turn2* const turn2, const BGC_FP64_Turn2* const turn3)
{
const double _cos_of_two = turn1->_cos * turn2->_cos - turn1->_sin * turn2->_sin;
const double _sin_of_two = turn1->_cos * turn2->_sin + turn1->_sin * turn2->_cos;
const double _cos_of_three = _cos_of_two * turn3->_cos - _sin_of_two * turn3->_sin;
const double _sin_of_three = _cos_of_two * turn3->_sin + _sin_of_two * turn3->_cos;
combination->_cos = _cos_of_three;
combination->_sin = _sin_of_three;
_bgc_fp64_turn2_normalize(combination);
}
// ================= Exclusion ================== //
inline void bgc_fp32_turn2_exclude(BGC_FP32_Turn2* const difference, const BGC_FP32_Turn2* const base, const BGC_FP32_Turn2* const excludant)
inline void bgc_fp32_turn2_exclude(BGC_FP32_Turn2* const difference, const BGC_FP32_Turn2* const turn, const BGC_FP32_Turn2* const excludant)
{
const float _cos = base->_cos * excludant->_cos + base->_sin * excludant->_sin;
const float _sin = base->_sin * excludant->_cos - base->_cos * excludant->_sin;
const float _cos = turn->_cos * excludant->_cos + turn->_sin * excludant->_sin;
const float _sin = turn->_sin * excludant->_cos - turn->_cos * excludant->_sin;
difference->_cos = _cos;
difference->_sin = _sin;
@ -296,10 +266,10 @@ inline void bgc_fp32_turn2_exclude(BGC_FP32_Turn2* const difference, const BGC_F
_bgc_fp32_turn2_normalize(difference);
}
inline void bgc_fp64_turn2_exclude(BGC_FP64_Turn2* const difference, const BGC_FP64_Turn2* const base, const BGC_FP64_Turn2* const excludant)
inline void bgc_fp64_turn2_exclude(BGC_FP64_Turn2* const difference, const BGC_FP64_Turn2* const turn, const BGC_FP64_Turn2* const excludant)
{
const double _cos = base->_cos * excludant->_cos + base->_sin * excludant->_sin;
const double _sin = base->_sin * excludant->_cos - base->_cos * excludant->_sin;
const double _cos = turn->_cos * excludant->_cos + turn->_sin * excludant->_sin;
const double _sin = turn->_sin * excludant->_cos - turn->_cos * excludant->_sin;
difference->_cos = _cos;
difference->_sin = _sin;