Исправление функций комбинации, добавление функций исключения одной позиции из другой

This commit is contained in:
Andrey Pokidov 2026-01-27 19:34:57 +07:00
parent 101df9f089
commit e1dce83d63
7 changed files with 82 additions and 40 deletions

View file

@ -43,7 +43,7 @@ void test_versor_combine_fp32()
print_testing_name("bgc_versor_combine_fp32"); print_testing_name("bgc_versor_combine_fp32");
for (int i = 0; i < _TEST_FP32_VERSOR_TRIPLET_AMOUNT; i++) { for (int i = 0; i < _TEST_FP32_VERSOR_TRIPLET_AMOUNT; i++) {
bgc_versor_combine_fp32(&_TEST_FP32_VERSOR_TRIPLET_LIST[i].second, &_TEST_FP32_VERSOR_TRIPLET_LIST[i].first, &versor); bgc_versor_combine_fp32(&_TEST_FP32_VERSOR_TRIPLET_LIST[i].first, &_TEST_FP32_VERSOR_TRIPLET_LIST[i].second, &versor);
if (!bgc_versor_are_close_fp32(&versor, &_TEST_FP32_VERSOR_TRIPLET_LIST[i].result)) { if (!bgc_versor_are_close_fp32(&versor, &_TEST_FP32_VERSOR_TRIPLET_LIST[i].result)) {
print_testing_failed(); print_testing_failed();
@ -93,7 +93,7 @@ void test_versor_combine_fp64()
print_testing_name("bgc_versor_combine_fp64"); print_testing_name("bgc_versor_combine_fp64");
for (int i = 0; i < _TEST_FP64_VERSOR_TRIPLET_AMOUNT; i++) { for (int i = 0; i < _TEST_FP64_VERSOR_TRIPLET_AMOUNT; i++) {
bgc_versor_combine_fp64(&_TEST_FP64_VERSOR_TRIPLET_LIST[i].second, &_TEST_FP64_VERSOR_TRIPLET_LIST[i].first, &versor); bgc_versor_combine_fp64(&_TEST_FP64_VERSOR_TRIPLET_LIST[i].first, &_TEST_FP64_VERSOR_TRIPLET_LIST[i].second, &versor);
if (!bgc_versor_are_close_fp64(&versor, &_TEST_FP64_VERSOR_TRIPLET_LIST[i].result)) { if (!bgc_versor_are_close_fp64(&versor, &_TEST_FP64_VERSOR_TRIPLET_LIST[i].result)) {
print_testing_failed(); print_testing_failed();

View file

Internal server error - Personal Git Server: Beyond coding. We Forge.

500

Internal server error

Forgejo version: 11.0.1+gitea-1.22.0

@ -18,8 +18,11 @@ extern inline void bgc_position2_invert_fp64(BgcPosition2FP64 * position);
extern inline void bgc_position2_get_inverse_fp32(const BgcPosition2FP32 * position, BgcPosition2FP32 * inverted); extern inline void bgc_position2_get_inverse_fp32(const BgcPosition2FP32 * position, BgcPosition2FP32 * inverted);
extern inline void bgc_position2_get_inverse_fp64(const BgcPosition2FP64 * position, BgcPosition2FP64 * inverted); extern inline void bgc_position2_get_inverse_fp64(const BgcPosition2FP64 * position, BgcPosition2FP64 * inverted);
extern inline void bgc_position2_combine_fp32(const BgcPosition2FP32 * parent, const BgcPosition2FP32 * child, BgcPosition2FP32 * combination); extern inline void bgc_position2_combine_fp32(const BgcPosition2FP32 * first, const BgcPosition2FP32 * second, BgcPosition2FP32 * combination);
extern inline void bgc_position2_combine_fp64(const BgcPosition2FP64 * parent, const BgcPosition2FP64 * child, BgcPosition2FP64 * combination); extern inline void bgc_position2_combine_fp64(const BgcPosition2FP64 * first, const BgcPosition2FP64 * second, BgcPosition2FP64 * combination);
extern inline void bgc_position2_exclude_fp32(const BgcPosition2FP32 * base, const BgcPosition2FP32 * excludand, BgcPosition2FP32 * difference);
extern inline void bgc_position2_exclude_fp64(const BgcPosition2FP64 * base, const BgcPosition2FP64 * excludand, BgcPosition2FP64 * difference);
extern inline void bgc_position2_get_outward_affine_fp32(const BgcPosition2FP32 * position, BgcAffine2FP32 * outward_affine_map); extern inline void bgc_position2_get_outward_affine_fp32(const BgcPosition2FP32 * position, BgcAffine2FP32 * outward_affine_map);
extern inline void bgc_position2_get_outward_affine_fp64(const BgcPosition2FP64 * position, BgcAffine2FP64 * outward_affine_map); extern inline void bgc_position2_get_outward_affine_fp64(const BgcPosition2FP64 * position, BgcAffine2FP64 * outward_affine_map);
@ -36,5 +39,5 @@ extern inline void bgc_position2_transform_point_inwards_fp64(const BgcPosition2
extern inline void bgc_position2_transform_vector_outwards_fp32(const BgcPosition2FP32 * position, const BgcVector2FP32 * inner_vector, BgcVector2FP32 * outer_vector); extern inline void bgc_position2_transform_vector_outwards_fp32(const BgcPosition2FP32 * position, const BgcVector2FP32 * inner_vector, BgcVector2FP32 * outer_vector);
extern inline void bgc_position2_transform_vector_outwards_fp64(const BgcPosition2FP64 * position, const BgcVector2FP64 * inner_vector, BgcVector2FP64 * outer_vector); extern inline void bgc_position2_transform_vector_outwards_fp64(const BgcPosition2FP64 * position, const BgcVector2FP64 * inner_vector, BgcVector2FP64 * outer_vector);
extern inline void bgc_position2_transform_vector_inward_fp32(const BgcPosition2FP32 * position, const BgcVector2FP32 * outer_vector, BgcVector2FP32 * inner_vector); extern inline void bgc_position2_transform_vector_inwards_fp32(const BgcPosition2FP32 * position, const BgcVector2FP32 * outer_vector, BgcVector2FP32 * inner_vector);