Изменение функций нормализации, переименование make функий в set values, добавление внутренних restrict функций, гарантирующих оптимизальное выполнение открытых функций, независимо от компилятора

This commit is contained in:
Andrey Pokidov 2026-03-24 17:11:09 +07:00
parent e6ac9023ec
commit 6945c69ef2
20 changed files with 324 additions and 337 deletions

View file

@ -40,7 +40,7 @@ BGC_FP32_Affine3* _create_bgc_affine3_random_list(int affine_amount)
BGC_FP32_Position3 position; BGC_FP32_Position3 position;
for (int i = 0; i < affine_amount; i++) { for (int i = 0; i < affine_amount; i++) {
bgc_fp32_turn3_set_raw_values( bgc_fp32_turn3_set_values(
&position.turn, &position.turn,
get_random_value_fp32(), get_random_value_fp32(),
get_random_value_fp32(), get_random_value_fp32(),

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

@ -29,7 +29,7 @@ structure_fp32_t* make_structures(const unsigned int amount)
const float multiplier = 2.0f / RAND_MAX; const float multiplier = 2.0f / RAND_MAX;
for (unsigned int i = 0; i < amount; i++) { for (unsigned int i = 0; i < amount; i++) {
bgc_fp32_turn3_set_raw_values( bgc_fp32_turn3_set_values(
&list[i].versor1, &list[i].versor1,
rand() * multiplier - 1.0f, rand() * multiplier - 1.0f,
rand() * multiplier - 1.0f, rand() * multiplier - 1.0f,
@ -37,7 +37,7 @@ structure_fp32_t* make_structures(const unsigned int amount)
rand() * multiplier - 1.0f rand() * multiplier - 1.0f
); );
bgc_fp32_turn3_set_raw_values( bgc_fp32_turn3_set_values(
&list[i].versor2, &list[i].versor2,
rand() * multiplier - 1.0f, rand() * multiplier - 1.0f,
rand() * multiplier - 1.0f, rand() * multiplier - 1.0f,
@ -127,9 +127,9 @@ int main()
int main() { int main() {
BGC_FP32_Complex complex, exponent, result; BGC_FP32_Complex complex, exponent, result;
bgc_fp32_complex_make(0, 1, &complex); bgc_fp32_complex_set_values(0, 1, &complex);
bgc_fp32_complex_make(4, 0, &exponent); bgc_fp32_complex_set_values(4, 0, &exponent);
bgc_fp32_complex_get_exponation(&complex, exponent.real, exponent.imaginary, &result); bgc_fp32_complex_get_exponation(&complex, exponent.real, exponent.imaginary, &result);
@ -157,11 +157,11 @@ void test_pair_difference_fp32()
BGC_FP32_Turn3 turn; BGC_FP32_Turn3 turn;
// No turn // No turn
bgc_fp32_vector3_make(&initial_main, 1.0f, 0.0f, 0.0f); bgc_fp32_vector3_set_values(&initial_main, 1.0f, 0.0f, 0.0f);
bgc_fp32_vector3_make(&initial_branch, 0.0f, 1.0f, 0.0f); bgc_fp32_vector3_set_values(&initial_branch, 0.0f, 1.0f, 0.0f);
bgc_fp32_vector3_make(&final_main, 1.0f, 0.0f, 0.0f); bgc_fp32_vector3_set_values(&final_main, 1.0f, 0.0f, 0.0f);
bgc_fp32_vector3_make(&final_branch, 0.0f, 1.0f, 0.0f); bgc_fp32_vector3_set_values(&final_branch, 0.0f, 1.0f, 0.0f);
bgc_fp32_turn3_find_pair_difference(&turn, &initial_main, &initial_branch, &final_main, &final_branch); bgc_fp32_turn3_find_pair_difference(&turn, &initial_main, &initial_branch, &final_main, &final_branch);
@ -169,11 +169,11 @@ void test_pair_difference_fp32()
print_quaternion_fp32(&turn._versor); print_quaternion_fp32(&turn._versor);
// Turn around (1, 1, 0) axis on 180 degrees // Turn around (1, 1, 0) axis on 180 degrees
bgc_fp32_vector3_make(&initial_main, 1.0f, 0.0f, 0.0f); bgc_fp32_vector3_set_values(&initial_main, 1.0f, 0.0f, 0.0f);
bgc_fp32_vector3_make(&initial_branch, 0.0f, 1.0f, 0.0f); bgc_fp32_vector3_set_values(&initial_branch, 0.0f, 1.0f, 0.0f);
bgc_fp32_vector3_make(&final_main, 0.0f, 1.0f, 0.0f); bgc_fp32_vector3_set_values(&final_main, 0.0f, 1.0f, 0.0f);
bgc_fp32_vector3_make(&final_branch, 1.0f, 0.0f, 0.0f); bgc_fp32_vector3_set_values(&final_branch, 1.0f, 0.0f, 0.0f);
bgc_fp32_turn3_find_pair_difference(&turn, &initial_main, &initial_branch, &final_main, &final_branch); bgc_fp32_turn3_find_pair_difference(&turn, &initial_main, &initial_branch, &final_main, &final_branch);
@ -181,11 +181,11 @@ void test_pair_difference_fp32()
print_quaternion_fp32(&turn._versor); print_quaternion_fp32(&turn._versor);
// 180 degree turn // 180 degree turn
bgc_fp32_vector3_make(&initial_main, 1.0f, 0.0f, 0.0f); bgc_fp32_vector3_set_values(&initial_main, 1.0f, 0.0f, 0.0f);
bgc_fp32_vector3_make(&initial_branch, 0.0f, 1.0f, 0.0f); bgc_fp32_vector3_set_values(&initial_branch, 0.0f, 1.0f, 0.0f);
bgc_fp32_vector3_make(&final_main, -1.0f, 0.0f, 0.0f); bgc_fp32_vector3_set_values(&final_main, -1.0f, 0.0f, 0.0f);
bgc_fp32_vector3_make(&final_branch, 0.0f, 1.0f, 0.0f); bgc_fp32_vector3_set_values(&final_branch, 0.0f, 1.0f, 0.0f);
bgc_fp32_turn3_find_pair_difference(&turn, &initial_main, &initial_branch, &final_main, &final_branch); bgc_fp32_turn3_find_pair_difference(&turn, &initial_main, &initial_branch, &final_main, &final_branch);
@ -193,11 +193,11 @@ void test_pair_difference_fp32()
print_quaternion_fp32(&turn._versor); print_quaternion_fp32(&turn._versor);
// 90 degree turn around x3 axis // 90 degree turn around x3 axis