Переименование s0 -> s, x1 -> x, x2 -> y, x3 -> z, что должно упростить читаемость кода. Также обновление документации

This commit is contained in:
Andrey Pokidov 2026-03-29 22:06:01 +07:00
parent d83ab7160d
commit b8d383da33
38 changed files with 2104 additions and 2070 deletions

View file

@ -48,9 +48,9 @@ BGC_FP32_Affine3* _create_bgc_affine3_random_list(int affine_amount)
get_random_value_fp32() get_random_value_fp32()
); );
position.shift.x1 = get_random_value_fp32(); position.shift.x = get_random_value_fp32();
position.shift.x2 = get_random_value_fp32(); position.shift.y = get_random_value_fp32();
position.shift.x3 = get_random_value_fp32(); position.shift.z = get_random_value_fp32();
bgc_fp32_position3_get_affine(&affines[i], &position); bgc_fp32_position3_get_affine(&affines[i], &position);
} }
@ -72,9 +72,9 @@ BGC_FP32_Vector3* _create_bgc_vector3_random_list(int amount)
} }
for (int i = 0; i < amount; i++) { for (int i = 0; i < amount; i++) {
vectors[i].x1 = get_random_value_fp32(); vectors[i].x = get_random_value_fp32();
vectors[i].x2 = get_random_value_fp32(); vectors[i].y = get_random_value_fp32();
vectors[i].x3 = get_random_value_fp32(); vectors[i].z = get_random_value_fp32();
} }
return vectors; return vectors;
@ -146,7 +146,7 @@ float test_bgc_affine3_performance(int affine_amount, int vector_per_affine)
time = (float)(end.tv_sec - start.tv_sec) + (end.tv_nsec - start.tv_nsec) * 0.000000001f; time = (float)(end.tv_sec - start.tv_sec) + (end.tv_nsec - start.tv_nsec) * 0.000000001f;
#endif // _WIN64 #endif // _WIN64
printf("Result vector [0] = (%f, %f, %f)\n", result_vectors[0].x1, result_vectors[0].x2, result_vectors[0].x3); printf("Result vector [0] = (%f, %f, %f)\n", result_vectors[0].x, result_vectors[0].y, result_vectors[0].z);
free(result_vectors); free(result_vectors);
free(source_vectors); free(source_vectors);

View file

@ -53,22 +53,22 @@ structure_fp32_t* make_structures(const unsigned int amount)
void print_quaternion_fp32(const BGC_FP32_Quaternion* quaternion) void print_quaternion_fp32(const BGC_FP32_Quaternion* quaternion)
{ {
printf("Quaternion FP32(s0 = %0.12f, x1 = %0.12f, x2 = %0.12f, x3 = %0.12f)\n", quaternion->s0, quaternion->x1, quaternion->x2, quaternion->x3); printf("Quaternion FP32(s = %0.12f, x = %0.12f, y = %0.12f, z = %0.12f)\n", quaternion->s, quaternion->x, quaternion->y, quaternion->z);
} }
void print_quaternion_fp64(const BGC_FP64_Quaternion* quaternion) void print_quaternion_fp64(const BGC_FP64_Quaternion* quaternion)
{ {
printf("Quaternion FP64(s0 = %0.12f, x1 = %0.12f, x2 = %0.12f, x3 = %0.12f)\n", quaternion->s0, quaternion->x1, quaternion->x2, quaternion->x3); printf("Quaternion FP64(s = %0.12f, x = %0.12f, y = %0.12f, z = %0.12f)\n", quaternion->s, quaternion->x, quaternion->y, quaternion->z);
} }
void print_vector_fp32(const BGC_FP32_Vector3* vector) void print_vector_fp32(const BGC_FP32_Vector3* vector)
{ {
printf("(%f, %f, %f) / %f\n", vector->x1, vector->x2, vector->x3, bgc_fp32_vector3_get_length(vector)); printf("(%f, %f, %f) / %f\n", vector->x, vector->y, vector->z, bgc_fp32_vector3_get_length(vector));
} }
void print_vector_fp64(const BGC_FP64_Vector3* vector) void print_vector_fp64(const BGC_FP64_Vector3* vector)
{ {
printf("(%lf, %lf, %lf) / %lf\n", vector->x1, vector->x2, vector->x3, bgc_fp64_vector3_get_length(vector)); printf("(%lf, %lf, %lf) / %lf\n", vector->x, vector->y, vector->z, bgc_fp64_vector3_get_length(vector));
} }
void list_work(const uint_fast32_t amount, structure_fp32_t* list) void list_work(const uint_fast32_t amount, structure_fp32_t* list)

View file

@ -214,48 +214,48 @@ inline void bgc_fp64_dual_quaternion_get_dual_conjugate(BGC_FP64_DualQuaternion*
inline void bgc_fp32_dual_quaternion_fully_conjugate(BGC_FP32_DualQuaternion* const quaternion) inline void bgc_fp32_dual_quaternion_fully_conjugate(BGC_FP32_DualQuaternion* const quaternion)
{ {
quaternion->real_part.x1 = -quaternion->real_part.x1; quaternion->real_part.x = -quaternion->real_part.x;
quaternion->real_part.x2 = -quaternion->real_part.x2; quaternion->real_part.y = -quaternion->real_part.y;
quaternion->real_part.x3 = -quaternion->real_part.x3; quaternion->real_part.z = -quaternion->real_part.z;
quaternion->dual_part.s0 = -quaternion->dual_part.s0; quaternion->dual_part.s = -quaternion->dual_part.s;
} }
inline void bgc_fp64_dual_quaternion_fully_conjugate(BGC_FP64_DualQuaternion* const quaternion) inline void bgc_fp64_dual_quaternion_fully_conjugate(BGC_FP64_DualQuaternion* const quaternion)
{ {
quaternion->real_part.x1 = -quaternion->real_part.x1; quaternion->real_part.x = -quaternion->real_part.x;
quaternion->real_part.x2 = -quaternion->real_part.x2; quaternion->real_part.y = -quaternion->real_part.y;
quaternion->real_part.x3 = -quaternion->real_part.x3; quaternion->real_part.z = -quaternion->real_part.z;
quaternion->dual_part.s0 = -quaternion->dual_part.s0; quaternion->dual_part.s = -quaternion->dual_part.s;
} }
// ============ Get Fully Conjugate ============= // // ============ Get Fully Conjugate ============= //
inline void bgc_fp32_dual_quaternion_get_fully_conjugate(BGC_FP32_DualQuaternion* const conjugate, const BGC_FP32_DualQuaternion* const quaternion) inline void bgc_fp32_dual_quaternion_get_fully_conjugate(BGC_FP32_DualQuaternion* const conjugate, const BGC_FP32_DualQuaternion* const quaternion)
{ {
conjugate->real_part.s0 = quaternion->real_part.s0; conjugate->real_part.s = quaternion->real_part.s;
conjugate->real_part.x1 = -quaternion->real_part.x1; conjugate->real_part.x = -quaternion->real_part.x;
conjugate->real_part.x2 = -quaternion->real_part.x2; conjugate->real_part.y = -quaternion->real_part.y;
conjugate->real_part.x3 = -quaternion->real_part.x3; conjugate->real_part.z = -quaternion->real_part.z;
conjugate->dual_part.s0 = -quaternion->dual_part.s0; conjugate->dual_part.s = -quaternion->dual_part.s;
conjugate->dual_part.x1 = quaternion->dual_part.x1; conjugate->dual_part.x = quaternion->dual_part.x;
conjugate->dual_part.x2 = quaternion->dual_part.x2; conjugate->dual_part.y = quaternion->dual_part.y;
conjugate->dual_part.x3 = quaternion->dual_part.x3; conjugate->dual_part.z = quaternion->dual_part.z;
} }
inline void bgc_fp64_dual_quaternion_get_fully_conjugate(BGC_FP64_DualQuaternion* const conjugate, const BGC_FP64_DualQuaternion* const quaternion) inline void bgc_fp64_dual_quaternion_get_fully_conjugate(BGC_FP64_DualQuaternion* const conjugate, const BGC_FP64_DualQuaternion* const quaternion)
{ {
conjugate->real_part.s0 = quaternion->real_part.s0; conjugate->real_part.s = quaternion->real_part.s;
conjugate->real_part.x1 = -quaternion->real_part.x1; conjugate->real_part.x = -quaternion->real_part.x;
conjugate->real_part.x2 = -quaternion->real_part.x2; conjugate->real_part.y = -quaternion->real_part.y;
conjugate->real_part.x3 = -quaternion->real_part.x3; conjugate->real_part.z = -quaternion->real_part.z;
conjugate->dual_part.s0 = -quaternion->dual_part.s0; conjugate->dual_part.s = -quaternion->dual_part.s;
conjugate->dual_part.x1 = quaternion->dual_part.x1; conjugate->dual_part.x = quaternion->dual_part.x;
conjugate->dual_part.x2 = quaternion->dual_part.x2; conjugate->dual_part.y = quaternion->dual_part.y;
conjugate->dual_part.x3 = quaternion->dual_part.x3; conjugate->dual_part.z = quaternion->dual_part.z;
} }
// ================= Normalize ================== // // ================= Normalize ================== //

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

@ -210,64 +210,64 @@ inline void bgc_fp64_dual_vector3_multiply_by_conjugate_dual_number(BGC_FP64_Dua
inline void bgc_fp32_dual_vector3_multiply_by_matrix3x3(BGC_FP32_DualVector3* const product, const BGC_FP32_DualVector3* const vector, const BGC_FP32_Matrix3x3* const matrix) inline void bgc_fp32_dual_vector3_multiply_by_matrix3x3(BGC_FP32_DualVector3* const product, const BGC_FP32_DualVector3* const vector, const BGC_FP32_Matrix3x3* const matrix)