diff --git a/basic-geometry-dev/main.c b/basic-geometry-dev/main.c index 56e0f53..3e20b09 100644 --- a/basic-geometry-dev/main.c +++ b/basic-geometry-dev/main.c @@ -11,7 +11,7 @@ typedef struct { versor_fp32_t versor1, versor2, result; - matrix3x3_fp32_t matrix; + //matrix3x3_fp32_t matrix; vector3_fp32_t vector1, vector2; } structure_fp32_t; @@ -31,7 +31,7 @@ structure_fp32_t* make_structures(const unsigned int amount) const float multiplier = 2.0f / RAND_MAX; for (unsigned int i = 0; i < amount; i++) { - versor_fp32_set_values( + versor_set_values_fp32( rand() * multiplier - 1.0f, rand() * multiplier - 1.0f, rand() * multiplier - 1.0f, @@ -39,7 +39,7 @@ structure_fp32_t* make_structures(const unsigned int amount) &list[i].versor1 ); - versor_fp32_set_values( + versor_set_values_fp32( rand() * multiplier - 1.0f, rand() * multiplier - 1.0f, rand() * multiplier - 1.0f, @@ -49,9 +49,9 @@ structure_fp32_t* make_structures(const unsigned int amount) versor_reset_fp32(&list[i].result); - matrix3x3_fp32_set_to_identity(&list[i].matrix); + //matrix3x3_set_to_identity_fp32(&list[i].matrix); - vector3_set_fp32( + vector3_set_values_fp32( rand() * multiplier - 1.0f, rand() * multiplier - 1.0f, rand() * multiplier - 1.0f, @@ -86,9 +86,10 @@ void print_vector_fp64(const vector3_fp64_t* vector) void item_work(structure_fp32_t* item) { - versor_fp32_combine(&item->versor1, &item->versor1, &item->result); - versor_fp32_make_rotation_matrix(&item->result, &item->matrix); - matrix3x3_fp32_right_product(&item->matrix, &item->vector1, &item->vector2); + for (int j = 0; j < 1000; j++) { + versor_combine_fp32(&item->versor1, &item->versor2, &item->result); + versor_turn_vector_fp32(&item->result, &item->vector1, &item->vector2); + } } int main() @@ -121,13 +122,12 @@ int main() #endif // _WIN64 for (unsigned int i = 0; i < amount; i++) { - for (int j = 0; j < 1000; j++) { - //item_work(list + i); - versor_fp32_combine(&list[i].versor1, &list[i].versor2, &list[i].result); - versor_fp32_make_rotation_matrix(&list[i].result, &list[i].matrix); - matrix3x3_fp32_right_product(&list[i].matrix, &list[i].vector1, &list[i].vector2); - //versor_fp32_turn(&list[i].result, &list[i].vector1, &list[i].vector2); - } + //for (int j = 0; j < 1000; j++) { + item_work(list + i); + //structure_fp32_t* item = list + i; + //versor_combine_fp32(&item->versor1, &item->versor2, &item->result); + //versor_turn_vector_fp32(&item->result, &item->vector1, &item->vector2); + //} } #ifdef _WIN64 diff --git a/basic-geometry-test/fp32_vector2_test.c b/basic-geometry-test/fp32_vector2_test.c index 1be1ee4..86c2189 100644 --- a/basic-geometry-test/fp32_vector2_test.c +++ b/basic-geometry-test/fp32_vector2_test.c @@ -1,4 +1,4 @@ -#include "vector2_fp32_test.h" +#include "fp32_vector2_test.h" const int TEST_FP32_VECTOR2_AMOUNT_1 = 5; @@ -31,7 +31,7 @@ int test_vector2_fp32_square_modulus() for (int i = 0; i < TEST_FP32_VECTOR2_AMOUNT_1; i++) { square_modulus = vector2_get_square_modulus_fp32(&TEST_FP32_VECTOR2_COMMON_1[i]); - if (!test_fp32_are_equal(square_modulus, FP32_VECTOR2_SQUARE_MODULUS_1[i], TEST_FP32_TWO_EPSYLON)) { + if (!test_are_equal_fp32(square_modulus, FP32_VECTOR2_SQUARE_MODULUS_1[i], TEST_FP32_TWO_EPSYLON)) { print_test_failed(); return TEST_RESULT_FAILED; } @@ -54,7 +54,7 @@ int test_vector2_fp32_modulus() for (int i = 0; i < TEST_FP32_VECTOR2_AMOUNT_1; i++) { square_modulus = vector2_get_modulus_fp32(&TEST_FP32_VECTOR2_COMMON_1[i]); - if (!test_fp32_are_equal(square_modulus, FP32_VECTOR2_MODULUS_1[i], TEST_FP32_EPSYLON)) { + if (!test_are_equal_fp32(square_modulus, FP32_VECTOR2_MODULUS_1[i], TEST_FP32_EPSYLON)) { print_test_failed(); return TEST_RESULT_FAILED; } @@ -74,17 +74,17 @@ const vector2_fp32_t TEST_FP32_VECTOR2_COMMON_1_2_SUM[] = { { -122.0f, -19.6217f } }; -int test_vector2_fp32_add() +int test_vector2_add_fp32() { print_test_name("vector2_fp32_t add"); vector2_fp32_t vector; for (int i = 0; i < TEST_FP32_VECTOR2_AMOUNT_1; i++) { - vector2_fp32_add(&TEST_FP32_VECTOR2_COMMON_1[i], &TEST_FP32_VECTOR2_COMMON_2[i], &vector); + vector2_add_fp32(&TEST_FP32_VECTOR2_COMMON_1[i], &TEST_FP32_VECTOR2_COMMON_2[i], &vector); - if (!test_fp32_are_equal(vector.x1, TEST_FP32_VECTOR2_COMMON_1_2_SUM[i].x1, TEST_FP32_EPSYLON) || - !test_fp32_are_equal(vector.x2, TEST_FP32_VECTOR2_COMMON_1_2_SUM[i].x2, TEST_FP32_EPSYLON)) { + if (!test_are_equal_fp32(vector.x1, TEST_FP32_VECTOR2_COMMON_1_2_SUM[i].x1, TEST_FP32_EPSYLON) || + !test_are_equal_fp32(vector.x2, TEST_FP32_VECTOR2_COMMON_1_2_SUM[i].x2, TEST_FP32_EPSYLON)) { print_test_failed(); return TEST_RESULT_FAILED; } @@ -104,17 +104,17 @@ const vector2_fp32_t TEST_FP32_VECTOR2_COMMON_1_2_DIFF[] = { { -125.0f, 27.0783f } }; -int test_vector2_fp32_subtract() +int test_vector2_subtract_fp32() { print_test_name("vector2_fp32_t subtract"); vector2_fp32_t vector; for (int i = 0; i < TEST_FP32_VECTOR2_AMOUNT_1; i++) { - vector2_fp32_subtract(&TEST_FP32_VECTOR2_COMMON_1[i], &TEST_FP32_VECTOR2_COMMON_2[i], &vector); + vector2_subtract_fp32(&TEST_FP32_VECTOR2_COMMON_1[i], &TEST_FP32_VECTOR2_COMMON_2[i], &vector); - if (!test_fp32_are_equal(vector.x1, TEST_FP32_VECTOR2_COMMON_1_2_DIFF[i].x1, TEST_FP32_EPSYLON) || - !test_fp32_are_equal(vector.x2, TEST_FP32_VECTOR2_COMMON_1_2_DIFF[i].x2, TEST_FP32_EPSYLON)) { + if (!test_are_equal_fp32(vector.x1, TEST_FP32_VECTOR2_COMMON_1_2_DIFF[i].x1, TEST_FP32_EPSYLON) || + !test_are_equal_fp32(vector.x2, TEST_FP32_VECTOR2_COMMON_1_2_DIFF[i].x2, TEST_FP32_EPSYLON)) { print_test_failed(); return TEST_RESULT_FAILED; } @@ -138,11 +138,11 @@ int test_fp32_vector2() return TEST_RESULT_FAILED; } - if (test_vector2_fp32_add() != TEST_RESULT_SUCCES) { + if (test_vector2_add_fp32() != TEST_RESULT_SUCCES) { return TEST_RESULT_FAILED; } - if (test_vector2_fp32_subtract() != TEST_RESULT_SUCCES) { + if (test_vector2_subtract_fp32() != TEST_RESULT_SUCCES) { return TEST_RESULT_FAILED; } diff --git a/basic-geometry-test/fp32_vector2_test.h b/basic-geometry-test/fp32_vector2_test.h index 0ea82f7..ad687a3 100644 --- a/basic-geometry-test/fp32_vector2_test.h +++ b/basic-geometry-test/fp32_vector2_test.h @@ -9,8 +9,8 @@ int test_vector2_fp32_square_modulus(); int test_vector2_fp32_modulus(); -int test_vector2_fp32_add(); +int test_vector2_add_fp32(); -int test_vector2_fp32_subtract(); +int test_vector2_subtract_fp32(); #endif diff --git a/basic-geometry-test/geometry_test.h b/basic-geometry-test/geometry_test.h index 04d5151..689940b 100644 --- a/basic-geometry-test/geometry_test.h +++ b/basic-geometry-test/geometry_test.h @@ -22,7 +22,7 @@ void print_test_success(); void print_test_failed(); -inline int test_fp32_are_equal(const float value1, const float value2, const float epsylon) +inline int test_are_equal_fp32(const float value1, const float value2, const float epsylon) { if (-1.0f <= value1 && value1 <= 1.0f) { const float difference = value1 - value2; @@ -36,7 +36,7 @@ inline int test_fp32_are_equal(const float value1, const float value2, const flo return value1 * (1.0f + epsylon) <= value2 && value2 * (1.0f + epsylon) <= value1; } -inline int test_fp64_are_equal(const double value1, const double value2, const double epsylon) +inline int test_are_equal_fp64(const double value1, const double value2, const double epsylon) { if (-1.0 <= value1 && value1 <= 1.0) { const double difference = value1 - value2; diff --git a/basic-geometry-test/main.c b/basic-geometry-test/main.c index ffd2985..03b5b92 100644 --- a/basic-geometry-test/main.c +++ b/basic-geometry-test/main.c @@ -2,7 +2,7 @@ #include #include "geometry_test.h" -#include "vector2_fp32_test.h" +#include "fp32_vector2_test.h" #define PROGRAM_RESULT_SUCCESS 0 #define PROGRAM_RESULT_FAILED 1 diff --git a/basic-geometry/matrix2x2.h b/basic-geometry/matrix2x2.h index fe296a3..80954ef 100644 --- a/basic-geometry/matrix2x2.h +++ b/basic-geometry/matrix2x2.h @@ -25,7 +25,7 @@ inline void matrix2x2_reset_fp64(matrix2x2_fp64_t* matrix) // ================== Identity ================== // -inline void matrix2x2_fp32_set_to_identity(matrix2x2_fp32_t* matrix) +inline void matrix2x2_set_to_identity_fp32(matrix2x2_fp32_t* matrix) { matrix->r1c1 = 1.0f; matrix->r1c2 = 0.0f; @@ -33,7 +33,7 @@ inline void matrix2x2_fp32_set_to_identity(matrix2x2_fp32_t* matrix) matrix->r2c2 = 1.0f; } -inline void matrix2x2_fp64_set_to_identity(matrix2x2_fp64_t* matrix) +inline void matrix2x2_set_to_identity_fp64(matrix2x2_fp64_t* matrix) { matrix->r1c1 = 1.0; matrix->r1c2 = 0.0; @@ -43,7 +43,7 @@ inline void matrix2x2_fp64_set_to_identity(matrix2x2_fp64_t* matrix) // ================ Make Diagonal =============== // -inline void matrix2x2_fp32_set_to_diagonal(const float d1, const float d2, matrix2x2_fp32_t* matrix) +inline void matrix2x2_set_to_diagonal_fp32(const float d1, const float d2, matrix2x2_fp32_t* matrix) { matrix->r1c1 = d1; matrix->r1c2 = 0.0f; @@ -51,7 +51,7 @@ inline void matrix2x2_fp32_set_to_diagonal(const float d1, const float d2, matri matrix->r2c2 = d2; } -inline void matrix2x2_fp64_set_to_diagonal(const double d1, const double d2, matrix2x2_fp64_t* matrix) +inline void matrix2x2_set_to_diagonal_fp64(const double d1, const double d2, matrix2x2_fp64_t* matrix) { matrix->r1c1 = d1; matrix->r1c2 = 0.0; @@ -61,7 +61,7 @@ inline void matrix2x2_fp64_set_to_diagonal(const double d1, const double d2, mat // ============== Rotation Matrix =============== // -inline void matrix2x2_fp32_make_turn(const float angle, const angle_unit_t unit, matrix2x2_fp32_t* matrix) +inline void matrix2x2_make_rotation_fp32(const float angle, const angle_unit_t unit, matrix2x2_fp32_t* matrix) { const float radians = fp32_angle_to_radians(angle, unit); const float cosine = cosf(radians); @@ -73,7 +73,7 @@ inline void matrix2x2_fp32_make_turn(const float angle, const angle_unit_t unit, matrix->r2c2 = cosine; } -inline void matrix2x2_fp64_make_turn(const double angle, const angle_unit_t unit, matrix2x2_fp64_t* matrix) +inline void matrix2x2_make_rotation_fp64(const double angle, const angle_unit_t unit, matrix2x2_fp64_t* matrix) { const double radians = fp64_angle_to_radians(angle, unit); const double cosine = cos(radians); @@ -151,7 +151,7 @@ inline void matrix2x2_swap_fp64(matrix2x2_fp64_t* matrix1, matrix2x2_fp64_t* mat // ============= Copy to twin type ============== // -inline void matrix2x2_fp32_set_from_fp64(const matrix2x2_fp64_t* from, matrix2x2_fp32_t* to) +inline void matrix2x2_convert_fp64_to_fp32(const matrix2x2_fp64_t* from, matrix2x2_fp32_t* to) { to->r1c1 = (float)from->r1c1; to->r1c2 = (float)from->r1c2; @@ -160,7 +160,7 @@ inline void matrix2x2_fp32_set_from_fp64(const matrix2x2_fp64_t* from, matrix2x2 to->r2c2 = (float)from->r2c2; } -inline void matrix2x2_fp64_set_from_fp32(const matrix2x2_fp32_t* from, matrix2x2_fp64_t* to) +inline void matrix2x2_convert_fp32_to_fp64(const matrix2x2_fp32_t* from, matrix2x2_fp64_t* to) { to->r1c1 = from->r1c1; to->r1c2 = from->r1c2; @@ -171,42 +171,42 @@ inline void matrix2x2_fp64_set_from_fp32(const matrix2x2_fp32_t* from, matrix2x2 // ================ Determinant ================= // -inline float matrix2x2_fp32_get_determinant(const matrix2x2_fp32_t* matrix) +inline float matrix2x2_get_determinant_fp32(const matrix2x2_fp32_t* matrix) { return matrix->r1c1 * matrix->r2c2 - matrix->r1c2 * matrix->r2c1; } -inline double matrix2x2_fp64_get_determinant(const matrix2x2_fp64_t* matrix) +inline double matrix2x2_get_determinant_fp64(const matrix2x2_fp64_t* matrix) { return matrix->r1c1 * matrix->r2c2 - matrix->r1c2 * matrix->r2c1; } // ================== Singular ================== // -inline int matrix2x2_fp32_is_singular(const matrix2x2_fp32_t* matrix) +inline int matrix2x2_is_singular_fp32(const matrix2x2_fp32_t* matrix) { - const float determinant = matrix2x2_fp32_get_determinant(matrix); + const float determinant = matrix2x2_get_determinant_fp32(matrix); return -FP32_EPSYLON <= determinant && determinant <= FP32_EPSYLON; } -inline int matrix2x2_fp64_is_singular(const matrix2x2_fp64_t* matrix) +inline int matrix2x2_is_singular_fp64(const matrix2x2_fp64_t* matrix) { - const double determinant = matrix2x2_fp64_get_determinant(matrix); + const double determinant = matrix2x2_get_determinant_fp64(matrix); return -FP64_EPSYLON <= determinant && determinant <= FP64_EPSYLON; } // =============== Transposition ================ // -inline void matrix2x2_fp32_transpose(matrix2x2_fp32_t* matrix) +inline void matrix2x2_transpose_fp32(matrix2x2_fp32_t* matrix) { const float tmp = matrix->r1c2; matrix->r1c2 = matrix->r2c1; matrix->r2c1 = tmp; } -inline void matrix2x2_fp64_transpose(matrix2x2_fp64_t* matrix) +inline void matrix2x2_transpose_fp64(matrix2x2_fp64_t* matrix) { const double tmp = matrix->r1c2; matrix->r1c2 = matrix->r2c1; @@ -217,7 +217,7 @@ inline void matrix2x2_fp64_transpose(matrix2x2_fp64_t* matrix) inline int matrix2x2_invert_fp32(matrix2x2_fp32_t* matrix) { - const float determinant = matrix2x2_fp32_get_determinant(matrix); + const float determinant = matrix2x2_get_determinant_fp32(matrix); if (-FP32_EPSYLON <= determinant && determinant <= FP32_EPSYLON) { return 0; @@ -242,7 +242,7 @@ inline int matrix2x2_invert_fp32(matrix2x2_fp32_t* matrix) inline int matrix2x2_invert_fp64(matrix2x2_fp64_t* matrix) { - const double determinant = matrix2x2_fp64_get_determinant(matrix); + const double determinant = matrix2x2_get_determinant_fp64(matrix); if (-FP64_EPSYLON <= determinant && determinant <= FP64_EPSYLON) { return 0; @@ -267,7 +267,7 @@ inline int matrix2x2_invert_fp64(matrix2x2_fp64_t* matrix) // =============== Set Transposed =============== // -inline void matrix2x2_fp32_set_transposed(const matrix2x2_fp32_t* from, matrix2x2_fp32_t* to) +inline void matrix2x2_set_transposed_fp32(const matrix2x2_fp32_t* from, matrix2x2_fp32_t* to) { float tmp = from->r1c2; @@ -278,7 +278,7 @@ inline void matrix2x2_fp32_set_transposed(const matrix2x2_fp32_t* from, matrix2x to->r2c2 = from->r2c2; } -inline void matrix2x2_fp64_set_transposed(const matrix2x2_fp64_t* from, matrix2x2_fp64_t* to) +inline void matrix2x2_set_transposed_fp64(const matrix2x2_fp64_t* from, matrix2x2_fp64_t* to) { double tmp = from->r1c2; @@ -291,9 +291,9 @@ inline void matrix2x2_fp64_set_transposed(const matrix2x2_fp64_t* from, matrix2x // ================ Set Inverted ================ // -inline int matrix2x2_fp32_set_inverted(const matrix2x2_fp32_t* from, matrix2x2_fp32_t* to) +inline int matrix2x2_set_inverted_fp32(const matrix2x2_fp32_t* from, matrix2x2_fp32_t* to) { - const float determinant = matrix2x2_fp32_get_determinant(from); + const float determinant = matrix2x2_get_determinant_fp32(from); if (-FP32_EPSYLON <= determinant && determinant <= FP32_EPSYLON) { return 0; @@ -316,9 +316,9 @@ inline int matrix2x2_fp32_set_inverted(const matrix2x2_fp32_t* from, matrix2x2_f return 1; } -inline int matrix2x2_fp64_set_inverted(const matrix2x2_fp64_t* from, matrix2x2_fp64_t* to) +inline int matrix2x2_set_inverted_fp64(const matrix2x2_fp64_t* from, matrix2x2_fp64_t* to) { - const double determinant = matrix2x2_fp64_get_determinant(from); + const double determinant = matrix2x2_get_determinant_fp64(from); if (-FP64_EPSYLON <= determinant && determinant <= FP64_EPSYLON) { return 0; @@ -343,13 +343,13 @@ inline int matrix2x2_fp64_set_inverted(const matrix2x2_fp64_t* from, matrix2x2_f // ================= Set Row 1 ================== // -inline void matrix2x2_fp32_set_row1(const float c1, const float c2, matrix2x2_fp32_t* matrix) +inline void matrix2x2_set_row1_fp32(const float c1, const float c2, matrix2x2_fp32_t* matrix) { matrix->r1c1 = c1; matrix->r1c2 = c2; } -inline void matrix2x2_fp64_set_row1(const double c1, const double c2, matrix2x2_fp64_t* matrix) +inline void matrix2x2_set_row1_fp64(const double c1, const double c2, matrix2x2_fp64_t* matrix) { matrix->r1c1 = c1; matrix->r1c2 = c2; @@ -357,13 +357,13 @@ inline void matrix2x2_fp64_set_row1(const double c1, const double c2, matrix2x2_ // ================= Set Row 2 ================== // -inline void matrix2x2_fp32_set_row2(const float c1, const float c2, matrix2x2_fp32_t* matrix) +inline void matrix2x2_set_row2_fp32(const float c1, const float c2, matrix2x2_fp32_t* matrix) { matrix->r2c1 = c1; matrix->r2c2 = c2; } -inline void matrix2x2_fp64_set_row2(const double c1, const double c2, matrix2x2_fp64_t* matrix) +inline void matrix2x2_set_row2_fp64(const double c1, const double c2, matrix2x2_fp64_t* matrix) { matrix->r2c1 = c1; matrix->r2c2 = c2; @@ -371,13 +371,13 @@ inline void matrix2x2_fp64_set_row2(const double c1, const double c2, matrix2x2_ // ================ Set Column 1 ================ // -inline void matrix2x2_fp32_set_column1(const float r1, const float r2, matrix2x2_fp32_t* matrix) +inline void matrix2x2_set_column1_fp32(const float r1, const float r2, matrix2x2_fp32_t* matrix) { matrix->r1c1 = r1; matrix->r2c1 = r2; } -inline void matrix2x2_fp64_set_column1(const double r1, const double r2, matrix2x2_fp64_t* matrix) +inline void matrix2x2_set_column1_fp64(const double r1, const double r2, matrix2x2_fp64_t* matrix) { matrix->r1c1 = r1; matrix->r2c1 = r2; @@ -385,13 +385,13 @@ inline void matrix2x2_fp64_set_column1(const double r1, const double r2, matrix2 // ================ Set Column 2 ================ // -inline void matrix2x2_fp32_set_column2(const float r1, const float r2, matrix2x2_fp32_t* matrix) +inline void matrix2x2_set_column2_fp32(const float r1, const float r2, matrix2x2_fp32_t* matrix) { matrix->r1c2 = r1; matrix->r2c2 = r2; } -inline void matrix2x2_fp64_set_column2(const double r1, const double r2, matrix2x2_fp64_t* matrix) +inline void matrix2x2_set_column2_fp64(const double r1, const double r2, matrix2x2_fp64_t* matrix) { matrix->r1c2 = r1; matrix->r2c2 = r2; @@ -399,7 +399,7 @@ inline void matrix2x2_fp64_set_column2(const double r1, const double r2, matrix2 // ================ Append scaled =============== // -inline void matrix2x2_fp32_append_scaled(matrix2x2_fp32_t* basic_vector, const matrix2x2_fp32_t* scalable_vector, const float scale) +inline void matrix2x2_add_scaled_fp32(matrix2x2_fp32_t* basic_vector, const matrix2x2_fp32_t* scalable_vector, const float scale) { basic_vector->r1c1 += scalable_vector->r1c1 * scale; basic_vector->r1c2 += scalable_vector->r1c2 * scale; @@ -408,7 +408,7 @@ inline void matrix2x2_fp32_append_scaled(matrix2x2_fp32_t* basic_vector, const m basic_vector->r2c2 += scalable_vector->r2c2 * scale; } -inline void matrix2x2_fp64_append_scaled(matrix2x2_fp64_t* basic_vector, const matrix2x2_fp64_t* scalable_vector, const double scale) +inline void matrix2x2_add_scaled_fp64(matrix2x2_fp64_t* basic_vector, const matrix2x2_fp64_t* scalable_vector, const double scale) { basic_vector->r1c1 += scalable_vector->r1c1 * scale; basic_vector->r1c2 += scalable_vector->r1c2 * scale; @@ -419,7 +419,7 @@ inline void matrix2x2_fp64_append_scaled(matrix2x2_fp64_t* basic_vector, const m // ================== Addition ================== // -inline void matrix2x2_fp32_add(const matrix2x2_fp32_t* matrix1, const matrix2x2_fp32_t* matrix2, matrix2x2_fp32_t* sum) +inline void matrix2x2_add_fp32(const matrix2x2_fp32_t* matrix1, const matrix2x2_fp32_t* matrix2, matrix2x2_fp32_t* sum) { sum->r1c1 = matrix1->r1c1 + matrix2->r1c1; sum->r1c2 = matrix1->r1c2 + matrix2->r1c2; @@ -428,7 +428,7 @@ inline void matrix2x2_fp32_add(const matrix2x2_fp32_t* matrix1, const matrix2x2_ sum->r2c2 = matrix1->r2c2 + matrix2->r2c2; } -inline void matrix2x2_fp64_add(const matrix2x2_fp64_t* matrix1, const matrix2x2_fp64_t* matrix2, matrix2x2_fp64_t* sum) +inline void matrix2x2_add_fp64(const matrix2x2_fp64_t* matrix1, const matrix2x2_fp64_t* matrix2, matrix2x2_fp64_t* sum) { sum->r1c1 = matrix1->r1c1 + matrix2->r1c1; sum->r1c2 = matrix1->r1c2 + matrix2->r1c2; @@ -439,7 +439,7 @@ inline void matrix2x2_fp64_add(const matrix2x2_fp64_t* matrix1, const matrix2x2_ // ================ Subtraction ================= // -inline void matrix2x2_fp32_subtract(const matrix2x2_fp32_t* minuend, const matrix2x2_fp32_t* subtrahend, matrix2x2_fp32_t* difference) +inline void matrix2x2_subtract_fp32(const matrix2x2_fp32_t* minuend, const matrix2x2_fp32_t* subtrahend, matrix2x2_fp32_t* difference) { difference->r1c1 = minuend->r1c1 - subtrahend->r1c1; difference->r1c2 = minuend->r1c2 - subtrahend->r1c2; @@ -448,7 +448,7 @@ inline void matrix2x2_fp32_subtract(const matrix2x2_fp32_t* minuend, const matri difference->r2c2 = minuend->r2c2 - subtrahend->r2c2; } -inline void matrix2x2_fp64_subtract(const matrix2x2_fp64_t* minuend, const matrix2x2_fp64_t* subtrahend, matrix2x2_fp64_t* difference) +inline void matrix2x2_subtract_fp64(const matrix2x2_fp64_t* minuend, const matrix2x2_fp64_t* subtrahend, matrix2x2_fp64_t* difference) { difference->r1c1 = minuend->r1c1 - subtrahend->r1c1; difference->r1c2 = minuend->r1c2 - subtrahend->r1c2; @@ -459,7 +459,7 @@ inline void matrix2x2_fp64_subtract(const matrix2x2_fp64_t* minuend, const matri // =============== Multiplication =============== // -inline void matrix2x2_fp32_multiply(const matrix2x2_fp32_t* multiplicand, const float multiplier, matrix2x2_fp32_t* product) +inline void matrix2x2_multiply_fp32(const matrix2x2_fp32_t* multiplicand, const float multiplier, matrix2x2_fp32_t* product) { product->r1c1 = multiplicand->r1c1 * multiplier; product->r1c2 = multiplicand->r1c2 * multiplier; @@ -468,7 +468,7 @@ inline void matrix2x2_fp32_multiply(const matrix2x2_fp32_t* multiplicand, const product->r2c2 = multiplicand->r2c2 * multiplier; } -inline void matrix2x2_fp64_multiply(const matrix2x2_fp64_t* multiplicand, const double multiplier, matrix2x2_fp64_t* product) +inline void matrix2x2_multiply_fp64(const matrix2x2_fp64_t* multiplicand, const double multiplier, matrix2x2_fp64_t* product) { product->r1c1 = multiplicand->r1c1 * multiplier; product->r1c2 = multiplicand->r1c2 * multiplier; @@ -479,19 +479,19 @@ inline void matrix2x2_fp64_multiply(const matrix2x2_fp64_t* multiplicand, const // ================== Division ================== // -inline void matrix2x2_fp32_divide(const matrix2x2_fp32_t* dividend, const float divisor, matrix2x2_fp32_t* quotient) +inline void matrix2x2_divide_fp32(const matrix2x2_fp32_t* dividend, const float divisor, matrix2x2_fp32_t* quotient) { - matrix2x2_fp32_multiply(dividend, 1.0f / divisor, quotient); + matrix2x2_multiply_fp32(dividend, 1.0f / divisor, quotient); } inline void matrix2x2_fp64_divide(const matrix2x2_fp64_t* dividend, const double divisor, matrix2x2_fp64_t* quotient) { - matrix2x2_fp64_multiply(dividend, 1.0 / divisor, quotient); + matrix2x2_multiply_fp64(dividend, 1.0 / divisor, quotient); } // ============ Left Vector Product ============= // -inline void matrix2x2_fp32_left_product(const vector2_fp32_t* vector, const matrix2x2_fp32_t* matrix, vector2_fp32_t* result) +inline void matrix2x2_left_product_fp32(const vector2_fp32_t* vector, const matrix2x2_fp32_t* matrix, vector2_fp32_t* result) { const float x1 = vector->x1 * matrix->r1c1 + vector->x2 * matrix->r2c1; const float x2 = vector->x1 * matrix->r1c2 + vector->x2 * matrix->r2c2; @@ -500,7 +500,7 @@ inline void matrix2x2_fp32_left_product(const vector2_fp32_t* vector, const matr result->x2 = x2; } -inline void matrix2x2_fp64_left_product(const vector2_fp64_t* vector, const matrix2x2_fp64_t* matrix, vector2_fp64_t* result) +inline void matrix2x2_left_product_fp64(const vector2_fp64_t* vector, const matrix2x2_fp64_t* matrix, vector2_fp64_t* result) { const double x1 = vector->x1 * matrix->r1c1 + vector->x2 * matrix->r2c1; const double x2 = vector->x1 * matrix->r1c2 + vector->x2 * matrix->r2c2; @@ -511,7 +511,7 @@ inline void matrix2x2_fp64_left_product(const vector2_fp64_t* vector, const matr // ============ Right Vector Product ============ // -inline void matrix2x2_fp32_right_product(const matrix2x2_fp32_t* matrix, const vector2_fp32_t* vector, vector2_fp32_t* result) +inline void matrix2x2_right_product_fp32(const matrix2x2_fp32_t* matrix, const vector2_fp32_t* vector, vector2_fp32_t* result) { const float x1 = matrix->r1c1 * vector->x1 + matrix->r1c2 * vector->x2; const float x2 = matrix->r2c1 * vector->x1 + matrix->r2c2 * vector->x2; @@ -520,7 +520,7 @@ inline void matrix2x2_fp32_right_product(const matrix2x2_fp32_t* matrix, const v result->x2 = x2; } -inline void matrix2x2_fp64_right_product(const matrix2x2_fp64_t* matrix, const vector2_fp64_t* vector, vector2_fp64_t* result) +inline void matrix2x2_right_product_fp64(const matrix2x2_fp64_t* matrix, const vector2_fp64_t* vector, vector2_fp64_t* result) { const double x1 = matrix->r1c1 * vector->x1 + matrix->r1c2 * vector->x2; const double x2 = matrix->r2c1 * vector->x1 + matrix->r2c2 * vector->x2; diff --git a/basic-geometry/matrix2x3.h b/basic-geometry/matrix2x3.h index 398e9f7..68a7a63 100644 --- a/basic-geometry/matrix2x3.h +++ b/basic-geometry/matrix2x3.h @@ -121,7 +121,7 @@ inline void matrix2x3_swap_fp64(matrix2x3_fp64_t* matrix1, matrix2x3_fp64_t* mat // ============= Copy to twin type ============== // -inline void matrix2x3_fp32_set_from_fp64(const matrix2x3_fp64_t* from, matrix2x3_fp32_t* to) +inline void matrix2x3_convert_fp64_to_fp32(const matrix2x3_fp64_t* from, matrix2x3_fp32_t* to) { to->r1c1 = (float) from->r1c1; to->r1c2 = (float) from->r1c2; @@ -133,7 +133,7 @@ inline void matrix2x3_fp32_set_from_fp64(const matrix2x3_fp64_t* from, matrix2x3 to->r3c2 = (float) from->r3c2; } -inline void matrix2x3_fp64_set_from_fp32(const matrix2x3_fp32_t* from, matrix2x3_fp64_t* to) +inline void matrix2x3_convert_fp32_to_fp64(const matrix2x3_fp32_t* from, matrix2x3_fp64_t* to) { to->r1c1 = from->r1c1; to->r1c2 = from->r1c2; @@ -147,7 +147,7 @@ inline void matrix2x3_fp64_set_from_fp32(const matrix2x3_fp32_t* from, matrix2x3 // =============== Set transposed =============== // -inline void matrix2x3_fp32_set_transposed(const matrix3x2_fp32_t* from, matrix2x3_fp32_t* to) +inline void matrix2x3_set_transposed_fp32(const matrix3x2_fp32_t* from, matrix2x3_fp32_t* to) { to->r1c1 = from->r1c1; to->r1c2 = from->r2c1; @@ -159,7 +159,7 @@ inline void matrix2x3_fp32_set_transposed(const matrix3x2_fp32_t* from, matrix2x to->r3c2 = from->r2c3; } -inline void matrix2x3_fp64_set_transposed(const matrix3x2_fp64_t* from, matrix2x3_fp64_t* to) +inline void matrix2x3_set_transposed_fp64(const matrix3x2_fp64_t* from, matrix2x3_fp64_t* to) { to->r1c1 = from->r1c1; to->r1c2 = from->r2c1; @@ -173,7 +173,7 @@ inline void matrix2x3_fp64_set_transposed(const matrix3x2_fp64_t* from, matrix2x // =============== Set transposed =============== // -inline void matrix2x3_fp32_set_transposed_fp64(const matrix3x2_fp64_t* from, matrix2x3_fp32_t* to) +inline void matrix2x3_set_transposed_fp32_fp64(const matrix3x2_fp64_t* from, matrix2x3_fp32_t* to) { to->r1c1 = (float) from->r1c1; to->r1c2 = (float) from->r2c1; @@ -185,7 +185,7 @@ inline void matrix2x3_fp32_set_transposed_fp64(const matrix3x2_fp64_t* from, mat to->r3c2 = (float) from->r2c3; } -inline void matrix2x3_fp64_set_transposed_fp32(const matrix3x2_fp32_t* from, matrix2x3_fp64_t* to) +inline void matrix2x3_set_transposed_fp64_fp32(const matrix3x2_fp32_t* from, matrix2x3_fp64_t* to) { to->r1c1 = from->r1c1; to->r1c2 = from->r2c1; @@ -199,13 +199,13 @@ inline void matrix2x3_fp64_set_transposed_fp32(const matrix3x2_fp32_t* from, mat // ================= Set Row 1 ================== // -inline void matrix2x3_fp32_set_row1(const float c1, const float c2, matrix2x3_fp32_t* matrix) +inline void matrix2x3_set_row1_fp32(const float c1, const float c2, matrix2x3_fp32_t* matrix) { matrix->r1c1 = c1; matrix->r1c2 = c2; } -inline void matrix2x3_fp64_set_row1(const double c1, const double c2, matrix2x3_fp64_t* matrix) +inline void matrix2x3_set_row1_fp64(const double c1, const double c2, matrix2x3_fp64_t* matrix) { matrix->r1c1 = c1; matrix->r1c2 = c2; @@ -213,13 +213,13 @@ inline void matrix2x3_fp64_set_row1(const double c1, const double c2, matrix2x3_ // ================= Set Row 2 ================== // -inline void matrix2x3_fp32_set_row2(const float c1, const float c2, matrix2x3_fp32_t* matrix) +inline void matrix2x3_set_row2_fp32(const float c1, const float c2, matrix2x3_fp32_t* matrix) { matrix->r2c1 = c1; matrix->r2c2 = c2; } -inline void matrix2x3_fp64_set_row2(const double c1, const double c2, matrix2x3_fp64_t* matrix) +inline void matrix2x3_set_row2_fp64(const double c1, const double c2, matrix2x3_fp64_t* matrix) { matrix->r2c1 = c1; matrix->r2c2 = c2; @@ -227,13 +227,13 @@ inline void matrix2x3_fp64_set_row2(const double c1, const double c2, matrix2x3_ // ================= Set Row 3 ================== // -inline void matrix2x3_fp32_set_row3(const float c1, const float c2, matrix2x3_fp32_t* matrix) +inline void matrix2x3_set_row3_fp32(const float c1, const float c2, matrix2x3_fp32_t* matrix) { matrix->r3c1 = c1; matrix->r3c2 = c2; } -inline void matrix2x3_fp64_set_row3(const double c1, const double c2, matrix2x3_fp64_t* matrix) +inline void matrix2x3_set_row3_fp64(const double c1, const double c2, matrix2x3_fp64_t* matrix) { matrix->r3c1 = c1; matrix->r3c2 = c2; @@ -241,14 +241,14 @@ inline void matrix2x3_fp64_set_row3(const double c1, const double c2, matrix2x3_ // ================ Set Column 1 ================ // -inline void matrix2x3_fp32_set_column1(const float r1, const float r2, const float r3, matrix2x3_fp32_t* matrix) +inline void matrix2x3_set_column1_fp32(const float r1, const float r2, const float r3, matrix2x3_fp32_t* matrix) { matrix->r1c1 = r1; matrix->r2c1 = r2; matrix->r3c1 = r3; } -inline void matrix2x3_fp64_set_column1(const double r1, const double r2, const double r3, matrix2x3_fp64_t* matrix) +inline void matrix2x3_set_column1_fp64(const double r1, const double r2, const double r3, matrix2x3_fp64_t* matrix) { matrix->r1c1 = r1; matrix->r2c1 = r2; @@ -257,14 +257,14 @@ inline void matrix2x3_fp64_set_column1(const double r1, const double r2, const d // ================ Set Column 2 ================ // -inline void matrix2x3_fp32_set_column2(const float r1, const float r2, const float r3, matrix2x3_fp32_t* matrix) +inline void matrix2x3_set_column2_fp32(const float r1, const float r2, const float r3, matrix2x3_fp32_t* matrix) { matrix->r1c2 = r1; matrix->r2c2 = r2; matrix->r3c2 = r3; } -inline void matrix2x3_fp64_set_column2(const double r1, const double r2, const double r3, matrix2x3_fp64_t* matrix) +inline void matrix2x3_set_column2_fp64(const double r1, const double r2, const double r3, matrix2x3_fp64_t* matrix) { matrix->r1c2 = r1; matrix->r2c2 = r2; @@ -273,7 +273,7 @@ inline void matrix2x3_fp64_set_column2(const double r1, const double r2, const d // ================ Append scaled =============== // -inline void matrix2x3_fp32_append_scaled(matrix2x3_fp32_t* basic_vector, const matrix2x3_fp32_t* scalable_vector, const float scale) +inline void matrix2x3_add_scaled_fp32(matrix2x3_fp32_t* basic_vector, const matrix2x3_fp32_t* scalable_vector, const float scale) { basic_vector->r1c1 += scalable_vector->r1c1 * scale; basic_vector->r1c2 += scalable_vector->r1c2 * scale; @@ -285,7 +285,7 @@ inline void matrix2x3_fp32_append_scaled(matrix2x3_fp32_t* basic_vector, const m basic_vector->r3c2 += scalable_vector->r3c2 * scale; } -inline void matrix2x3_fp64_append_scaled(matrix2x3_fp64_t* basic_vector, const matrix2x3_fp64_t* scalable_vector, const double scale) +inline void matrix2x3_add_scaled_fp64(matrix2x3_fp64_t* basic_vector, const matrix2x3_fp64_t* scalable_vector, const double scale) { basic_vector->r1c1 += scalable_vector->r1c1 * scale; basic_vector->r1c2 += scalable_vector->r1c2 * scale; @@ -299,7 +299,7 @@ inline void matrix2x3_fp64_append_scaled(matrix2x3_fp64_t* basic_vector, const m // ================== Addition ================== // -inline void matrix2x3_fp32_add(const matrix2x3_fp32_t* matrix1, const matrix2x3_fp32_t* matrix2, matrix2x3_fp32_t* sum) +inline void matrix2x3_add_fp32(const matrix2x3_fp32_t* matrix1, const matrix2x3_fp32_t* matrix2, matrix2x3_fp32_t* sum) { sum->r1c1 = matrix1->r1c1 + matrix2->r1c1; sum->r1c2 = matrix1->r1c2 + matrix2->r1c2; @@ -311,7 +311,7 @@ inline void matrix2x3_fp32_add(const matrix2x3_fp32_t* matrix1, const matrix2x3_ sum->r3c2 = matrix1->r3c2 + matrix2->r3c2; } -inline void matrix2x3_fp64_add(const matrix2x3_fp64_t* matrix1, const matrix2x3_fp64_t* matrix2, matrix2x3_fp64_t* sum) +inline void matrix2x3_add_fp64(const matrix2x3_fp64_t* matrix1, const matrix2x3_fp64_t* matrix2, matrix2x3_fp64_t* sum) { sum->r1c1 = matrix1->r1c1 + matrix2->r1c1; sum->r1c2 = matrix1->r1c2 + matrix2->r1c2; @@ -325,7 +325,7 @@ inline void matrix2x3_fp64_add(const matrix2x3_fp64_t* matrix1, const matrix2x3_ // ================ Subtraction ================= // -inline void matrix2x3_fp32_subtract(const matrix2x3_fp32_t* minuend, const matrix2x3_fp32_t* subtrahend, matrix2x3_fp32_t* difference) +inline void matrix2x3_subtract_fp32(const matrix2x3_fp32_t* minuend, const matrix2x3_fp32_t* subtrahend, matrix2x3_fp32_t* difference) { difference->r1c1 = minuend->r1c1 - subtrahend->r1c1; difference->r1c2 = minuend->r1c2 - subtrahend->r1c2; @@ -337,7 +337,7 @@ inline void matrix2x3_fp32_subtract(const matrix2x3_fp32_t* minuend, const matri difference->r3c2 = minuend->r3c2 - subtrahend->r3c2; } -inline void matrix2x3_fp64_subtract(const matrix2x3_fp64_t* minuend, const matrix2x3_fp64_t* subtrahend, matrix2x3_fp64_t* difference) +inline void matrix2x3_subtract_fp64(const matrix2x3_fp64_t* minuend, const matrix2x3_fp64_t* subtrahend, matrix2x3_fp64_t* difference) { difference->r1c1 = minuend->r1c1 - subtrahend->r1c1; difference->r1c2 = minuend->r1c2 - subtrahend->r1c2; @@ -351,7 +351,7 @@ inline void matrix2x3_fp64_subtract(const matrix2x3_fp64_t* minuend, const matri // =============== Multiplication =============== // -inline void matrix2x3_fp32_multiply(const matrix2x3_fp32_t* multiplicand, const float multiplier, matrix2x3_fp32_t* product) +inline void matrix2x3_multiply_fp32(const matrix2x3_fp32_t* multiplicand, const float multiplier, matrix2x3_fp32_t* product) { product->r1c1 = multiplicand->r1c1 * multiplier; product->r1c2 = multiplicand->r1c2 * multiplier; @@ -363,7 +363,7 @@ inline void matrix2x3_fp32_multiply(const matrix2x3_fp32_t* multiplicand, const product->r3c2 = multiplicand->r3c2 * multiplier; } -inline void matrix2x3_fp64_multiply(const matrix2x3_fp64_t* multiplicand, const double multiplier, matrix2x3_fp64_t* product) +inline void matrix2x3_multiply_fp64(const matrix2x3_fp64_t* multiplicand, const double multiplier, matrix2x3_fp64_t* product) { product->r1c1 = multiplicand->r1c1 * multiplier; product->r1c2 = multiplicand->r1c2 * multiplier; @@ -377,25 +377,25 @@ inline void matrix2x3_fp64_multiply(const matrix2x3_fp64_t* multiplicand, const // ================== Division ================== // -inline void matrix2x3_fp32_divide(const matrix2x3_fp32_t* dividend, const float divisor, matrix2x3_fp32_t* quotient) +inline void matrix2x3_divide_fp32(const matrix2x3_fp32_t* dividend, const float divisor, matrix2x3_fp32_t* quotient) { - matrix2x3_fp32_multiply(dividend, 1.0f / divisor, quotient); + matrix2x3_multiply_fp32(dividend, 1.0f / divisor, quotient); } inline void matrix2x3_fp64_divide(const matrix2x3_fp64_t* dividend, const double divisor, matrix2x3_fp64_t* quotient) { - matrix2x3_fp64_multiply(dividend, 1.0 / divisor, quotient); + matrix2x3_multiply_fp64(dividend, 1.0 / divisor, quotient); } // ============ Left Vector Product ============= // -inline void matrix2x3_fp32_left_product(const vector3_fp32_t* vector, const matrix2x3_fp32_t* matrix, vector2_fp32_t* result) +inline void matrix2x3_left_product_fp32(const vector3_fp32_t* vector, const matrix2x3_fp32_t* matrix, vector2_fp32_t* result) { result->x1 = vector->x1 * matrix->r1c1 + vector->x2 * matrix->r2c1 + vector->x3 * matrix->r3c1; result->x2 = vector->x1 * matrix->r1c2 + vector->x2 * matrix->r2c2 + vector->x3 * matrix->r3c2; } -inline void matrix2x3_fp64_left_product(const vector3_fp64_t* vector, const matrix2x3_fp64_t* matrix, vector2_fp64_t* result) +inline void matrix2x3_left_product_fp64(const vector3_fp64_t* vector, const matrix2x3_fp64_t* matrix, vector2_fp64_t* result) { result->x1 = vector->x1 * matrix->r1c1 + vector->x2 * matrix->r2c1 + vector->x3 * matrix->r3c1; result->x2 = vector->x1 * matrix->r1c2 + vector->x2 * matrix->r2c2 + vector->x3 * matrix->r3c2; @@ -403,14 +403,14 @@ inline void matrix2x3_fp64_left_product(const vector3_fp64_t* vector, const matr // ============ Right Vector Product ============ // -inline void matrix2x3_fp32_right_product(const matrix2x3_fp32_t* matrix, const vector2_fp32_t* vector, vector3_fp32_t* result) +inline void matrix2x3_right_product_fp32(const matrix2x3_fp32_t* matrix, const vector2_fp32_t* vector, vector3_fp32_t* result) { result->x1 = matrix->r1c1 * vector->x1 + matrix->r1c2 * vector->x2; result->x2 = matrix->r2c1 * vector->x1 + matrix->r2c2 * vector->x2; result->x3 = matrix->r3c1 * vector->x1 + matrix->r3c2 * vector->x2; } -inline void matrix2x3_fp64_right_product(const matrix2x3_fp64_t* matrix, const vector2_fp64_t* vector, vector3_fp64_t* result) +inline void matrix2x3_right_product_fp64(const matrix2x3_fp64_t* matrix, const vector2_fp64_t* vector, vector3_fp64_t* result) { result->x1 = matrix->r1c1 * vector->x1 + matrix->r1c2 * vector->x2; result->x2 = matrix->r2c1 * vector->x1 + matrix->r2c2 * vector->x2; diff --git a/basic-geometry/matrix3x2.h b/basic-geometry/matrix3x2.h index f851879..dd1b697 100644 --- a/basic-geometry/matrix3x2.h +++ b/basic-geometry/matrix3x2.h @@ -111,7 +111,7 @@ inline void matrix3x2_swap_fp64(matrix3x2_fp64_t* matrix1, matrix3x2_fp64_t* mat // ============= Set from twin type ============= // -inline void matrix3x2_fp32_set_from_fp64(const matrix3x2_fp64_t* from, matrix3x2_fp32_t* to) +inline void matrix3x2_convert_fp64_to_fp32(const matrix3x2_fp64_t* from, matrix3x2_fp32_t* to) { to->r1c1 = (float) from->r1c1; to->r1c2 = (float) from->r1c2; @@ -122,7 +122,7 @@ inline void matrix3x2_fp32_set_from_fp64(const matrix3x2_fp64_t* from, matrix3x2 to->r2c3 = (float) from->r2c3; } -inline void matrix3x2_fp64_set_from_fp32(const matrix3x2_fp32_t* from, matrix3x2_fp64_t* to) +inline void matrix3x2_convert_fp32_to_fp64(const matrix3x2_fp32_t* from, matrix3x2_fp64_t* to) { to->r1c1 = from->r1c1; to->r1c2 = from->r1c2; @@ -135,7 +135,7 @@ inline void matrix3x2_fp64_set_from_fp32(const matrix3x2_fp32_t* from, matrix3x2 // =============== Set transposed =============== // -inline void matrix3x2_fp32_set_transposed(const matrix2x3_fp32_t* from, matrix3x2_fp32_t* to) +inline void matrix3x2_set_transposed_fp32(const matrix2x3_fp32_t* from, matrix3x2_fp32_t* to) { to->r1c1 = from->r1c1; to->r1c2 = from->r2c1; @@ -146,7 +146,7 @@ inline void matrix3x2_fp32_set_transposed(const matrix2x3_fp32_t* from, matrix3x to->r2c3 = from->r3c2; } -inline void matrix3x2_fp64_set_transposed(const matrix2x3_fp64_t* from, matrix3x2_fp64_t* to) +inline void matrix3x2_set_transposed_fp64(const matrix2x3_fp64_t* from, matrix3x2_fp64_t* to) { to->r1c1 = from->r1c1; to->r1c2 = from->r2c1; @@ -159,7 +159,7 @@ inline void matrix3x2_fp64_set_transposed(const matrix2x3_fp64_t* from, matrix3x // =============== Set transposed =============== // -inline void matrix3x2_fp32_set_transposed_fp64(const matrix2x3_fp64_t* from, matrix3x2_fp32_t* to) +inline void matrix3x2_set_transposed_fp32_fp64(const matrix2x3_fp64_t* from, matrix3x2_fp32_t* to) { to->r1c1 = (float) from->r1c1; to->r1c2 = (float) from->r2c1; @@ -170,7 +170,7 @@ inline void matrix3x2_fp32_set_transposed_fp64(const matrix2x3_fp64_t* from, mat to->r2c3 = (float) from->r3c2; } -inline void matrix3x2_fp64_set_transposed_fp32(const matrix2x3_fp32_t* from, matrix3x2_fp64_t* to) +inline void matrix3x2_set_transposed_fp64_fp32(const matrix2x3_fp32_t* from, matrix3x2_fp64_t* to) { to->r1c1 = from->r1c1; to->r1c2 = from->r2c1; @@ -183,14 +183,14 @@ inline void matrix3x2_fp64_set_transposed_fp32(const matrix2x3_fp32_t* from, mat // ================= Set Row 1 ================== // -inline void matrix3x2_fp32_set_row1(const float c1, const float c2, const float c3, matrix3x2_fp32_t* matrix) +inline void matrix3x2_set_row1_fp32(const float c1, const float c2, const float c3, matrix3x2_fp32_t* matrix) { matrix->r1c1 = c1; matrix->r1c2 = c2; matrix->r1c3 = c3; } -inline void matrix3x2_fp64_set_row1(const double c1, const double c2, const double c3, matrix3x2_fp64_t* matrix) +inline void matrix3x2_set_row1_fp64(const double c1, const double c2, const double c3, matrix3x2_fp64_t* matrix) { matrix->r1c1 = c1; matrix->r1c2 = c2; @@ -199,14 +199,14 @@ inline void matrix3x2_fp64_set_row1(const double c1, const double c2, const doub // ================= Set Row 2 ================== // -inline void matrix3x2_fp32_set_row2(const float c1, const float c2, const float c3, matrix3x2_fp32_t* matrix) +inline void matrix3x2_set_row2_fp32(const float c1, const float c2, const float c3, matrix3x2_fp32_t* matrix) { matrix->r2c1 = c1; matrix->r2c2 = c2; matrix->r2c3 = c3; } -inline void matrix3x2_fp64_set_row2(const double c1, const double c2, const double c3, matrix3x2_fp64_t* matrix) +inline void matrix3x2_set_row2_fp64(const double c1, const double c2, const double c3, matrix3x2_fp64_t* matrix) { matrix->r2c1 = c1; matrix->r2c2 = c2; @@ -215,13 +215,13 @@ inline void matrix3x2_fp64_set_row2(const double c1, const double c2, const doub // ================ Set Column 1 ================ // -inline void matrix3x2_fp32_set_column1(const float r1, const float r2, matrix3x2_fp32_t* matrix) +inline void matrix3x2_set_column1_fp32(const float r1, const float r2, matrix3x2_fp32_t* matrix) { matrix->r1c1 = r1; matrix->r2c1 = r2; } -inline void matrix3x2_fp64_set_column1(const double r1, const double r2, matrix3x2_fp64_t* matrix) +inline void matrix3x2_set_column1_fp64(const double r1, const double r2, matrix3x2_fp64_t* matrix) { matrix->r1c1 = r1; matrix->r2c1 = r2; @@ -229,13 +229,13 @@ inline void matrix3x2_fp64_set_column1(const double r1, const double r2, matrix3 // ================ Set Column 2 ================ // -inline void matrix3x2_fp32_set_column2(const float r1, const float r2, matrix3x2_fp32_t* matrix) +inline void matrix3x2_set_column2_fp32(const float r1, const float r2, matrix3x2_fp32_t* matrix) { matrix->r1c2 = r1; matrix->r2c2 = r2; } -inline void matrix3x2_fp64_set_column2(const double r1, const double r2, matrix3x2_fp64_t* matrix) +inline void matrix3x2_set_column2_fp64(const double r1, const double r2, matrix3x2_fp64_t* matrix) { matrix->r1c2 = r1; matrix->r2c2 = r2; @@ -243,13 +243,13 @@ inline void matrix3x2_fp64_set_column2(const double r1, const double r2, matrix3 // ================ Set Column 3 ================ // -inline void matrix3x2_fp32_set_column3(const float r1, const float r2, matrix3x2_fp32_t* matrix) +inline void matrix3x2_set_column3_fp32(const float r1, const float r2, matrix3x2_fp32_t* matrix) { matrix->r1c3 = r1; matrix->r2c3 = r2; } -inline void matrix3x2_fp64_set_column3(const double r1, const double r2, matrix3x2_fp64_t* matrix) +inline void matrix3x2_set_column3_fp64(const double r1, const double r2, matrix3x2_fp64_t* matrix) { matrix->r1c3 = r1; matrix->r2c3 = r2; @@ -257,7 +257,7 @@ inline void matrix3x2_fp64_set_column3(const double r1, const double r2, matrix3 // ================ Append scaled =============== // -inline void matrix3x2_fp32_append_scaled(matrix3x2_fp32_t* basic_vector, const matrix3x2_fp32_t* scalable_vector, const float scale) +inline void matrix3x2_add_scaled_fp32(matrix3x2_fp32_t* basic_vector, const matrix3x2_fp32_t* scalable_vector, const float scale) { basic_vector->r1c1 += scalable_vector->r1c1 * scale; basic_vector->r1c2 += scalable_vector->r1c2 * scale; @@ -268,7 +268,7 @@ inline void matrix3x2_fp32_append_scaled(matrix3x2_fp32_t* basic_vector, const m basic_vector->r2c3 += scalable_vector->r2c3 * scale; } -inline void matrix3x2_fp64_append_scaled(matrix3x2_fp64_t* basic_vector, const matrix3x2_fp64_t* scalable_vector, const double scale) +inline void matrix3x2_add_scaled_fp64(matrix3x2_fp64_t* basic_vector, const matrix3x2_fp64_t* scalable_vector, const double scale) { basic_vector->r1c1 += scalable_vector->r1c1 * scale; basic_vector->r1c2 += scalable_vector->r1c2 * scale; @@ -281,7 +281,7 @@ inline void matrix3x2_fp64_append_scaled(matrix3x2_fp64_t* basic_vector, const m // ================== Addition ================== // -inline void matrix3x2_fp32_add(const matrix3x2_fp32_t* matrix1, const matrix3x2_fp32_t* matrix2, matrix3x2_fp32_t* sum) +inline void matrix3x2_add_fp32(const matrix3x2_fp32_t* matrix1, const matrix3x2_fp32_t* matrix2, matrix3x2_fp32_t* sum) { sum->r1c1 = matrix1->r1c1 + matrix2->r1c1; sum->r1c2 = matrix1->r1c2 + matrix2->r1c2; @@ -292,7 +292,7 @@ inline void matrix3x2_fp32_add(const matrix3x2_fp32_t* matrix1, const matrix3x2_ sum->r2c3 = matrix1->r2c3 + matrix2->r2c3; } -inline void matrix3x2_fp64_add(const matrix3x2_fp64_t* matrix1, const matrix3x2_fp64_t* matrix2, matrix3x2_fp64_t* sum) +inline void matrix3x2_add_fp64(const matrix3x2_fp64_t* matrix1, const matrix3x2_fp64_t* matrix2, matrix3x2_fp64_t* sum) { sum->r1c1 = matrix1->r1c1 + matrix2->r1c1; sum->r1c2 = matrix1->r1c2 + matrix2->r1c2; @@ -305,7 +305,7 @@ inline void matrix3x2_fp64_add(const matrix3x2_fp64_t* matrix1, const matrix3x2_ // ================ Subtraction ================= // -inline void matrix3x2_fp32_subtract(const matrix3x2_fp32_t* minuend, const matrix3x2_fp32_t* subtrahend, matrix3x2_fp32_t* difference) +inline void matrix3x2_subtract_fp32(const matrix3x2_fp32_t* minuend, const matrix3x2_fp32_t* subtrahend, matrix3x2_fp32_t* difference) { difference->r1c1 = minuend->r1c1 - subtrahend->r1c1; difference->r1c2 = minuend->r1c2 - subtrahend->r1c2; @@ -316,7 +316,7 @@ inline void matrix3x2_fp32_subtract(const matrix3x2_fp32_t* minuend, const matri difference->r2c3 = minuend->r2c3 - subtrahend->r2c3; } -inline void matrix3x2_fp64_subtract(const matrix3x2_fp64_t* minuend, const matrix3x2_fp64_t* subtrahend, matrix3x2_fp64_t* difference) +inline void matrix3x2_subtract_fp64(const matrix3x2_fp64_t* minuend, const matrix3x2_fp64_t* subtrahend, matrix3x2_fp64_t* difference) { difference->r1c1 = minuend->r1c1 - subtrahend->r1c1; difference->r1c2 = minuend->r1c2 - subtrahend->r1c2; @@ -329,7 +329,7 @@ inline void matrix3x2_fp64_subtract(const matrix3x2_fp64_t* minuend, const matri // =============== Multiplication =============== // -inline void matrix3x2_fp32_multiply(const matrix3x2_fp32_t* multiplicand, const float multiplier, matrix3x2_fp32_t* product) +inline void matrix3x2_multiply_fp32(const matrix3x2_fp32_t* multiplicand, const float multiplier, matrix3x2_fp32_t* product) { product->r1c1 = multiplicand->r1c1 * multiplier; product->r1c2 = multiplicand->r1c2 * multiplier; @@ -340,7 +340,7 @@ inline void matrix3x2_fp32_multiply(const matrix3x2_fp32_t* multiplicand, const product->r2c3 = multiplicand->r2c3 * multiplier; } -inline void matrix3x2_fp64_multiply(const matrix3x2_fp64_t* multiplicand, const double multiplier, matrix3x2_fp64_t* product) +inline void matrix3x2_multiply_fp64(const matrix3x2_fp64_t* multiplicand, const double multiplier, matrix3x2_fp64_t* product) { product->r1c1 = multiplicand->r1c1 * multiplier; product->r1c2 = multiplicand->r1c2 * multiplier; @@ -353,26 +353,26 @@ inline void matrix3x2_fp64_multiply(const matrix3x2_fp64_t* multiplicand, const // ================== Division ================== // -inline void matrix3x2_fp32_divide(const matrix3x2_fp32_t* dividend, const float divisor, matrix3x2_fp32_t* quotient) +inline void matrix3x2_divide_fp32(const matrix3x2_fp32_t* dividend, const float divisor, matrix3x2_fp32_t* quotient) { - matrix3x2_fp32_multiply(dividend, 1.0f / divisor, quotient); + matrix3x2_multiply_fp32(dividend, 1.0f / divisor, quotient); } inline void matrix3x2_fp64_divide(const matrix3x2_fp64_t* dividend, const double divisor, matrix3x2_fp64_t* quotient) { - matrix3x2_fp64_multiply(dividend, 1.0 / divisor, quotient); + matrix3x2_multiply_fp64(dividend, 1.0 / divisor, quotient); } // ============ Left Vector Product ============= // -inline void matrix3x2_fp32_left_product(const vector2_fp32_t* vector, const matrix3x2_fp32_t* matrix, vector3_fp32_t* result) +inline void matrix3x2_left_product_fp32(const vector2_fp32_t* vector, const matrix3x2_fp32_t* matrix, vector3_fp32_t* result) { result->x1 = vector->x1 * matrix->r1c1 + vector->x2 * matrix->r2c1; result->x2 = vector->x1 * matrix->r1c2 + vector->x2 * matrix->r2c2; result->x3 = vector->x1 * matrix->r1c3 + vector->x2 * matrix->r2c3; } -inline void matrix3x2_fp64_left_product(const vector2_fp64_t* vector, const matrix3x2_fp64_t* matrix, vector3_fp64_t* result) +inline void matrix3x2_left_product_fp64(const vector2_fp64_t* vector, const matrix3x2_fp64_t* matrix, vector3_fp64_t* result) { result->x1 = vector->x1 * matrix->r1c1 + vector->x2 * matrix->r2c1; result->x2 = vector->x1 * matrix->r1c2 + vector->x2 * matrix->r2c2; @@ -381,13 +381,13 @@ inline void matrix3x2_fp64_left_product(const vector2_fp64_t* vector, const matr // ============ Right Vector Product ============ // -inline void matrix3x2_fp32_right_product(const matrix3x2_fp32_t* matrix, const vector3_fp32_t* vector, vector2_fp32_t* result) +inline void matrix3x2_right_product_fp32(const matrix3x2_fp32_t* matrix, const vector3_fp32_t* vector, vector2_fp32_t* result) { result->x1 = matrix->r1c1 * vector->x1 + matrix->r1c2 * vector->x2 + matrix->r1c3 * vector->x3; result->x2 = matrix->r2c1 * vector->x1 + matrix->r2c2 * vector->x2 + matrix->r2c3 * vector->x3; } -inline void matrix3x2_fp64_right_product(const matrix3x2_fp64_t* matrix, const vector3_fp64_t* vector, vector2_fp64_t* result) +inline void matrix3x2_right_product_fp64(const matrix3x2_fp64_t* matrix, const vector3_fp64_t* vector, vector2_fp64_t* result) { result->x1 = matrix->r1c1 * vector->x1 + matrix->r1c2 * vector->x2 + matrix->r1c3 * vector->x3; result->x2 = matrix->r2c1 * vector->x1 + matrix->r2c2 * vector->x2 + matrix->r2c3 * vector->x3; diff --git a/basic-geometry/matrix3x3.c b/basic-geometry/matrix3x3.c index bcd8e79..5c95d17 100644 --- a/basic-geometry/matrix3x3.c +++ b/basic-geometry/matrix3x3.c @@ -4,7 +4,7 @@ int matrix3x3_invert_fp32(matrix3x3_fp32_t* matrix) { - const float determinant = matrix3x3_fp32_get_determinant(matrix); + const float determinant = matrix3x3_get_determinant_fp32(matrix); if (-FP32_EPSYLON <= determinant && determinant <= FP32_EPSYLON) { return 0; @@ -41,7 +41,7 @@ int matrix3x3_invert_fp32(matrix3x3_fp32_t* matrix) int matrix3x3_invert_fp64(matrix3x3_fp64_t* matrix) { - const double determinant = matrix3x3_fp64_get_determinant(matrix); + const double determinant = matrix3x3_get_determinant_fp64(matrix); if (-FP64_EPSYLON <= determinant && determinant <= FP64_EPSYLON) { return 0; @@ -78,9 +78,9 @@ int matrix3x3_invert_fp64(matrix3x3_fp64_t* matrix) // ================ Make Inverted =============== // -int matrix3x3_fp32_set_inverted(const matrix3x3_fp32_t* matrix, matrix3x3_fp32_t* result) +int matrix3x3_set_inverted_fp32(const matrix3x3_fp32_t* matrix, matrix3x3_fp32_t* result) { - const float determinant = matrix3x3_fp32_get_determinant(matrix); + const float determinant = matrix3x3_get_determinant_fp32(matrix); if (-FP32_EPSYLON <= determinant && determinant <= FP32_EPSYLON) { return 0; @@ -115,9 +115,9 @@ int matrix3x3_fp32_set_inverted(const matrix3x3_fp32_t* matrix, matrix3x3_fp32_t return 1; } -int matrix3x3_fp64_set_inverted(const matrix3x3_fp64_t* matrix, matrix3x3_fp64_t* result) +int matrix3x3_set_inverted_fp64(const matrix3x3_fp64_t* matrix, matrix3x3_fp64_t* result) { - const double determinant = matrix3x3_fp64_get_determinant(matrix); + const double determinant = matrix3x3_get_determinant_fp64(matrix); if (-FP64_EPSYLON <= determinant && determinant <= FP64_EPSYLON) { return 0; diff --git a/basic-geometry/matrix3x3.h b/basic-geometry/matrix3x3.h index 35838d4..7468f77 100644 --- a/basic-geometry/matrix3x3.h +++ b/basic-geometry/matrix3x3.h @@ -38,7 +38,7 @@ inline void matrix3x3_reset_fp64(matrix3x3_fp64_t* matrix) // ================== Identity ================== // -inline void matrix3x3_fp32_set_to_identity(matrix3x3_fp32_t* matrix) +inline void matrix3x3_set_to_identity_fp32(matrix3x3_fp32_t* matrix) { matrix->r1c1 = 1.0f; matrix->r1c2 = 0.0f; @@ -53,7 +53,7 @@ inline void matrix3x3_fp32_set_to_identity(matrix3x3_fp32_t* matrix) matrix->r3c3 = 1.0f; } -inline void matrix3x3_fp64_set_to_identity(matrix3x3_fp64_t* matrix) +inline void matrix3x3_set_to_identity_fp64(matrix3x3_fp64_t* matrix) { matrix->r1c1 = 1.0; matrix->r1c2 = 0.0; @@ -70,7 +70,7 @@ inline void matrix3x3_fp64_set_to_identity(matrix3x3_fp64_t* matrix) // ================ Make Diagonal =============== // -inline void matrix3x3_fp32_set_to_diagonal(const float d1, const float d2, const float d3, matrix3x3_fp32_t* matrix) +inline void matrix3x3_set_to_diagonal_fp32(const float d1, const float d2, const float d3, matrix3x3_fp32_t* matrix) { matrix->r1c1 = d1; matrix->r1c2 = 0.0f; @@ -85,7 +85,7 @@ inline void matrix3x3_fp32_set_to_diagonal(const float d1, const float d2, const matrix->r3c3 = d2; } -inline void matrix3x3_fp64_set_to_diagonal(const double d1, const double d2, const double d3, matrix3x3_fp64_t* matrix) +inline void matrix3x3_set_to_diagonal_fp64(const double d1, const double d2, const double d3, matrix3x3_fp64_t* matrix) { matrix->r1c1 = d1; matrix->r1c2 = 0.0; @@ -214,7 +214,7 @@ inline void matrix3x3_swap_fp64(matrix3x3_fp64_t* matrix1, matrix3x3_fp64_t* mat // ============= Set from twin type ============= // -inline void matrix3x3_fp32_set_from_fp64(const matrix3x3_fp64_t* from, matrix3x3_fp32_t* to) +inline void matrix3x3_convert_fp64_to_fp32(const matrix3x3_fp64_t* from, matrix3x3_fp32_t* to) { to->r1c1 = (float) from->r1c1; to->r1c2 = (float) from->r1c2; @@ -229,7 +229,7 @@ inline void matrix3x3_fp32_set_from_fp64(const matrix3x3_fp64_t* from, matrix3x3 to->r3c3 = (float) from->r3c3; } -inline void matrix3x3_fp64_set_from_fp32(const matrix3x3_fp32_t* from, matrix3x3_fp64_t* to) +inline void matrix3x3_convert_fp32_to_fp64(const matrix3x3_fp32_t* from, matrix3x3_fp64_t* to) { to->r1c1 = from->r1c1; to->r1c2 = from->r1c2; @@ -246,14 +246,14 @@ inline void matrix3x3_fp64_set_from_fp32(const matrix3x3_fp32_t* from, matrix3x3 // ================ Determinant ================= // -inline float matrix3x3_fp32_get_determinant(const matrix3x3_fp32_t* matrix) +inline float matrix3x3_get_determinant_fp32(const matrix3x3_fp32_t* matrix) { return matrix->r1c1 * (matrix->r2c2 * matrix->r3c3 - matrix->r2c3 * matrix->r3c2) + matrix->r1c2 * (matrix->r2c3 * matrix->r3c1 - matrix->r2c1 * matrix->r3c3) + matrix->r1c3 * (matrix->r2c1 * matrix->r3c2 - matrix->r2c2 * matrix->r3c1); } -inline double matrix3x3_fp64_get_determinant(const matrix3x3_fp64_t* matrix) +inline double matrix3x3_get_determinant_fp64(const matrix3x3_fp64_t* matrix) { return matrix->r1c1 * (matrix->r2c2 * matrix->r3c3 - matrix->r2c3 * matrix->r3c2) + matrix->r1c2 * (matrix->r2c3 * matrix->r3c1 - matrix->r2c1 * matrix->r3c3) @@ -262,16 +262,16 @@ inline double matrix3x3_fp64_get_determinant(const matrix3x3_fp64_t* matrix) // ================== Singular ================== // -inline int matrix3x3_fp32_is_singular(const matrix3x3_fp32_t* matrix) +inline int matrix3x3_is_singular_fp32(const matrix3x3_fp32_t* matrix) { - const float determinant = matrix3x3_fp32_get_determinant(matrix); + const float determinant = matrix3x3_get_determinant_fp32(matrix); return -FP32_EPSYLON <= determinant && determinant <= FP32_EPSYLON; } -inline int matrix3x3_fp64_is_singular(const matrix3x3_fp64_t* matrix) +inline int matrix3x3_is_singular_fp64(const matrix3x3_fp64_t* matrix) { - const double determinant = matrix3x3_fp64_get_determinant(matrix); + const double determinant = matrix3x3_get_determinant_fp64(matrix); return -FP64_EPSYLON <= determinant && determinant <= FP64_EPSYLON; } @@ -284,7 +284,7 @@ int matrix3x3_invert_fp64(matrix3x3_fp64_t* matrix); // =============== Transposition ================ // -inline void matrix3x3_fp32_transpose(matrix3x3_fp32_t* matrix) +inline void matrix3x3_transpose_fp32(matrix3x3_fp32_t* matrix) { float tmp = matrix->r1c2; matrix->r1c2 = matrix->r2c1; @@ -299,7 +299,7 @@ inline void matrix3x3_fp32_transpose(matrix3x3_fp32_t* matrix) matrix->r3c2 = tmp; } -inline void matrix3x3_fp64_transpose(matrix3x3_fp64_t* matrix) +inline void matrix3x3_transpose_fp64(matrix3x3_fp64_t* matrix) { double tmp = matrix->r1c2; matrix->r1c2 = matrix->r2c1; @@ -316,16 +316,16 @@ inline void matrix3x3_fp64_transpose(matrix3x3_fp64_t* matrix) // ================ Make Inverted =============== // -int matrix3x3_fp32_set_inverted(const matrix3x3_fp32_t* matrix, matrix3x3_fp32_t* result); +int matrix3x3_set_inverted_fp32(const matrix3x3_fp32_t* matrix, matrix3x3_fp32_t* result); -int matrix3x3_fp64_set_inverted(const matrix3x3_fp64_t* matrix, matrix3x3_fp64_t* result); +int matrix3x3_set_inverted_fp64(const matrix3x3_fp64_t* matrix, matrix3x3_fp64_t* result); // =============== Make Transposed ============== // -inline void matrix3x3_fp32_set_transposed(const matrix3x3_fp32_t* matrix, matrix3x3_fp32_t* result) +inline void matrix3x3_set_transposed_fp32(const matrix3x3_fp32_t* matrix, matrix3x3_fp32_t* result) { if (matrix == result) { - matrix3x3_fp32_transpose(result); + matrix3x3_transpose_fp32(result); return; } @@ -342,10 +342,10 @@ inline void matrix3x3_fp32_set_transposed(const matrix3x3_fp32_t* matrix, matrix result->r3c3 = matrix->r3c3; } -inline void matrix3x3_fp64_set_transposed(const matrix3x3_fp64_t* matrix, matrix3x3_fp64_t* result) +inline void matrix3x3_set_transposed_fp64(const matrix3x3_fp64_t* matrix, matrix3x3_fp64_t* result) { if (matrix == result) { - matrix3x3_fp64_transpose(result); + matrix3x3_transpose_fp64(result); return; } @@ -364,14 +364,14 @@ inline void matrix3x3_fp64_set_transposed(const matrix3x3_fp64_t* matrix, matrix // ================= Set Row 1 ================== // -inline void matrix3x3_fp32_set_row1(const float c1, const float c2, const float c3, matrix3x3_fp32_t* matrix) +inline void matrix3x3_set_row1_fp32(const float c1, const float c2, const float c3, matrix3x3_fp32_t* matrix) { matrix->r1c1 = c1; matrix->r1c2 = c2; matrix->r1c3 = c3; } -inline void matrix3x3_fp64_set_row1(const double c1, const double c2, const double c3, matrix3x3_fp64_t* matrix) +inline void matrix3x3_set_row1_fp64(const double c1, const double c2, const double c3, matrix3x3_fp64_t* matrix) { matrix->r1c1 = c1; matrix->r1c2 = c2; @@ -380,14 +380,14 @@ inline void matrix3x3_fp64_set_row1(const double c1, const double c2, const doub // ================= Set Row 2 ================== // -inline void matrix3x3_fp32_set_row2(const float c1, const float c2, const float c3, matrix3x3_fp32_t* matrix) +inline void matrix3x3_set_row2_fp32(const float c1, const float c2, const float c3, matrix3x3_fp32_t* matrix) { matrix->r2c1 = c1; matrix->r2c2 = c2; matrix->r2c3 = c3; } -inline void matrix3x3_fp64_set_row2(const double c1, const double c2, const double c3, matrix3x3_fp64_t* matrix) +inline void matrix3x3_set_row2_fp64(const double c1, const double c2, const double c3, matrix3x3_fp64_t* matrix) { matrix->r2c1 = c1; matrix->r2c2 = c2; @@ -396,14 +396,14 @@ inline void matrix3x3_fp64_set_row2(const double c1, const double c2, const doub // ================= Set Row 3 ================== // -inline void matrix3x3_fp32_set_row3(const float c1, const float c2, const float c3, matrix3x3_fp32_t* matrix) +inline void matrix3x3_set_row3_fp32(const float c1, const float c2, const float c3, matrix3x3_fp32_t* matrix) { matrix->r3c1 = c1; matrix->r3c2 = c2; matrix->r3c3 = c3; } -inline void matrix3x3_fp64_set_row3(const double c1, const double c2, const double c3, matrix3x3_fp64_t* matrix) +inline void matrix3x3_set_row3_fp64(const double c1, const double c2, const double c3, matrix3x3_fp64_t* matrix) { matrix->r3c1 = c1; matrix->r3c2 = c2; @@ -412,14 +412,14 @@ inline void matrix3x3_fp64_set_row3(const double c1, const double c2, const doub // ================ Set Column 1 ================ // -inline void matrix3x3_fp32_set_column1(const float r1, const float r2, const float r3, matrix3x3_fp32_t* matrix) +inline void matrix3x3_set_column1_fp32(const float r1, const float r2, const float r3, matrix3x3_fp32_t* matrix) { matrix->r1c1 = r1; matrix->r2c1 = r2; matrix->r3c1 = r3; } -inline void matrix3x3_fp64_set_column1(const double r1, const double r2, const double r3, matrix3x3_fp64_t* matrix) +inline void matrix3x3_set_column1_fp64(const double r1, const double r2, const double r3, matrix3x3_fp64_t* matrix) { matrix->r1c1 = r1; matrix->r2c1 = r2; @@ -428,14 +428,14 @@ inline void matrix3x3_fp64_set_column1(const double r1, const double r2, const d // ================ Set Column 2 ================ // -inline void matrix3x3_fp32_set_column2(const float r1, const float r2, const float r3, matrix3x3_fp32_t* matrix) +inline void matrix3x3_set_column2_fp32(const float r1, const float r2, const float r3, matrix3x3_fp32_t* matrix) { matrix->r1c2 = r1; matrix->r2c2 = r2; matrix->r3c2 = r3; } -inline void matrix3x3_fp64_set_column2(const double r1, const double r2, const double r3, matrix3x3_fp64_t* matrix) +inline void matrix3x3_set_column2_fp64(const double r1, const double r2, const double r3, matrix3x3_fp64_t* matrix) { matrix->r1c2 = r1; matrix->r2c2 = r2; @@ -444,14 +444,14 @@ inline void matrix3x3_fp64_set_column2(const double r1, const double r2, const d // ================ Set Column 3 ================ // -inline void matrix3x3_fp32_set_column3(const float r1, const float r2, const float r3, matrix3x3_fp32_t* matrix) +inline void matrix3x3_set_column3_fp32(const float r1, const float r2, const float r3, matrix3x3_fp32_t* matrix) { matrix->r1c3 = r1; matrix->r2c3 = r2; matrix->r3c3 = r3; } -inline void matrix3x3_fp64_set_column3(const double r1, const double r2, const double r3, matrix3x3_fp64_t* matrix) +inline void matrix3x3_set_column3_fp64(const double r1, const double r2, const double r3, matrix3x3_fp64_t* matrix) { matrix->r1c3 = r1; matrix->r2c3 = r2; @@ -460,7 +460,7 @@ inline void matrix3x3_fp64_set_column3(const double r1, const double r2, const d // ================ Append scaled =============== // -inline void matrix3x3_fp32_append_scaled(matrix3x3_fp32_t* basic_vector, const matrix3x3_fp32_t* scalable_vector, const float scale) +inline void matrix3x3_add_scaled_fp32(matrix3x3_fp32_t* basic_vector, const matrix3x3_fp32_t* scalable_vector, const float scale) { basic_vector->r1c1 += scalable_vector->r1c1 * scale; basic_vector->r1c2 += scalable_vector->r1c2 * scale; @@ -475,7 +475,7 @@ inline void matrix3x3_fp32_append_scaled(matrix3x3_fp32_t* basic_vector, const m basic_vector->r3c3 += scalable_vector->r3c3 * scale; } -inline void matrix3x3_fp64_append_scaled(matrix3x3_fp64_t* basic_vector, const matrix3x3_fp64_t* scalable_vector, const double scale) +inline void matrix3x3_add_scaled_fp64(matrix3x3_fp64_t* basic_vector, const matrix3x3_fp64_t* scalable_vector, const double scale) { basic_vector->r1c1 += scalable_vector->r1c1 * scale; basic_vector->r1c2 += scalable_vector->r1c2 * scale; @@ -492,7 +492,7 @@ inline void matrix3x3_fp64_append_scaled(matrix3x3_fp64_t* basic_vector, const m // ================== Addition ================== // -inline void matrix3x3_fp32_add(const matrix3x3_fp32_t* matrix1, const matrix3x3_fp32_t* matrix2, matrix3x3_fp32_t* sum) +inline void matrix3x3_add_fp32(const matrix3x3_fp32_t* matrix1, const matrix3x3_fp32_t* matrix2, matrix3x3_fp32_t* sum) { sum->r1c1 = matrix1->r1c1 + matrix2->r1c1; sum->r1c2 = matrix1->r1c2 + matrix2->r1c2; @@ -507,7 +507,7 @@ inline void matrix3x3_fp32_add(const matrix3x3_fp32_t* matrix1, const matrix3x3_ sum->r3c3 = matrix1->r3c3 + matrix2->r3c3; } -inline void matrix3x3_fp64_add(const matrix3x3_fp64_t* matrix1, const matrix3x3_fp64_t* matrix2, matrix3x3_fp64_t* sum) +inline void matrix3x3_add_fp64(const matrix3x3_fp64_t* matrix1, const matrix3x3_fp64_t* matrix2, matrix3x3_fp64_t* sum) { sum->r1c1 = matrix1->r1c1 + matrix2->r1c1; sum->r1c2 = matrix1->r1c2 + matrix2->r1c2; @@ -524,7 +524,7 @@ inline void matrix3x3_fp64_add(const matrix3x3_fp64_t* matrix1, const matrix3x3_ // ================ Subtraction ================= // -inline void matrix3x3_fp32_subtract(const matrix3x3_fp32_t* minuend, const matrix3x3_fp32_t* subtrahend, matrix3x3_fp32_t* difference) +inline void matrix3x3_subtract_fp32(const matrix3x3_fp32_t* minuend, const matrix3x3_fp32_t* subtrahend, matrix3x3_fp32_t* difference) { difference->r1c1 = minuend->r1c1 - subtrahend->r1c1; difference->r1c2 = minuend->r1c2 - subtrahend->r1c2; @@ -539,7 +539,7 @@ inline void matrix3x3_fp32_subtract(const matrix3x3_fp32_t* minuend, const matri difference->r3c3 = minuend->r3c3 - subtrahend->r3c3; } -inline void matrix3x3_fp64_subtract(const matrix3x3_fp64_t* minuend, const matrix3x3_fp64_t* subtrahend, matrix3x3_fp64_t* difference) +inline void matrix3x3_subtract_fp64(const matrix3x3_fp64_t* minuend, const matrix3x3_fp64_t* subtrahend, matrix3x3_fp64_t* difference) { difference->r1c1 = minuend->r1c1 - subtrahend->r1c1; difference->r1c2 = minuend->r1c2 - subtrahend->r1c2; @@ -556,7 +556,7 @@ inline void matrix3x3_fp64_subtract(const matrix3x3_fp64_t* minuend, const matri // =============== Multiplication =============== // -inline void matrix3x3_fp32_multiply(const matrix3x3_fp32_t* multiplicand, const float multiplier, matrix3x3_fp32_t* product) +inline void matrix3x3_multiply_fp32(const matrix3x3_fp32_t* multiplicand, const float multiplier, matrix3x3_fp32_t* product) { product->r1c1 = multiplicand->r1c1 * multiplier; product->r1c2 = multiplicand->r1c2 * multiplier; @@ -571,7 +571,7 @@ inline void matrix3x3_fp32_multiply(const matrix3x3_fp32_t* multiplicand, const product->r3c3 = multiplicand->r3c3 * multiplier; } -inline void matrix3x3_fp64_multiply(const matrix3x3_fp64_t* multiplicand, const double multiplier, matrix3x3_fp64_t* product) +inline void matrix3x3_multiply_fp64(const matrix3x3_fp64_t* multiplicand, const double multiplier, matrix3x3_fp64_t* product) { product->r1c1 = multiplicand->r1c1 * multiplier; product->r1c2 = multiplicand->r1c2 * multiplier; @@ -588,19 +588,19 @@ inline void matrix3x3_fp64_multiply(const matrix3x3_fp64_t* multiplicand, const // ================== Division ================== // -inline void matrix3x3_fp32_divide(const matrix3x3_fp32_t* dividend, const float divisor, matrix3x3_fp32_t* quotient) +inline void matrix3x3_divide_fp32(const matrix3x3_fp32_t* dividend, const float divisor, matrix3x3_fp32_t* quotient) { - matrix3x3_fp32_multiply(dividend, 1.0f / divisor, quotient); + matrix3x3_multiply_fp32(dividend, 1.0f / divisor, quotient); } inline void matrix3x3_fp64_divide(const matrix3x3_fp64_t* dividend, const double divisor, matrix3x3_fp64_t* quotient) { - matrix3x3_fp64_multiply(dividend, 1.0 / divisor, quotient); + matrix3x3_multiply_fp64(dividend, 1.0 / divisor, quotient); } // ============ Left Vector Product ============= // -inline void matrix3x3_fp32_left_product(const vector3_fp32_t* vector, const matrix3x3_fp32_t* matrix, vector3_fp32_t* result) +inline void matrix3x3_left_product_fp32(const vector3_fp32_t* vector, const matrix3x3_fp32_t* matrix, vector3_fp32_t* result) { const float x1 = vector->x1 * matrix->r1c1 + vector->x2 * matrix->r2c1 + vector->x3 * matrix->r3c1; const float x2 = vector->x1 * matrix->r1c2 + vector->x2 * matrix->r2c2 + vector->x3 * matrix->r3c2; @@ -611,7 +611,7 @@ inline void matrix3x3_fp32_left_product(const vector3_fp32_t* vector, const matr result->x3 = x3; } -inline void matrix3x3_fp64_left_product(const vector3_fp64_t* vector, const matrix3x3_fp64_t* matrix, vector3_fp64_t* result) +inline void matrix3x3_left_product_fp64(const vector3_fp64_t* vector, const matrix3x3_fp64_t* matrix, vector3_fp64_t* result) { const double x1 = vector->x1 * matrix->r1c1 + vector->x2 * matrix->r2c1 + vector->x3 * matrix->r3c1; const double x2 = vector->x1 * matrix->r1c2 + vector->x2 * matrix->r2c2 + vector->x3 * matrix->r3c2; @@ -624,7 +624,7 @@ inline void matrix3x3_fp64_left_product(const vector3_fp64_t* vector, const matr // ============ Right Vector Product ============ // -inline void matrix3x3_fp32_right_product(const matrix3x3_fp32_t* matrix, const vector3_fp32_t* vector, vector3_fp32_t* result) +inline void matrix3x3_right_product_fp32(const matrix3x3_fp32_t* matrix, const vector3_fp32_t* vector, vector3_fp32_t* result) { const float x1 = matrix->r1c1 * vector->x1 + matrix->r1c2 * vector->x2 + matrix->r1c3 * vector->x3; const float x2 = matrix->r2c1 * vector->x1 + matrix->r2c2 * vector->x2 + matrix->r2c3 * vector->x3; @@ -635,7 +635,7 @@ inline void matrix3x3_fp32_right_product(const matrix3x3_fp32_t* matrix, const v result->x3 = x3; } -inline void matrix3x3_fp64_right_product(const matrix3x3_fp64_t* matrix, const vector3_fp64_t* vector, vector3_fp64_t* result) +inline void matrix3x3_right_product_fp64(const matrix3x3_fp64_t* matrix, const vector3_fp64_t* vector, vector3_fp64_t* result) { const double x1 = matrix->r1c1 * vector->x1 + matrix->r1c2 * vector->x2 + matrix->r1c3 * vector->x3; const double x2 = matrix->r2c1 * vector->x1 + matrix->r2c2 * vector->x2 + matrix->r2c3 * vector->x3; diff --git a/basic-geometry/quaternion.h b/basic-geometry/quaternion.h index 82b8067..816fa8d 100644 --- a/basic-geometry/quaternion.h +++ b/basic-geometry/quaternion.h @@ -35,7 +35,7 @@ inline void quaternion_reset_fp64(quaternion_fp64_t * quaternion) // ================== Set Unit ================== // -inline void quaternion_fp32_set_identity(quaternion_fp32_t * quaternion) +inline void quaternion_set_to_identity_fp32(quaternion_fp32_t * quaternion) { quaternion->s0 = 1.0f; quaternion->x1 = 0.0f; @@ -43,7 +43,7 @@ inline void quaternion_fp32_set_identity(quaternion_fp32_t * quaternion) quaternion->x3 = 0.0f; } -inline void quaternion_fp64_set_identity(quaternion_fp64_t * quaternion) +inline void quaternion_set_to_identity_fp64(quaternion_fp64_t * quaternion) { quaternion->s0 = 1.0; quaternion->x1 = 0.0; @@ -53,7 +53,7 @@ inline void quaternion_fp64_set_identity(quaternion_fp64_t * quaternion) // ==================== Set ===================== // -inline void quaternion_fp32_set_values(const float s0, const float x1, const float x2, const float x3, quaternion_fp32_t * quaternion) +inline void quaternion_set_values_fp32(const float s0, const float x1, const float x2, const float x3, quaternion_fp32_t * quaternion) { quaternion->s0 = s0; quaternion->x1 = x1; @@ -61,7 +61,7 @@ inline void quaternion_fp32_set_values(const float s0, const float x1, const flo quaternion->x3 = x3; } -inline void quaternion_fp64_set_values(const double s0, const double x1, const double x2, const double x3, quaternion_fp64_t * quaternion) +inline void quaternion_set_values_fp64(const double s0, const double x1, const double x2, const double x3, quaternion_fp64_t * quaternion) { quaternion->s0 = s0; quaternion->x1 = x1; @@ -127,7 +127,7 @@ inline void quaternion_swap_fp64(quaternion_fp64_t* quarternion1, quaternion_fp6 // ============= Copy to twin type ============== // -inline void quaternion_fp32_set_from_fp64(const quaternion_fp64_t* quaternion, quaternion_fp32_t* result) +inline void quaternion_convert_fp64_to_fp32(const quaternion_fp64_t* quaternion, quaternion_fp32_t* result) { result->s0 = (float) quaternion->s0; result->x1 = (float) quaternion->x1; @@ -135,7 +135,7 @@ inline void quaternion_fp32_set_from_fp64(const quaternion_fp64_t* quaternion, q result->x3 = (float) quaternion->x3; } -inline void quaternion_fp64_set_from_fp32(const quaternion_fp32_t* quaternion, quaternion_fp64_t* result) +inline void quaternion_convert_fp32_to_fp64(const quaternion_fp32_t* quaternion, quaternion_fp64_t* result) { result->s0 = quaternion->s0; result->x1 = quaternion->x1; @@ -145,14 +145,14 @@ inline void quaternion_fp64_set_from_fp32(const quaternion_fp32_t* quaternion, q // ================= Inversion ================== // -inline void quaternion_fp32_conjugate(quaternion_fp32_t* quaternion) +inline void quaternion_conjugate_fp32(quaternion_fp32_t* quaternion) { quaternion->x1 = -quaternion->x1; quaternion->x2 = -quaternion->x2; quaternion->x3 = -quaternion->x3; } -inline void quaternion_fp64_conjugate(quaternion_fp64_t* quaternion) +inline void quaternion_conjugate_fp64(quaternion_fp64_t* quaternion) { quaternion->x1 = -quaternion->x1; quaternion->x2 = -quaternion->x2; @@ -161,7 +161,7 @@ inline void quaternion_fp64_conjugate(quaternion_fp64_t* quaternion) // ================ Set Conjugate =============== // -inline void quaternion_fp32_set_conjugate(const quaternion_fp32_t* quaternion, quaternion_fp32_t* result) +inline void quaternion_set_conjugate_fp32(const quaternion_fp32_t* quaternion, quaternion_fp32_t* result) { result->s0 = quaternion->s0; result->x1 = -quaternion->x1; @@ -169,7 +169,7 @@ inline void quaternion_fp32_set_conjugate(const quaternion_fp32_t* quaternion, q result->x3 = -quaternion->x3; } -inline void quaternion_fp64_set_conjugate(const quaternion_fp64_t* quaternion, quaternion_fp64_t* result) +inline void quaternion_set_conjugate_fp64(const quaternion_fp64_t* quaternion, quaternion_fp64_t* result) { result->s0 = quaternion->s0; result->x1 = -quaternion->x1; @@ -179,7 +179,7 @@ inline void quaternion_fp64_set_conjugate(const quaternion_fp64_t* quaternion, q // ================ Set Conjugate =============== // -inline void quaternion_fp32_set_conjugate_fp64(const quaternion_fp64_t* quaternion, quaternion_fp32_t* result) +inline void quaternion_set_conjugate_fp64_to_fp32(const quaternion_fp64_t* quaternion, quaternion_fp32_t* result) { result->s0 = (float) quaternion->s0; result->x1 = (float) -quaternion->x1; @@ -187,7 +187,7 @@ inline void quaternion_fp32_set_conjugate_fp64(const quaternion_fp64_t* quaterni result->x3 = (float) -quaternion->x3; } -inline void quaternion_fp64_set_conjugate_fp32(const quaternion_fp32_t* quaternion, quaternion_fp64_t* result) +inline void quaternion_set_conjugate_fp32_to_fp64(const quaternion_fp32_t* quaternion, quaternion_fp64_t* result) { result->s0 = quaternion->s0; result->x1 = -quaternion->x1; @@ -221,7 +221,7 @@ inline double quaternion_get_modulus_fp64(const quaternion_fp64_t* quaternion) // =============== Normalization ================ // -inline int quaternion_fp32_normalize(quaternion_fp32_t* quaternion) +inline int quaternion_normalize_fp32(quaternion_fp32_t* quaternion) { const float square_modulus = quaternion_get_square_modulus_fp32(quaternion); @@ -244,7 +244,7 @@ inline int quaternion_fp32_normalize(quaternion_fp32_t* quaternion) return 1; } -inline int quaternion_fp64_normalize(quaternion_fp64_t* quaternion) +inline int quaternion_normalize_fp64(quaternion_fp64_t* quaternion) { const double square_modulus = quaternion_get_square_modulus_fp64(quaternion); @@ -269,7 +269,7 @@ inline int quaternion_fp64_normalize(quaternion_fp64_t* quaternion) // ============ Make Rotation Matrix ============ // -inline void quaternion_fp32_get_rotation_matrix(const quaternion_fp32_t* quaternion, matrix3x3_fp32_t* matrix) +inline void quaternion_get_rotation_matrix_fp32(const quaternion_fp32_t* quaternion, matrix3x3_fp32_t* matrix) { const float s0s0 = quaternion->s0 * quaternion->s0; const float x1x1 = quaternion->x1 * quaternion->x1; @@ -280,7 +280,7 @@ inline void quaternion_fp32_get_rotation_matrix(const quaternion_fp32_t* quatern if (-FP32_EPSYLON <= square_modulus && square_modulus <= FP32_EPSYLON) { - matrix3x3_fp32_set_to_identity(matrix); + matrix3x3_set_to_identity_fp32(matrix); return; } @@ -307,7 +307,7 @@ inline void quaternion_fp32_get_rotation_matrix(const quaternion_fp32_t* quatern matrix->r1c3 = corrector2 * (x1x3 + s0x2); } -inline void quaternion_fp64_get_rotation_matrix(const quaternion_fp64_t* quaternion, matrix3x3_fp64_t* matrix) +inline void quaternion_get_rotation_matrix_fp64(const quaternion_fp64_t* quaternion, matrix3x3_fp64_t* matrix) { const double s0s0 = quaternion->s0 * quaternion->s0; const double x1x1 = quaternion->x1 * quaternion->x1; @@ -318,7 +318,7 @@ inline void quaternion_fp64_get_rotation_matrix(const quaternion_fp64_t* quatern if (-FP64_EPSYLON <= square_modulus && square_modulus <= FP64_EPSYLON) { - matrix3x3_fp64_set_to_identity(matrix); + matrix3x3_set_to_identity_fp64(matrix); return; } @@ -347,7 +347,7 @@ inline void quaternion_fp64_get_rotation_matrix(const quaternion_fp64_t* quatern // ============ Make Reverse Matrix ============= // -inline void quaternion_fp32_get_reverse_matrix(const quaternion_fp32_t* quaternion, matrix3x3_fp32_t* matrix) +inline void quaternion_get_reverse_matrix_fp32(const quaternion_fp32_t* quaternion, matrix3x3_fp32_t* matrix) { const float s0s0 = quaternion->s0 * quaternion->s0; const float x1x1 = quaternion->x1 * quaternion->x1; @@ -358,7 +358,7 @@ inline void quaternion_fp32_get_reverse_matrix(const quaternion_fp32_t* quaterni if (-FP32_EPSYLON <= square_modulus && square_modulus <= FP32_EPSYLON) { - matrix3x3_fp32_set_to_identity(matrix); + matrix3x3_set_to_identity_fp32(matrix); return; } @@ -385,7 +385,7 @@ inline void quaternion_fp32_get_reverse_matrix(const quaternion_fp32_t* quaterni matrix->r1c3 = corrector2 * (x1x3 - s0x2); } -inline void quaternion_fp64_get_reverse_matrix(const quaternion_fp64_t* quaternion, matrix3x3_fp64_t* matrix) +inline void quaternion_get_reverse_matrix_fp64(const quaternion_fp64_t* quaternion, matrix3x3_fp64_t* matrix) { const double s0s0 = quaternion->s0 * quaternion->s0; const double x1x1 = quaternion->x1 * quaternion->x1; @@ -396,7 +396,7 @@ inline void quaternion_fp64_get_reverse_matrix(const quaternion_fp64_t* quaterni if (-FP64_EPSYLON <= square_modulus && square_modulus <= FP64_EPSYLON) { - matrix3x3_fp64_set_to_identity(matrix); + matrix3x3_set_to_identity_fp64(matrix); return; } @@ -425,7 +425,7 @@ inline void quaternion_fp64_get_reverse_matrix(const quaternion_fp64_t* quaterni // ==================== Add ===================== // -inline void quaternion_fp32_add(const quaternion_fp32_t * quaternion1, const quaternion_fp32_t * quaternion2, quaternion_fp32_t * result) +inline void quaternion_add_fp32(const quaternion_fp32_t * quaternion1, const quaternion_fp32_t * quaternion2, quaternion_fp32_t * result) { result->s0 = quaternion1->s0 + quaternion2->s0; result->x1 = quaternion1->x1 + quaternion2->x1; @@ -433,7 +433,7 @@ inline void quaternion_fp32_add(const quaternion_fp32_t * quaternion1, const qua result->x3 = quaternion1->x3 + quaternion2->x3; } -inline void quaternion_fp64_add(const quaternion_fp64_t * quaternion1, const quaternion_fp64_t * quaternion2, quaternion_fp64_t * result) +inline void quaternion_add_fp64(const quaternion_fp64_t * quaternion1, const quaternion_fp64_t * quaternion2, quaternion_fp64_t * result) { result->s0 = quaternion1->s0 + quaternion2->s0; result->x1 = quaternion1->x1 + quaternion2->x1; @@ -443,7 +443,7 @@ inline void quaternion_fp64_add(const quaternion_fp64_t * quaternion1, const qua // ================== Subtract ================== // -inline void quaternion_fp32_subtract(const quaternion_fp32_t * minuend, const quaternion_fp32_t * subtrahend, quaternion_fp32_t * difference) +inline void quaternion_subtract_fp32(const quaternion_fp32_t * minuend, const quaternion_fp32_t * subtrahend, quaternion_fp32_t * difference) { difference->s0 = minuend->s0 - subtrahend->s0; difference->x1 = minuend->x1 - subtrahend->x1; @@ -451,7 +451,7 @@ inline void quaternion_fp32_subtract(const quaternion_fp32_t * minuend, const qu difference->x3 = minuend->x3 - subtrahend->x3; } -inline void quaternion_fp64_subtract(const quaternion_fp64_t * minuend, const quaternion_fp64_t * subtrahend, quaternion_fp64_t * difference) +inline void quaternion_subtract_fp64(const quaternion_fp64_t * minuend, const quaternion_fp64_t * subtrahend, quaternion_fp64_t * difference) { difference->s0 = minuend->s0 - subtrahend->s0; difference->x1 = minuend->x1 - subtrahend->x1; @@ -461,7 +461,7 @@ inline void quaternion_fp64_subtract(const quaternion_fp64_t * minuend, const qu // =============== Multiplication =============== // -inline void quaternion_fp32_multiply(const quaternion_fp32_t* multiplicand, const float multipier, quaternion_fp32_t* product) +inline void quaternion_multiply_fp32(const quaternion_fp32_t* multiplicand, const float multipier, quaternion_fp32_t* product) { product->s0 = multiplicand->s0 * multipier; product->x1 = multiplicand->x1 * multipier; @@ -469,7 +469,7 @@ inline void quaternion_fp32_multiply(const quaternion_fp32_t* multiplicand, cons product->x3 = multiplicand->x3 * multipier; } -inline void quaternion_fp64_multiply(const quaternion_fp64_t* multiplicand, const double multipier, quaternion_fp64_t* product) +inline void quaternion_multiply_fp64(const quaternion_fp64_t* multiplicand, const double multipier, quaternion_fp64_t* product) { product->s0 = multiplicand->s0 * multipier; product->x1 = multiplicand->x1 * multipier; @@ -479,19 +479,19 @@ inline void quaternion_fp64_multiply(const quaternion_fp64_t* multiplicand, cons // ================== Division ================== // -inline void quaternion_fp32_divide(const quaternion_fp32_t* dividend, const float divisor, quaternion_fp32_t* quotient) +inline void quaternion_divide_fp32(const quaternion_fp32_t* dividend, const float divisor, quaternion_fp32_t* quotient) { - quaternion_fp32_multiply(dividend, 1.0f / divisor, quotient); + quaternion_multiply_fp32(dividend, 1.0f / divisor, quotient); } inline void quaternion_fp64_divide(const quaternion_fp64_t* dividend, const double divisor, quaternion_fp64_t* quotient) { - quaternion_fp64_multiply(dividend, 1.0 / divisor, quotient); + quaternion_multiply_fp64(dividend, 1.0 / divisor, quotient); } // ================== Product =================== // -inline void quaternion_fp32_get_product(const quaternion_fp32_t* left, const quaternion_fp32_t* right, quaternion_fp32_t* product) +inline void quaternion_get_product_fp32(const quaternion_fp32_t* left, const quaternion_fp32_t* right, quaternion_fp32_t* product) { const float s0 = (left->s0 * right->s0 - left->x1 * right->x1) - (left->x2 * right->x2 + left->x3 * right->x3); const float x1 = (left->x1 * right->s0 + left->s0 * right->x1) - (left->x3 * right->x2 - left->x2 * right->x3); @@ -504,7 +504,7 @@ inline void quaternion_fp32_get_product(const quaternion_fp32_t* left, const qua product->x3 = x3; } -inline void quaternion_fp64_get_product(const quaternion_fp64_t* left, const quaternion_fp64_t* right, quaternion_fp64_t* product) +inline void quaternion_get_product_fp64(const quaternion_fp64_t* left, const quaternion_fp64_t* right, quaternion_fp64_t* product) { const double s0 = (left->s0 * right->s0 - left->x1 * right->x1) - (left->x2 * right->x2 + left->x3 * right->x3); const double x1 = (left->x1 * right->s0 + left->s0 * right->x1) - (left->x3 * right->x2 - left->x2 * right->x3); diff --git a/basic-geometry/rotation3.h b/basic-geometry/rotation3.h index 2a34cab..93aa57d 100644 --- a/basic-geometry/rotation3.h +++ b/basic-geometry/rotation3.h @@ -47,7 +47,7 @@ inline void fp32_rotation_set_values(const float x1, const float x2, const float rotation->axis.x2 = x2; rotation->axis.x3 = x3; - if (vector3_fp32_normalize(&rotation->axis)) { + if (vector3_normalize_fp32(&rotation->axis)) { rotation->radians = fp32_angle_to_radians(angle, unit); } else { @@ -62,7 +62,7 @@ inline void fp64_rotation_set_values(const double x1, const double x2, const dou rotation->axis.x2 = x2; rotation->axis.x3 = x3; - if (vector3_fp64_normalize(&rotation->axis)) { + if (vector3_normalize_fp64(&rotation->axis)) { rotation->radians = fp64_angle_to_radians(angle, unit); } else { @@ -76,7 +76,7 @@ inline void fp32_rotation_set_with_axis(const vector3_fp32_t* axis, const float rotation->axis.x2 = axis->x2; rotation->axis.x3 = axis->x3; - if (vector3_fp32_normalize(&rotation->axis)) { + if (vector3_normalize_fp32(&rotation->axis)) { rotation->radians = fp32_angle_to_radians(angle, unit); } else { @@ -90,7 +90,7 @@ inline void fp64_rotation_set_with_axis(const vector3_fp64_t* axis, const double rotation->axis.x2 = axis->x2; rotation->axis.x3 = axis->x3; - if (vector3_fp64_normalize(&rotation->axis)) { + if (vector3_normalize_fp64(&rotation->axis)) { rotation->radians = fp64_angle_to_radians(angle, unit); } else { diff --git a/basic-geometry/tangent.h b/basic-geometry/tangent.h index de3be7a..ec29dc6 100644 --- a/basic-geometry/tangent.h +++ b/basic-geometry/tangent.h @@ -55,7 +55,7 @@ inline void tangent_reset_fp64(tangent_fp64_t* tangent) // ==================== Set ===================== // -inline void tangent_fp32_set_values(const float x1, const float x2, tangent_fp32_t* tangent) +inline void tangent_set_values_fp32(const float x1, const float x2, tangent_fp32_t* tangent) { const float square_module = x1 * x1 + x2 * x2; @@ -80,7 +80,7 @@ inline void tangent_fp32_set_values(const float x1, const float x2, tangent_fp32 twin->sin = x2 * multiplier; } -inline void tangent_fp64_set_values(const double x1, const double x2, tangent_fp64_t* tangent) +inline void tangent_set_values_fp64(const double x1, const double x2, tangent_fp64_t* tangent) { const double square_module = x1 * x1 + x2 * x2; @@ -181,14 +181,14 @@ inline void tangent_fp64_set_turn(const double angle, const angle_unit_t unit, t // ============= Copy to twin type ============== // -inline void tangent_fp32_set_from_fp64(const tangent_fp64_t* from, tangent_fp32_t* to) +inline void tangent_convert_fp64_to_fp32(const tangent_fp64_t* from, tangent_fp32_t* to) { - tangent_fp32_set_values((float)from->cos, (float)from->sin, to); + tangent_set_values_fp32((float)from->cos, (float)from->sin, to); } -inline void tangent_fp64_set_from_fp32(const tangent_fp32_t* from, tangent_fp64_t* to) +inline void tangent_convert_fp32_to_fp64(const tangent_fp32_t* from, tangent_fp64_t* to) { - tangent_fp64_set_values((double)from->cos, (double)from->sin, to); + tangent_set_values_fp64((double)from->cos, (double)from->sin, to); } // ================= Inversion ================== // @@ -205,7 +205,7 @@ inline void tangent_invert_fp64(tangent_fp64_t* tangent) // ================ Set Inverted ================ // -inline void tangent_fp32_set_inverted(const tangent_fp32_t* tangent, tangent_fp32_t* result) +inline void tangent_set_inverted_fp32(const tangent_fp32_t* tangent, tangent_fp32_t* result) { __BgFP32DarkTwinTangent* twin = (__BgFP32DarkTwinTangent*)result; @@ -213,7 +213,7 @@ inline void tangent_fp32_set_inverted(const tangent_fp32_t* tangent, tangent_fp3 twin->sin = -tangent->sin; } -inline void tangent_fp64_set_inverted(const tangent_fp64_t* tangent, tangent_fp64_t* result) +inline void tangent_set_inverted_fp64(const tangent_fp64_t* tangent, tangent_fp64_t* result) { __BgFP64DarkTwinTangent* twin = (__BgFP64DarkTwinTangent*)result; @@ -259,7 +259,7 @@ inline void tangent_fp64_make_reverse_matrix(const tangent_fp64_t* tangent, matr // =================== Angle =================== // -inline float tangent_fp32_get_angle(const tangent_fp32_t* tangent, const angle_unit_t unit) +inline float tangent_get_angle_fp32(const tangent_fp32_t* tangent, const angle_unit_t unit) { if (tangent->cos >= 1.0f - FP32_TWO_EPSYLON) { return 0.0f; @@ -280,7 +280,7 @@ inline float tangent_fp32_get_angle(const tangent_fp32_t* tangent, const angle_u return fp32_radians_to_units(atan2f(tangent->cos, tangent->sin), unit); } -inline double tangent_fp64_get_angle(const tangent_fp64_t* tangent, const angle_unit_t unit) +inline double tangent_get_angle_fp64(const tangent_fp64_t* tangent, const angle_unit_t unit) { if (tangent->cos >= 1.0 - FP64_TWO_EPSYLON) { return 0.0; @@ -305,7 +305,7 @@ inline double tangent_fp64_get_angle(const tangent_fp64_t* tangent, const angle_ inline void tangent_fp32_combine(const tangent_fp32_t* tangent1, const tangent_fp32_t* tangent2, tangent_fp32_t* result) { - tangent_fp32_set_values( + tangent_set_values_fp32( tangent1->cos * tangent2->cos - tangent1->sin * tangent2->sin, tangent1->cos * tangent2->sin + tangent1->sin * tangent2->cos, result @@ -314,7 +314,7 @@ inline void tangent_fp32_combine(const tangent_fp32_t* tangent1, const tangent_f inline void tangent_fp64_combine(const tangent_fp64_t* tangent1, const tangent_fp64_t* tangent2, tangent_fp64_t* result) { - tangent_fp64_set_values( + tangent_set_values_fp64( tangent1->cos * tangent2->cos - tangent1->sin * tangent2->sin, tangent1->cos * tangent2->sin + tangent1->sin * tangent2->cos, result diff --git a/basic-geometry/vector2.c b/basic-geometry/vector2.c index e2e3fd4..30cf01f 100644 --- a/basic-geometry/vector2.c +++ b/basic-geometry/vector2.c @@ -2,7 +2,7 @@ // =================== Angle ==================== // -float vector2_fp32_get_angle(const vector2_fp32_t* vector1, const vector2_fp32_t* vector2, const angle_unit_t unit) +float vector2_get_angle_fp32(const vector2_fp32_t* vector1, const vector2_fp32_t* vector2, const angle_unit_t unit) { if (vector1 == 0 || vector2 == 0) { return 0.0f; @@ -33,7 +33,7 @@ float vector2_fp32_get_angle(const vector2_fp32_t* vector1, const vector2_fp32_t return fp32_radians_to_units(acosf(cosine), unit); } -double vector2_fp64_get_angle(const vector2_fp64_t* vector1, const vector2_fp64_t* vector2, const angle_unit_t unit) +double vector2_get_angle_fp64(const vector2_fp64_t* vector1, const vector2_fp64_t* vector2, const angle_unit_t unit) { if (vector1 == 0 || vector2 == 0) { return 0.0; diff --git a/basic-geometry/vector2.h b/basic-geometry/vector2.h index fde65ee..e7f6266 100644 --- a/basic-geometry/vector2.h +++ b/basic-geometry/vector2.h @@ -32,13 +32,13 @@ inline void vector2_reset_fp64(vector2_fp64_t* vector) // ==================== Set ===================== // -inline void vector2_fp32_set_values(const float x1, const float x2, vector2_fp32_t* to) +inline void vector2_set_values_fp32(const float x1, const float x2, vector2_fp32_t* to) { to->x1 = x1; to->x2 = x2; } -inline void vector2_fp64_set_values(const double x1, const double x2, vector2_fp64_t* to) +inline void vector2_set_values_fp64(const double x1, const double x2, vector2_fp64_t* to) { to->x1 = x1; to->x2 = x2; @@ -86,13 +86,13 @@ inline void vector2_swap_fp64(vector2_fp64_t* vector1, vector2_fp64_t* vector2) // ============= Copy to twin type ============== // -inline void vector2_fp32_set_from_fp64(const vector2_fp64_t* from, vector2_fp32_t* to) +inline void vector2_convert_fp64_to_fp32(const vector2_fp64_t* from, vector2_fp32_t* to) { to->x1 = (float)from->x1; to->x2 = (float)from->x2; } -inline void vector2_fp64_set_from_fp32(const vector2_fp32_t* from, vector2_fp64_t* to) +inline void vector2_convert_fp32_to_fp64(const vector2_fp32_t* from, vector2_fp64_t* to) { to->x1 = from->x1; to->x2 = from->x2; @@ -176,13 +176,13 @@ inline int vector2_fp64_is_unit(const vector2_fp64_t* vector) // ==================== Add ===================== // -inline void vector2_fp32_add(const vector2_fp32_t* vector1, const vector2_fp32_t* vector2, vector2_fp32_t* sum) +inline void vector2_add_fp32(const vector2_fp32_t* vector1, const vector2_fp32_t* vector2, vector2_fp32_t* sum) { sum->x1 = vector1->x1 + vector2->x1; sum->x2 = vector1->x2 + vector2->x2; } -inline void vector2_fp64_add(const vector2_fp64_t* vector1, const vector2_fp64_t* vector2, vector2_fp64_t* sum) +inline void vector2_add_fp64(const vector2_fp64_t* vector1, const vector2_fp64_t* vector2, vector2_fp64_t* sum) { sum->x1 = vector1->x1 + vector2->x1; sum->x2 = vector1->x2 + vector2->x2; @@ -190,13 +190,13 @@ inline void vector2_fp64_add(const vector2_fp64_t* vector1, const vector2_fp64_t // ================ Subtraction ================= // -inline void vector2_fp32_subtract(const vector2_fp32_t* minuend, const vector2_fp32_t* subtrahend, vector2_fp32_t* difference) +inline void vector2_subtract_fp32(const vector2_fp32_t* minuend, const vector2_fp32_t* subtrahend, vector2_fp32_t* difference) { difference->x1 = minuend->x1 - subtrahend->x1; difference->x2 = minuend->x2 - subtrahend->x2; } -inline void vector2_fp64_subtract(const vector2_fp64_t* minuend, const vector2_fp64_t* subtrahend, vector2_fp64_t* difference) +inline void vector2_subtract_fp64(const vector2_fp64_t* minuend, const vector2_fp64_t* subtrahend, vector2_fp64_t* difference) { difference->x1 = minuend->x1 - subtrahend->x1; difference->x2 = minuend->x2 - subtrahend->x2; @@ -204,13 +204,13 @@ inline void vector2_fp64_subtract(const vector2_fp64_t* minuend, const vector2_f // =============== Multiplication =============== // -inline void vector2_fp32_multiply(const vector2_fp32_t* multiplicand, const float multiplier, vector2_fp32_t* product) +inline void vector2_multiply_fp32(const vector2_fp32_t* multiplicand, const float multiplier, vector2_fp32_t* product) { product->x1 = multiplicand->x1 * multiplier; product->x2 = multiplicand->x2 * multiplier; } -inline void vector2_fp64_multiply(const vector2_fp64_t* multiplicand, const double multiplier, vector2_fp64_t* product) +inline void vector2_multiply_fp64(const vector2_fp64_t* multiplicand, const double multiplier, vector2_fp64_t* product) { product->x1 = multiplicand->x1 * multiplier; product->x2 = multiplicand->x2 * multiplier; @@ -218,25 +218,25 @@ inline void vector2_fp64_multiply(const vector2_fp64_t* multiplicand, const doub // ================== Division ================== // -inline void vector2_fp32_divide(const vector2_fp32_t* dividend, const float divisor, vector2_fp32_t* quotient) +inline void vector2_divide_fp32(const vector2_fp32_t* dividend, const float divisor, vector2_fp32_t* quotient) { - vector2_fp32_multiply(dividend, 1.0f / divisor, quotient); + vector2_multiply_fp32(dividend, 1.0f / divisor, quotient); } inline void vector2_fp64_divide(const vector2_fp64_t* dividend, const double divisor, vector2_fp64_t* quotient) { - vector2_fp64_multiply(dividend, 1.0 / divisor, quotient); + vector2_multiply_fp64(dividend, 1.0 / divisor, quotient); } // ================ Append scaled =============== // -inline void vector2_fp32_append_scaled(vector2_fp32_t* basic_vector, const vector2_fp32_t* scalable_vector, const float scale) +inline void vector2_add_scaled_fp32(vector2_fp32_t* basic_vector, const vector2_fp32_t* scalable_vector, const float scale) { basic_vector->x1 += scalable_vector->x1 * scale; basic_vector->x2 += scalable_vector->x2 * scale; } -inline void vector2_fp64_append_scaled(vector2_fp64_t* basic_vector, const vector2_fp64_t* scalable_vector, const double scale) +inline void vector2_add_scaled_fp64(vector2_fp64_t* basic_vector, const vector2_fp64_t* scalable_vector, const double scale) { basic_vector->x1 += scalable_vector->x1 * scale; basic_vector->x2 += scalable_vector->x2 * scale; @@ -316,7 +316,7 @@ inline void vector2_fp64_complex_product(const vector2_fp64_t* vector1, const ve // =============== Normalization ================ // -inline int vector2_fp32_normalize(vector2_fp32_t* vector) +inline int vector2_normalize_fp32(vector2_fp32_t* vector) { const float square_modulus = vector2_get_square_modulus_fp32(vector); @@ -329,11 +329,11 @@ inline int vector2_fp32_normalize(vector2_fp32_t* vector) return 0; } - vector2_fp32_multiply(vector, sqrtf(1.0f / square_modulus), vector); + vector2_multiply_fp32(vector, sqrtf(1.0f / square_modulus), vector); return 1; } -inline int vector2_fp64_normalize(vector2_fp64_t* vector) +inline int vector2_normalize_fp64(vector2_fp64_t* vector) { const double square_modulus = vector2_get_square_modulus_fp64(vector); @@ -346,7 +346,7 @@ inline int vector2_fp64_normalize(vector2_fp64_t* vector) return 0; } - vector2_fp64_multiply(vector, sqrt(1.0 / square_modulus), vector); + vector2_multiply_fp64(vector, sqrt(1.0 / square_modulus), vector); return 1; } @@ -355,24 +355,24 @@ inline int vector2_fp64_normalize(vector2_fp64_t* vector) inline int vector2_fp32_set_normalized(const vector2_fp32_t* vector, vector2_fp32_t* result) { vector2_copy_fp32(vector, result); - return vector2_fp32_normalize(result); + return vector2_normalize_fp32(result); } inline int vector2_fp64_set_normalized(const vector2_fp64_t* vector, vector2_fp64_t* result) { vector2_copy_fp64(vector, result); - return vector2_fp64_normalize(result); + return vector2_normalize_fp64(result); } // =================== Angle ==================== // -float vector2_fp32_get_angle(const vector2_fp32_t* vector1, const vector2_fp32_t* vector2, const angle_unit_t unit); +float vector2_get_angle_fp32(const vector2_fp32_t* vector1, const vector2_fp32_t* vector2, const angle_unit_t unit); -double vector2_fp64_get_angle(const vector2_fp64_t* vector1, const vector2_fp64_t* vector2, const angle_unit_t unit); +double vector2_get_angle_fp64(const vector2_fp64_t* vector1, const vector2_fp64_t* vector2, const angle_unit_t unit); // =============== Square Distance ============== // -inline float vector2_fp32_get_square_distance(const vector2_fp32_t* vector1, const vector2_fp32_t* vector2) +inline float vector2_get_square_distance_fp32(const vector2_fp32_t* vector1, const vector2_fp32_t* vector2) { const float dx1 = (vector1->x1 - vector2->x1); const float dx2 = (vector1->x2 - vector2->x2); @@ -380,7 +380,7 @@ inline float vector2_fp32_get_square_distance(const vector2_fp32_t* vector1, con return dx1 * dx1 + dx2 * dx2; } -inline double vector2_fp64_get_square_distance(const vector2_fp64_t* vector1, const vector2_fp64_t* vector2) +inline double vector2_get_square_distance_fp64(const vector2_fp64_t* vector1, const vector2_fp64_t* vector2) { const double dx1 = (vector1->x1 - vector2->x1); const double dx2 = (vector1->x2 - vector2->x2); @@ -390,23 +390,23 @@ inline double vector2_fp64_get_square_distance(const vector2_fp64_t* vector1, co // ================== Distance ================== // -inline float vector2_fp32_get_distance(const vector2_fp32_t* vector1, const vector2_fp32_t* vector2) +inline float vector2_get_distance_fp32(const vector2_fp32_t* vector1, const vector2_fp32_t* vector2) { - return sqrtf(vector2_fp32_get_square_distance(vector1, vector2)); + return sqrtf(vector2_get_square_distance_fp32(vector1, vector2)); } -inline double vector2_fp64_get_distance(const vector2_fp64_t* vector1, const vector2_fp64_t* vector2) +inline double vector2_get_distance_fp64(const vector2_fp64_t* vector1, const vector2_fp64_t* vector2) { - return sqrt(vector2_fp64_get_square_distance(vector1, vector2)); + return sqrt(vector2_get_square_distance_fp64(vector1, vector2)); } // ================== Are Equal ================= // -inline int vector2_fp32_are_equal(const vector2_fp32_t* vector1, const vector2_fp32_t* vector2) +inline int vector2_are_equal_fp32(const vector2_fp32_t* vector1, const vector2_fp32_t* vector2) { const float square_modulus1 = vector2_get_square_modulus_fp32(vector1); const float square_modulus2 = vector2_get_square_modulus_fp32(vector2); - const float square_modulus3 = vector2_fp32_get_square_distance(vector1, vector2); + const float square_modulus3 = vector2_get_square_distance_fp32(vector1, vector2); // 2.0f means dimension amount if (square_modulus1 < FP32_EPSYLON_EFFECTIVENESS_LIMIT || square_modulus2 < FP32_EPSYLON_EFFECTIVENESS_LIMIT) { @@ -420,11 +420,11 @@ inline int vector2_fp32_are_equal(const vector2_fp32_t* vector1, const vector2_f return square_modulus3 <= (2.0f * FP32_SQUARE_EPSYLON) * square_modulus1; } -inline int vector2_fp64_are_equal(const vector2_fp64_t* vector1, const vector2_fp64_t* vector2) +inline int vector2_are_equal_fp64(const vector2_fp64_t* vector1, const vector2_fp64_t* vector2) { const double square_modulus1 = vector2_get_square_modulus_fp64(vector1); const double square_modulus2 = vector2_get_square_modulus_fp64(vector2); - const double square_modulus3 = vector2_fp64_get_square_distance(vector1, vector2); + const double square_modulus3 = vector2_get_square_distance_fp64(vector1, vector2); // 2.0 means dimension amount if (square_modulus1 < FP64_EPSYLON_EFFECTIVENESS_LIMIT || square_modulus2 < FP64_EPSYLON_EFFECTIVENESS_LIMIT) { diff --git a/basic-geometry/vector3.c b/basic-geometry/vector3.c index 525206b..284175f 100644 --- a/basic-geometry/vector3.c +++ b/basic-geometry/vector3.c @@ -2,7 +2,7 @@ // =================== Angle ==================== // -float vector3_fp32_get_angle(const vector3_fp32_t* vector1, const vector3_fp32_t* vector2, const angle_unit_t unit) +float vector3_get_angle_fp32(const vector3_fp32_t* vector1, const vector3_fp32_t* vector2, const angle_unit_t unit) { if (vector1 == 0 || vector2 == 0) { return 0.0f; @@ -20,7 +20,7 @@ float vector3_fp32_get_angle(const vector3_fp32_t* vector1, const vector3_fp32_t return 0.0f; } - const float cosine = vector3_fp32_scalar_product(vector1, vector2) / sqrtf(square_modulus1 * square_modulus2); + const float cosine = vector3_scalar_product_fp32(vector1, vector2) / sqrtf(square_modulus1 * square_modulus2); if (cosine >= 1.0f - FP32_EPSYLON) { return 0.0f; @@ -33,7 +33,7 @@ float vector3_fp32_get_angle(const vector3_fp32_t* vector1, const vector3_fp32_t return fp32_radians_to_units(acosf(cosine), unit); } -double vector3_fp64_get_angle(const vector3_fp64_t* vector1, const vector3_fp64_t* vector2, const angle_unit_t unit) +double vector3_get_angle_fp64(const vector3_fp64_t* vector1, const vector3_fp64_t* vector2, const angle_unit_t unit) { if (vector1 == 0 || vector2 == 0) { return 0.0; @@ -51,7 +51,7 @@ double vector3_fp64_get_angle(const vector3_fp64_t* vector1, const vector3_fp64_ return 0.0; } - const double cosine = vector3_fp64_scalar_product(vector1, vector2) / sqrt(square_modulus1 * square_modulus2); + const double cosine = vector3_scalar_product_fp64(vector1, vector2) / sqrt(square_modulus1 * square_modulus2); if (cosine >= 1.0 - FP64_EPSYLON) { return 0.0; diff --git a/basic-geometry/vector3.h b/basic-geometry/vector3.h index 3b99a76..6b4cf5c 100644 --- a/basic-geometry/vector3.h +++ b/basic-geometry/vector3.h @@ -18,30 +18,6 @@ typedef struct double x1, x2, x3; } vector3_fp64_t; -// ================ Declarations ================ // -/* -extern inline void vector3_reset_fp32(vector3_fp32_t* vector); -extern inline void vector3_set_fp32(const float x1, const float x2, const float x3, vector3_fp32_t* to); -extern inline void vector3_copy_fp32(const vector3_fp32_t* from, vector3_fp32_t* to); -extern inline void vector3_fp32_convert(const vector3_fp64_t* from, vector3_fp32_t* to); -extern inline void vector3_swap_fp32(vector3_fp32_t* vector1, vector3_fp32_t* vector2); -extern inline void vector3_invert_fp32(vector3_fp32_t* vector); -extern inline void vector3_fp32_make_inverted(const vector3_fp32_t* vector, vector3_fp32_t* result); -extern inline void vector3_fp32_make_inverted_fp64(const vector3_fp64_t* vector, vector3_fp32_t* result); -extern inline float vector3_get_square_modulus_fp32(const vector3_fp32_t* vector); -extern inline float vector3_get_modulus_fp32(const vector3_fp32_t* vector); - -extern inline void vector3_reset_fp64(vector3_fp64_t* vector); -extern inline void vector3_set_fp64(const double x1, const double x2, const double x3, vector3_fp64_t* to); -extern inline void vector3_copy_fp64(const vector3_fp64_t* from, vector3_fp64_t* to); -extern inline void vector3_fp64_convert(const vector3_fp32_t* from, vector3_fp64_t* to); -extern inline void vector3_swap_fp64(vector3_fp64_t* vector1, vector3_fp64_t* vector2); -extern inline void vector3_invert_fp64(vector3_fp64_t* vector); -extern inline void vector3_fp64_make_inverted(const vector3_fp64_t* vector, vector3_fp64_t* result); -extern inline void vector3_fp64_make_inverted_fp32(const vector3_fp32_t* vector, vector3_fp64_t* result); -extern inline double vector3_get_square_modulus_fp64(const vector3_fp64_t* vector); -extern inline double vector3_get_modulus_fp64(const vector3_fp64_t* vector); -*/ // =================== Reset ==================== // inline void vector3_reset_fp32(vector3_fp32_t* vector) @@ -60,14 +36,14 @@ inline void vector3_reset_fp64(vector3_fp64_t* vector) // ==================== Set ===================== // -inline void vector3_set_fp32(const float x1, const float x2, const float x3, vector3_fp32_t* to) +inline void vector3_set_values_fp32(const float x1, const float x2, const float x3, vector3_fp32_t* to) { to->x1 = x1; to->x2 = x2; to->x3 = x3; } -inline void vector3_set_fp64(const double x1, const double x2, const double x3, vector3_fp64_t* to) +inline void vector3_set_values_fp64(const double x1, const double x2, const double x3, vector3_fp64_t* to) { to->x1 = x1; to->x2 = x2; @@ -92,14 +68,14 @@ inline void vector3_copy_fp64(const vector3_fp64_t* from, vector3_fp64_t* to) // ================== Convert =================== // -inline void vector3_fp32_convert(const vector3_fp64_t* from, vector3_fp32_t* to) +inline void vector3_convert__fp64_to_fp32(const vector3_fp64_t* from, vector3_fp32_t* to) { to->x1 = (float) from->x1; to->x2 = (float) from->x2; to->x3 = (float) from->x3; } -inline void vector3_fp64_convert(const vector3_fp32_t* from, vector3_fp64_t* to) +inline void vector3_convert__fp32_to_fp64(const vector3_fp32_t* from, vector3_fp64_t* to) { to->x1 = from->x1; to->x2 = from->x2; @@ -156,14 +132,14 @@ inline void vector3_invert_fp64(vector3_fp64_t* vector) // ================ Make Inverted =============== // -inline void vector3_fp32_make_inverted(const vector3_fp32_t* vector, vector3_fp32_t* result) +inline void vector3_set_inverted_fp32(const vector3_fp32_t* vector, vector3_fp32_t* result) { result->x1 = -vector->x1; result->x2 = -vector->x2; result->x3 = -vector->x3; } -inline void vector3_fp64_make_inverted(const vector3_fp64_t* vector, vector3_fp64_t* result) +inline void vector3_set_inverted_fp64(const vector3_fp64_t* vector, vector3_fp64_t* result) { result->x1 = -vector->x1; result->x2 = -vector->x2; @@ -172,14 +148,14 @@ inline void vector3_fp64_make_inverted(const vector3_fp64_t* vector, vector3_fp6 // ============== Make Inverted Twin ============ // -inline void vector3_fp32_make_inverted_fp64(const vector3_fp32_t* vector, vector3_fp64_t* result) +inline void vector3_set_inverted_fp32_to_fp64(const vector3_fp32_t* vector, vector3_fp64_t* result) { result->x1 = -vector->x1; result->x2 = -vector->x2; result->x3 = -vector->x3; } -inline void vector3_fp64_make_inverted_fp32(const vector3_fp64_t* vector, vector3_fp32_t* result) +inline void vector3_set_inverted_fp64_to_fp32(const vector3_fp64_t* vector, vector3_fp32_t* result) { result->x1 = (float) -vector->x1; result->x2 = (float) -vector->x2; @@ -236,90 +212,150 @@ inline int vector3_fp64_is_unit(const vector3_fp64_t* vector) // ==================== Add ===================== // -inline void vector3_fp32_add(const vector3_fp32_t* vector1, const vector3_fp32_t* vector2, vector3_fp32_t* sum) +inline void vector3_add_fp32(const vector3_fp32_t* vector1, const vector3_fp32_t* vector2, vector3_fp32_t* sum) { sum->x1 = vector1->x1 + vector2->x1; sum->x2 = vector1->x2 + vector2->x2; sum->x3 = vector1->x3 + vector2->x3; } -inline void vector3_fp64_add(const vector3_fp64_t* vector1, const vector3_fp64_t* vector2, vector3_fp64_t* sum) +inline void vector3_add_fp64(const vector3_fp64_t* vector1, const vector3_fp64_t* vector2, vector3_fp64_t* sum) { sum->x1 = vector1->x1 + vector2->x1; sum->x2 = vector1->x2 + vector2->x2; sum->x3 = vector1->x3 + vector2->x3; } +// ==================== Sum ===================== // + +inline void vector3_set_sum_fp32_to_fp64(const vector3_fp32_t* vector1, const vector3_fp32_t* vector2, vector3_fp64_t* sum) +{ + sum->x1 = vector1->x1 + vector2->x1; + sum->x2 = vector1->x2 + vector2->x2; + sum->x3 = vector1->x3 + vector2->x3; +} + +inline void vector3_set_sum_fp64_to_fp32(const vector3_fp64_t* vector1, const vector3_fp64_t* vector2, vector3_fp32_t* sum) +{ + sum->x1 = (float)(vector1->x1 + vector2->x1); + sum->x2 = (float)(vector1->x2 + vector2->x2); + sum->x3 = (float)(vector1->x3 + vector2->x3); +} + +// ================= Add scaled ================= // + +inline void vector3_add_scaled_fp32(const vector3_fp32_t* basic_vector, const vector3_fp32_t* scalable_vector, const float scale, vector3_fp32_t* result) +{ + result->x1 = basic_vector->x1 + scalable_vector->x1 * scale; + result->x2 = basic_vector->x2 + scalable_vector->x2 * scale; + result->x3 = basic_vector->x3 + scalable_vector->x3 * scale; +} + +inline void vector3_add_scaled_fp64(const vector3_fp64_t* basic_vector, const vector3_fp64_t* scalable_vector, const double scale, vector3_fp64_t* result) +{ + result->x1 = basic_vector->x1 + scalable_vector->x1 * scale; + result->x2 = basic_vector->x2 + scalable_vector->x2 * scale; + result->x3 = basic_vector->x3 + scalable_vector->x3 * scale; +} + // ================ Subtraction ================= // -inline void vector3_fp32_subtract(const vector3_fp32_t* minuend, const vector3_fp32_t* subtrahend, vector3_fp32_t* difference) +inline void vector3_subtract_fp32(const vector3_fp32_t* minuend, const vector3_fp32_t* subtrahend, vector3_fp32_t* difference) { difference->x1 = minuend->x1 - subtrahend->x1; difference->x2 = minuend->x2 - subtrahend->x2; difference->x3 = minuend->x3 - subtrahend->x3; } -inline void vector3_fp64_subtract(const vector3_fp64_t* minuend, const vector3_fp64_t* subtrahend, vector3_fp64_t* difference) +inline void vector3_subtract_fp64(const vector3_fp64_t* minuend, const vector3_fp64_t* subtrahend, vector3_fp64_t* difference) { difference->x1 = minuend->x1 - subtrahend->x1; difference->x2 = minuend->x2 - subtrahend->x2; difference->x3 = minuend->x3 - subtrahend->x3; } +// ================= Difference ================= // + +inline void vector3_set_difference_fp32_to_fp64(const vector3_fp32_t* minuend, const vector3_fp32_t* subtrahend, vector3_fp64_t* difference) +{ + difference->x1 = minuend->x1 - subtrahend->x1; + difference->x2 = minuend->x2 - subtrahend->x2; + difference->x3 = minuend->x3 - subtrahend->x3; +} + +inline void vector3_set_difference_fp64_to_fp32(const vector3_fp64_t* minuend, const vector3_fp64_t* subtrahend, vector3_fp64_t* difference) +{ + difference->x1 = (float)(minuend->x1 - subtrahend->x1); + difference->x2 = (float)(minuend->x2 - subtrahend->x2); + difference->x3 = (float)(minuend->x3 - subtrahend->x3); +} + // =============== Multiplication =============== // -inline void vector3_fp32_multiply(const vector3_fp32_t* multiplicand, const float multiplier, vector3_fp32_t* product) +inline void vector3_multiply_fp32(const vector3_fp32_t* multiplicand, const float multiplier, vector3_fp32_t* product) { product->x1 = multiplicand->x1 * multiplier; product->x2 = multiplicand->x2 * multiplier; product->x3 = multiplicand->x3 * multiplier; } -inline void vector3_fp64_multiply(const vector3_fp64_t* multiplicand, const double multiplier, vector3_fp64_t* product) +inline void vector3_multiply_fp64(const vector3_fp64_t* multiplicand, const double multiplier, vector3_fp64_t* product) { product->x1 = multiplicand->x1 * multiplier; product->x2 = multiplicand->x2 * multiplier; product->x3 = multiplicand->x3 * multiplier; } +// =============== Multiplication =============== // + +inline void vector3_set_product_fp32_to_fp64(const vector3_fp32_t* multiplicand, const double multiplier, vector3_fp64_t* product) +{ + product->x1 = multiplicand->x1 * multiplier; + product->x2 = multiplicand->x2 * multiplier; + product->x3 = multiplicand->x3 * multiplier; +} + +inline void vector3_set_product_fp64_to_fp32(const vector3_fp64_t* multiplicand, const double multiplier, vector3_fp32_t* product) +{ + product->x1 = (float)(multiplicand->x1 * multiplier); + product->x2 = (float)(multiplicand->x2 * multiplier); + product->x3 = (float)(multiplicand->x3 * multiplier); +} + // ================== Division ================== // -inline void vector3_fp32_divide(const vector3_fp32_t* dividend, const float divisor, vector3_fp32_t* quotient) +inline void vector3_divide_fp32(const vector3_fp32_t* dividend, const float divisor, vector3_fp32_t* quotient) { - vector3_fp32_multiply(dividend, 1.0f / divisor, quotient); + vector3_multiply_fp32(dividend, 1.0f / divisor, quotient); } -inline void vector3_fp64_divide(const vector3_fp64_t* dividend, const double divisor, vector3_fp64_t* quotient) +inline void vector3_divide_fp64(const vector3_fp64_t* dividend, const double divisor, vector3_fp64_t* quotient) { - vector3_fp64_multiply(dividend, 1.0 / divisor, quotient); + vector3_multiply_fp64(dividend, 1.0 / divisor, quotient); } -// ================ Append scaled =============== // +// ================== Quotient ================== // -inline void vector3_fp32_append_scaled(vector3_fp32_t* basic_vector, const vector3_fp32_t* scalable_vector, const float scale) +inline void vector3_set_quotient_fp32_to_fp64(const vector3_fp32_t* dividend, const double divisor, vector3_fp64_t* quotient) { - basic_vector->x1 += scalable_vector->x1 * scale; - basic_vector->x2 += scalable_vector->x2 * scale; - basic_vector->x3 += scalable_vector->x3 * scale; + vector3_set_product_fp32_to_fp64(dividend, 1.0 / divisor, quotient); } -inline void vector3_fp64_append_scaled(vector3_fp64_t* basic_vector, const vector3_fp64_t* scalable_vector, const double scale) +inline void vector3_set_quotient_fp64_to_fp32(const vector3_fp64_t* dividend, const double divisor, vector3_fp32_t* quotient) { - basic_vector->x1 += scalable_vector->x1 * scale; - basic_vector->x2 += scalable_vector->x2 * scale; - basic_vector->x3 += scalable_vector->x3 * scale; + vector3_set_product_fp64_to_fp32(dividend, 1.0f / divisor, quotient); } // ================== Average2 ================== // -inline void vector3_fp32_get_mean2(const vector3_fp32_t* vector1, const vector3_fp32_t* vector2, vector3_fp32_t* result) +inline void vector3_mean_of_two_fp32(const vector3_fp32_t* vector1, const vector3_fp32_t* vector2, vector3_fp32_t* result) { result->x1 = (vector1->x1 + vector2->x1) * 0.5f; result->x2 = (vector1->x2 + vector2->x2) * 0.5f; result->x3 = (vector1->x3 + vector2->x3) * 0.5f; } -inline void vector3_fp64_get_mean2(const vector3_fp64_t* vector1, const vector3_fp64_t* vector2, vector3_fp64_t* result) +inline void vector3_mean_of_two_fp64(const vector3_fp64_t* vector1, const vector3_fp64_t* vector2, vector3_fp64_t* result) { result->x1 = (vector1->x1 + vector2->x1) * 0.5; result->x2 = (vector1->x2 + vector2->x2) * 0.5; @@ -328,14 +364,14 @@ inline void vector3_fp64_get_mean2(const vector3_fp64_t* vector1, const vector3_ // ================== Average3 ================== // -inline void vector3_fp32_get_mean3(const vector3_fp32_t* vector1, const vector3_fp32_t* vector2, const vector3_fp32_t* vector3, vector3_fp32_t* result) +inline void vector3_mean_of_three_fp32(const vector3_fp32_t* vector1, const vector3_fp32_t* vector2, const vector3_fp32_t* vector3, vector3_fp32_t* result) { result->x1 = (vector1->x1 + vector2->x1 + vector3->x1) * FP32_ONE_THIRD; result->x2 = (vector1->x2 + vector2->x2 + vector3->x2) * FP32_ONE_THIRD; result->x3 = (vector1->x3 + vector2->x3 + vector3->x3) * FP32_ONE_THIRD; } -inline void vector3_fp64_get_mean3(const vector3_fp64_t* vector1, const vector3_fp64_t* vector2, const vector3_fp64_t* vector3, vector3_fp64_t* result) +inline void vector3_mean_of_three_fp64(const vector3_fp64_t* vector1, const vector3_fp64_t* vector2, const vector3_fp64_t* vector3, vector3_fp64_t* result) { result->x1 = (vector1->x1 + vector2->x1 + vector3->x1) * FP64_ONE_THIRD; result->x2 = (vector1->x2 + vector2->x2 + vector3->x2) * FP64_ONE_THIRD; @@ -344,26 +380,26 @@ inline void vector3_fp64_get_mean3(const vector3_fp64_t* vector1, const vector3_ // =============== Scalar Product =============== // -inline float vector3_fp32_scalar_product(const vector3_fp32_t* vector1, const vector3_fp32_t* vector2) +inline float vector3_scalar_product_fp32(const vector3_fp32_t* vector1, const vector3_fp32_t* vector2) { return vector1->x1 * vector2->x1 + vector1->x2 * vector2->x2 + vector1->x3 * vector2->x3; } -inline double vector3_fp64_scalar_product(const vector3_fp64_t* vector1, const vector3_fp64_t* vector2) +inline double vector3_scalar_product_fp64(const vector3_fp64_t* vector1, const vector3_fp64_t* vector2) { return vector1->x1 * vector2->x1 + vector1->x2 * vector2->x2 + vector1->x3 * vector2->x3; } // =============== Triple Product =============== // -inline float vector3_fp32_triple_product(const vector3_fp32_t* vector1, const vector3_fp32_t* vector2, const vector3_fp32_t* vector3) +inline float vector3_triple_product_fp32(const vector3_fp32_t* vector1, const vector3_fp32_t* vector2, const vector3_fp32_t* vector3) { return vector1->x1 * (vector2->x2 * vector3->x3 - vector2->x3 * vector3->x2) + vector1->x2 * (vector2->x3 * vector3->x1 - vector2->x1 * vector3->x3) + vector1->x3 * (vector2->x1 * vector3->x2 - vector2->x2 * vector3->x1); } -inline double vector3_fp64_triple_product(const vector3_fp64_t* vector1, const vector3_fp64_t* vector2, const vector3_fp64_t* vector3) +inline double vector3_triple_product_fp64(const vector3_fp64_t* vector1, const vector3_fp64_t* vector2, const vector3_fp64_t* vector3) { return vector1->x1 * (vector2->x2 * vector3->x3 - vector2->x3 * vector3->x2) + vector1->x2 * (vector2->x3 * vector3->x1 - vector2->x1 * vector3->x3) @@ -372,7 +408,7 @@ inline double vector3_fp64_triple_product(const vector3_fp64_t* vector1, const v // =============== Cross Product ================ // -inline void vector3_fp32_cross_product(const vector3_fp32_t* vector1, const vector3_fp32_t* vector2, vector3_fp32_t* result) +inline void vector3_cross_product_fp32(const vector3_fp32_t* vector1, const vector3_fp32_t* vector2, vector3_fp32_t* result) { const float x1 = vector1->x2 * vector2->x3 - vector1->x3 * vector2->x2; const float x2 = vector1->x3 * vector2->x1 - vector1->x1 * vector2->x3; @@ -383,7 +419,7 @@ inline void vector3_fp32_cross_product(const vector3_fp32_t* vector1, const vect result->x3 = x3; } -inline void vector3_fp64_cross_product(const vector3_fp64_t* vector1, const vector3_fp64_t* vector2, vector3_fp64_t* result) +inline void vector3_cross_product_fp64(const vector3_fp64_t* vector1, const vector3_fp64_t* vector2, vector3_fp64_t* result) { const double x1 = vector1->x2 * vector2->x3 - vector1->x3 * vector2->x2; const double x2 = vector1->x3 * vector2->x1 - vector1->x1 * vector2->x3; @@ -396,20 +432,20 @@ inline void vector3_fp64_cross_product(const vector3_fp64_t* vector1, const vect // ============ Double Cross Product ============ // -inline void vector3_fp32_double_cross_product(const vector3_fp32_t* vector1, const vector3_fp32_t* vector2, const vector3_fp32_t* vector3, vector3_fp32_t* result) +inline void vector3_double_cross_fp32(const vector3_fp32_t* vector1, const vector3_fp32_t* vector2, const vector3_fp32_t* vector3, vector3_fp32_t* result) { - const float ac = vector3_fp32_scalar_product(vector1, vector3); - const float ab = vector3_fp32_scalar_product(vector1, vector2); + const float ac = vector3_scalar_product_fp32(vector1, vector3); + const float ab = vector3_scalar_product_fp32(vector1, vector2); result->x1 = vector2->x1 * ac - vector3->x1 * ab; result->x2 = vector2->x2 * ac - vector3->x2 * ab; result->x3 = vector2->x3 * ac - vector3->x3 * ab; } -inline void vector3_fp64_double_cross(const vector3_fp64_t* vector1, const vector3_fp64_t* vector2, const vector3_fp64_t* vector3, vector3_fp64_t* result) +inline void vector3_double_cross_fp64(const vector3_fp64_t* vector1, const vector3_fp64_t* vector2, const vector3_fp64_t* vector3, vector3_fp64_t* result) { - const double ac = vector3_fp64_scalar_product(vector1, vector3); - const double ab = vector3_fp64_scalar_product(vector1, vector2); + const double ac = vector3_scalar_product_fp64(vector1, vector3); + const double ab = vector3_scalar_product_fp64(vector1, vector2); result->x1 = vector2->x1 * ac - vector3->x1 * ab; result->x2 = vector2->x2 * ac - vector3->x2 * ab; @@ -418,7 +454,7 @@ inline void vector3_fp64_double_cross(const vector3_fp64_t* vector1, const vecto // =============== Normalization ================ // -inline int vector3_fp32_normalize(vector3_fp32_t* vector) +inline int vector3_normalize_fp32(vector3_fp32_t* vector) { const float square_modulus = vector3_get_square_modulus_fp32(vector); @@ -431,11 +467,11 @@ inline int vector3_fp32_normalize(vector3_fp32_t* vector) return 0; } - vector3_fp32_multiply(vector, sqrtf(1.0f / square_modulus), vector); + vector3_multiply_fp32(vector, sqrtf(1.0f / square_modulus), vector); return 1; } -inline int vector3_fp64_normalize(vector3_fp64_t* vector) +inline int vector3_normalize_fp64(vector3_fp64_t* vector) { const double square_modulus = vector3_get_square_modulus_fp64(vector); @@ -448,33 +484,33 @@ inline int vector3_fp64_normalize(vector3_fp64_t* vector) return 0; } - vector3_fp64_multiply(vector, sqrt(1.0 / square_modulus), vector); + vector3_multiply_fp64(vector, sqrt(1.0 / square_modulus), vector); return 1; } -// =============== Get Normalized =============== // +// =============== Set Normalized =============== // -inline int vector3_fp32_set_normalized(const vector3_fp32_t* vector, vector3_fp32_t* result) +inline int vector3_set_normalized_fp32(const vector3_fp32_t* vector, vector3_fp32_t* result) { vector3_copy_fp32(vector, result); - return vector3_fp32_normalize(result); + return vector3_normalize_fp32(result); } -inline int vector3_fp64_set_normalized(const vector3_fp64_t* vector, vector3_fp64_t* result) +inline int vector3_set_normalized_fp64(const vector3_fp64_t* vector, vector3_fp64_t* result) { vector3_copy_fp64(vector, result); - return vector3_fp64_normalize(result); + return vector3_normalize_fp64(result); } // =================== Angle ==================== // -float vector3_fp32_get_angle(const vector3_fp32_t* vector1, const vector3_fp32_t* vector2, const angle_unit_t unit); +float vector3_get_angle_fp32(const vector3_fp32_t* vector1, const vector3_fp32_t* vector2, const angle_unit_t unit); -double vector3_fp64_get_angle(const vector3_fp64_t* vector1, const vector3_fp64_t* vector2, const angle_unit_t unit); +double vector3_get_angle_fp64(const vector3_fp64_t* vector1, const vector3_fp64_t* vector2, const angle_unit_t unit); // =============== Square Distance ============== // -inline float vector3_fp32_get_square_distance(const vector3_fp32_t* vector1, const vector3_fp32_t* vector2) +inline float vector3_get_square_distance_fp32(const vector3_fp32_t* vector1, const vector3_fp32_t* vector2) { const float dx1 = (vector1->x1 - vector2->x1); const float dx2 = (vector1->x2 - vector2->x2); @@ -483,7 +519,7 @@ inline float vector3_fp32_get_square_distance(const vector3_fp32_t* vector1, con return dx1 * dx1 + dx2 * dx2 + dx3 * dx3; } -inline double vector3_fp64_get_square_distance(const vector3_fp64_t* vector1, const vector3_fp64_t* vector2) +inline double vector3_get_square_distance_fp64(const vector3_fp64_t* vector1, const vector3_fp64_t* vector2) { const double dx1 = (vector1->x1 - vector2->x1); const double dx2 = (vector1->x2 - vector2->x2); @@ -494,23 +530,23 @@ inline double vector3_fp64_get_square_distance(const vector3_fp64_t* vector1, co // ================== Distance ================== // -inline float vector3_fp32_get_distance(const vector3_fp32_t* vector1, const vector3_fp32_t* vector2) +inline float vector3_get_distance_fp32(const vector3_fp32_t* vector1, const vector3_fp32_t* vector2) { - return sqrtf(vector3_fp32_get_square_distance(vector1, vector2)); + return sqrtf(vector3_get_square_distance_fp32(vector1, vector2)); } -inline double vector3_fp64_get_distance(const vector3_fp64_t* vector1, const vector3_fp64_t* vector2) +inline double vector3_get_distance_fp64(const vector3_fp64_t* vector1, const vector3_fp64_t* vector2) { - return sqrt(vector3_fp64_get_square_distance(vector1, vector2)); + return sqrt(vector3_get_square_distance_fp64(vector1, vector2)); } // ================== Are Equal ================= // -inline int vector3_fp32_are_equal(const vector3_fp32_t* vector1, const vector3_fp32_t* vector2) +inline int vector3_are_equal_fp32(const vector3_fp32_t* vector1, const vector3_fp32_t* vector2) { const float square_modulus1 = vector3_get_square_modulus_fp32(vector1); const float square_modulus2 = vector3_get_square_modulus_fp32(vector2); - const float square_modulus3 = vector3_fp32_get_square_distance(vector1, vector2); + const float square_modulus3 = vector3_get_square_distance_fp32(vector1, vector2); // 3.0f means dimension amount if (square_modulus1 < FP32_EPSYLON_EFFECTIVENESS_LIMIT || square_modulus2 < FP32_EPSYLON_EFFECTIVENESS_LIMIT) { @@ -524,11 +560,11 @@ inline int vector3_fp32_are_equal(const vector3_fp32_t* vector1, const vector3_f return square_modulus3 <= (3.0f * FP32_SQUARE_EPSYLON) * square_modulus1; } -inline int vector3_fp64_are_equal(const vector3_fp64_t* vector1, const vector3_fp64_t* vector2) +inline int vector3_are_equal_fp64(const vector3_fp64_t* vector1, const vector3_fp64_t* vector2) { const double square_modulus1 = vector3_get_square_modulus_fp64(vector1); const double square_modulus2 = vector3_get_square_modulus_fp64(vector2); - const double square_modulus3 = vector3_fp64_get_square_distance(vector1, vector2); + const double square_modulus3 = vector3_get_square_distance_fp64(vector1, vector2); // 3.0 means dimension amount if (square_modulus1 < FP64_EPSYLON_EFFECTIVENESS_LIMIT || square_modulus2 < FP64_EPSYLON_EFFECTIVENESS_LIMIT) { diff --git a/basic-geometry/versor.c b/basic-geometry/versor.c index 3b54329..2dd540e 100644 --- a/basic-geometry/versor.c +++ b/basic-geometry/versor.c @@ -9,7 +9,7 @@ const versor_fp64_t FP64_IDLE_VERSOR = { 1.0, 0.0, 0.0, 0.0 }; // =============== Set Crude Turn =============== // -void versor_fp32_set_crude_turn(const float x1, const float x2, const float x3, const float angle, const angle_unit_t unit, versor_fp32_t* result) +void versor_set_crude_turn_fp32(const float x1, const float x2, const float x3, const float angle, const angle_unit_t unit, versor_fp32_t* result) { const float square_vector = x1 * x1 + x2 * x2 + x3 * x3; @@ -29,10 +29,10 @@ void versor_fp32_set_crude_turn(const float x1, const float x2, const float x3, const float multiplier = sine / sqrtf(square_vector); - versor_fp32_set_values(cosf(half_angle), x1 * multiplier, x2 * multiplier, x3 * multiplier, result); + versor_set_values_fp32(cosf(half_angle), x1 * multiplier, x2 * multiplier, x3 * multiplier, result); } -void versor_fp64_set_crude_turn(const double x1, const double x2, const double x3, const double angle, const angle_unit_t unit, versor_fp64_t* result) +void versor_set_crude_turn_fp64(const double x1, const double x2, const double x3, const double angle, const angle_unit_t unit, versor_fp64_t* result) { const double square_vector = x1 * x1 + x2 * x2 + x3 * x3; @@ -52,12 +52,12 @@ void versor_fp64_set_crude_turn(const double x1, const double x2, const double x const double multiplier = sine / sqrt(square_vector); - versor_fp64_set_values(cos(half_angle), x1 * multiplier, x2 * multiplier, x3 * multiplier, result); + versor_set_values_fp64(cos(half_angle), x1 * multiplier, x2 * multiplier, x3 * multiplier, result); } // ================= Rotation3 ================== // -void versor_fp32_get_rotation(const versor_fp32_t* versor, rotation3_fp32_t* result) +void versor_get_rotation_fp32(const versor_fp32_t* versor, rotation3_fp32_t* result) { if (versor == 0 || result == 0) { return; @@ -79,7 +79,7 @@ void versor_fp32_get_rotation(const versor_fp32_t* versor, rotation3_fp32_t* res result->axis.x3 = versor->x3 * multiplier; } -void versor_fp64_get_rotation(const versor_fp64_t* versor, rotation3_fp64_t* result) +void versor_get_rotation_fp64(const versor_fp64_t* versor, rotation3_fp64_t* result) { if (versor == 0 || result == 0) { return; diff --git a/basic-geometry/versor.h b/basic-geometry/versor.h index d5de4ee..7dbb219 100644 --- a/basic-geometry/versor.h +++ b/basic-geometry/versor.h @@ -58,7 +58,7 @@ inline void versor_reset_fp64(versor_fp64_t* versor) // ==================== Set ===================== // -inline void versor_fp32_set_values(const float s0, const float x1, const float x2, const float x3, versor_fp32_t* versor) +inline void versor_set_values_fp32(const float s0, const float x1, const float x2, const float x3, versor_fp32_t* versor) { __BgFP32DarkTwinVersor* twin = (__BgFP32DarkTwinVersor*)versor; @@ -89,7 +89,7 @@ inline void versor_fp32_set_values(const float s0, const float x1, const float x twin->x3 *= multiplier; } -inline void versor_fp64_set_values(const double s0, const double x1, const double x2, const double x3, versor_fp64_t* versor) +inline void versor_set_values_fp64(const double s0, const double x1, const double x2, const double x3, versor_fp64_t* versor) { __BgFP64DarkTwinVersor* twin = (__BgFP64DarkTwinVersor*)versor; @@ -190,51 +190,51 @@ inline void versor_swap_fp64(versor_fp64_t* versor1, versor_fp64_t* versor2) // =============== Set Crude Turn =============== // -void versor_fp32_set_crude_turn(const float x1, const float x2, const float x3, const float angle, const angle_unit_t unit, versor_fp32_t* result); +void versor_set_crude_turn_fp32(const float x1, const float x2, const float x3, const float angle, const angle_unit_t unit, versor_fp32_t* result); -void versor_fp64_set_crude_turn(const double x1, const double x2, const double x3, const double angle, const angle_unit_t unit, versor_fp64_t* result); +void versor_set_crude_turn_fp64(const double x1, const double x2, const double x3, const double angle, const angle_unit_t unit, versor_fp64_t* result); // ================== Set Turn ================== // -inline void versor_fp32_set_turn(const vector3_fp32_t* axis, const float angle, const angle_unit_t unit, versor_fp32_t* result) +inline void versor_set_turn_fp32(const vector3_fp32_t* axis, const float angle, const angle_unit_t unit, versor_fp32_t* result) { - versor_fp32_set_crude_turn(axis->x1, axis->x2, axis->x3, angle, unit, result); + versor_set_crude_turn_fp32(axis->x1, axis->x2, axis->x3, angle, unit, result); } -inline void versor_fp64_set_turn(const vector3_fp32_t* axis, const double angle, const angle_unit_t unit, versor_fp64_t* result) +inline void versor_set_turn_fp64(const vector3_fp32_t* axis, const double angle, const angle_unit_t unit, versor_fp64_t* result) { - versor_fp64_set_crude_turn(axis->x1, axis->x2, axis->x3, angle, unit, result); + versor_set_crude_turn_fp64(axis->x1, axis->x2, axis->x3, angle, unit, result); } // ================ Set Rotation ================ // -inline void versor_fp32_set_rotation(const rotation3_fp32_t* rotation, versor_fp32_t* result) +inline void versor_set_rotation_fp32(const rotation3_fp32_t* rotation, versor_fp32_t* result) { - versor_fp32_set_crude_turn(rotation->axis.x1, rotation->axis.x2, rotation->axis.x3, rotation->radians, BG_ANGLE_UNIT_RADIANS, result); + versor_set_crude_turn_fp32(rotation->axis.x1, rotation->axis.x2, rotation->axis.x3, rotation->radians, BG_ANGLE_UNIT_RADIANS, result); } -inline void versor_fp64_set_rotation(const rotation3_fp64_t* rotation, versor_fp64_t* result) +inline void versor_set_rotation_fp64(const rotation3_fp64_t* rotation, versor_fp64_t* result) { - versor_fp64_set_crude_turn(rotation->axis.x1, rotation->axis.x2, rotation->axis.x3, rotation->radians, BG_ANGLE_UNIT_RADIANS, result); + versor_set_crude_turn_fp64(rotation->axis.x1, rotation->axis.x2, rotation->axis.x3, rotation->radians, BG_ANGLE_UNIT_RADIANS, result); } // ================= Comparison ================= // -inline int versor_fp32_is_idle(const versor_fp32_t* versor) +inline int versor_is_idle_fp32(const versor_fp32_t* versor) { return 1.0f - FP32_EPSYLON <= versor->s0 || versor->s0 <= -(1.0 - FP32_EPSYLON); } -inline int versor_fp64_is_idle(const versor_fp64_t* versor) +inline int versor_is_idle_fp64(const versor_fp64_t* versor) { return 1.0 - FP64_EPSYLON <= versor->s0 || versor->s0 <= -(1.0 - FP64_EPSYLON); } // ============= Copy to twin type ============== // -inline void versor_fp32_set_from_fp64(const versor_fp64_t* versor, versor_fp32_t* result) +inline void versor_convert_fp64_to_fp32(const versor_fp64_t* versor, versor_fp32_t* result) { - versor_fp32_set_values( + versor_set_values_fp32( (float) versor->s0, (float) versor->x1, (float) versor->x2, @@ -243,9 +243,9 @@ inline void versor_fp32_set_from_fp64(const versor_fp64_t* versor, versor_fp32_t ); } -inline void versor_fp64_set_from_fp32(const versor_fp32_t* versor, versor_fp64_t* result) +inline void versor_convert_fp32_to_fp64(const versor_fp32_t* versor, versor_fp64_t* result) { - versor_fp64_set_values( + versor_set_values_fp64( versor->s0, versor->x1, versor->x2, @@ -256,7 +256,7 @@ inline void versor_fp64_set_from_fp32(const versor_fp32_t* versor, versor_fp64_t // ================== Shorten =================== // -inline void versor_fp32_shorten(versor_fp32_t* versor) +inline void versor_shorten_fp32(versor_fp32_t* versor) { if (versor->s0 >= 0.0f) { return; @@ -269,7 +269,7 @@ inline void versor_fp32_shorten(versor_fp32_t* versor) twin->x3 = -versor->x3; } -inline void versor_fp64_shorten(versor_fp64_t* versor) +inline void versor_shorten_fp64(versor_fp64_t* versor) { if (versor->s0 >= 0.0f) { return; @@ -284,7 +284,7 @@ inline void versor_fp64_shorten(versor_fp64_t* versor) // ================== Shorten =================== // -inline void versor_fp32_set_shortened(const versor_fp32_t* versor, versor_fp32_t* shortened) +inline void versor_set_shortened_fp32(const versor_fp32_t* versor, versor_fp32_t* shortened) { __BgFP32DarkTwinVersor* twin = (__BgFP32DarkTwinVersor*)shortened; @@ -302,7 +302,7 @@ inline void versor_fp32_set_shortened(const versor_fp32_t* versor, versor_fp32_t twin->x3 = -versor->x3; } -inline void versor_fp64_set_shortened(const versor_fp64_t* versor, versor_fp64_t* shortened) +inline void versor_set_shortened_fp64(const versor_fp64_t* versor, versor_fp64_t* shortened) { __BgFP64DarkTwinVersor* twin = (__BgFP64DarkTwinVersor*)shortened; @@ -340,7 +340,7 @@ inline void versor_invert_fp64(versor_fp64_t* versor) // ================ Set Inverted ================ // -inline void versor_fp32_set_inverted(const versor_fp32_t* versor, versor_fp32_t* to) +inline void versor_set_inverted_fp32(const versor_fp32_t* versor, versor_fp32_t* to) { __BgFP32DarkTwinVersor* twin = (__BgFP32DarkTwinVersor*)to; twin->s0 = versor->s0; @@ -349,7 +349,7 @@ inline void versor_fp32_set_inverted(const versor_fp32_t* versor, versor_fp32_t* twin->x3 = -versor->x3; } -inline void versor_fp64_set_inverted(const versor_fp64_t* versor, versor_fp64_t* to) +inline void versor_set_inverted_fp64(const versor_fp64_t* versor, versor_fp64_t* to) { __BgFP64DarkTwinVersor* twin = (__BgFP64DarkTwinVersor*)to; twin->s0 = versor->s0; @@ -360,9 +360,9 @@ inline void versor_fp64_set_inverted(const versor_fp64_t* versor, versor_fp64_t* // ================ Set Inverted ================ // -inline void versor_fp32_set_inverted_fp64(const versor_fp64_t* versor, versor_fp32_t* to) +inline void versor_set_inverted_fp64_to_fp32(const versor_fp64_t* versor, versor_fp32_t* to) { - versor_fp32_set_values( + versor_set_values_fp32( (float) versor->s0, (float) -versor->x1, (float) -versor->x2, @@ -371,9 +371,9 @@ inline void versor_fp32_set_inverted_fp64(const versor_fp64_t* versor, versor_fp ); } -inline void versor_fp64_set_inverted_fp32(const versor_fp32_t* versor, versor_fp64_t* to) +inline void versor_set_inverted_fp32_to_fp64(const versor_fp32_t* versor, versor_fp64_t* to) { - versor_fp64_set_values( + versor_set_values_fp64( versor->s0, -versor->x1, -versor->x2, @@ -384,7 +384,7 @@ inline void versor_fp64_set_inverted_fp32(const versor_fp32_t* versor, versor_fp // ================ Combination ================= // -inline void versor_fp32_combine(const versor_fp32_t* second, const versor_fp32_t* first, versor_fp32_t* result) +inline void versor_combine_fp32(const versor_fp32_t* second, const versor_fp32_t* first, versor_fp32_t* result) { const float s0 = (second->s0 * first->s0 - second->x1 * first->x1) - (second->x2 * first->x2 + second->x3 * first->x3); const float x1 = (second->x1 * first->s0 + second->s0 * first->x1) - (second->x3 * first->x2 - second->x2 * first->x3); @@ -412,7 +412,7 @@ inline void versor_fp32_combine(const versor_fp32_t* second, const versor_fp32_t twin->x3 *= multiplier; } -inline void versor_fp64_combine(const versor_fp64_t* second, const versor_fp64_t* first, versor_fp64_t* result) +inline void versor_combine_fp64(const versor_fp64_t* second, const versor_fp64_t* first, versor_fp64_t* result) { const double s0 = (second->s0 * first->s0 - second->x1 * first->x1) - (second->x2 * first->x2 + second->x3 * first->x3); const double x1 = (second->x1 * first->s0 + second->s0 * first->x1) - (second->x3 * first->x2 - second->x2 * first->x3); @@ -442,7 +442,7 @@ inline void versor_fp64_combine(const versor_fp64_t* second, const versor_fp64_t // ============ Combination of three ============ // -inline void versor_fp32_combine3(const versor_fp32_t* third, const versor_fp32_t* second, const versor_fp32_t* first, versor_fp32_t* result) +inline void versor_combine3_fp32(const versor_fp32_t* third, const versor_fp32_t* second, const versor_fp32_t* first, versor_fp32_t* result) { const float s0a = (second->s0 * first->s0 - second->x1 * first->x1) - (second->x2 * first->x2 + second->x3 * first->x3); const float x1a = (second->x1 * first->s0 + second->s0 * first->x1) - (second->x3 * first->x2 - second->x2 * first->x3); @@ -475,7 +475,7 @@ inline void versor_fp32_combine3(const versor_fp32_t* third, const versor_fp32_t twin->x3 *= multiplier; } -inline void versor_fp64_combine3(const versor_fp64_t* third, const versor_fp64_t* second, const versor_fp64_t* first, versor_fp64_t* result) +inline void versor_combine3_fp64(const versor_fp64_t* third, const versor_fp64_t* second, const versor_fp64_t* first, versor_fp64_t* result) { const double s0a = (second->s0 * first->s0 - second->x1 * first->x1) - (second->x2 * first->x2 + second->x3 * first->x3); const double x1a = (second->x1 * first->s0 + second->s0 * first->x1) - (second->x3 * first->x2 - second->x2 * first->x3); @@ -510,7 +510,7 @@ inline void versor_fp64_combine3(const versor_fp64_t* third, const versor_fp64_t // ================= Exclusion ================== // -inline void versor_fp32_exclude(const versor_fp32_t* basic, const versor_fp32_t* exclusion, versor_fp32_t* result) +inline void versor_exclude_fp32(const versor_fp32_t* basic, const versor_fp32_t* exclusion, versor_fp32_t* result) { const float s0 = (basic->s0 * exclusion->s0 + basic->x1 * exclusion->x1) + (basic->x2 * exclusion->x2 + basic->x3 * exclusion->x3); const float x1 = (basic->x1 * exclusion->s0 - basic->s0 * exclusion->x1) + (basic->x3 * exclusion->x2 - basic->x2 * exclusion->x3); @@ -538,7 +538,7 @@ inline void versor_fp32_exclude(const versor_fp32_t* basic, const versor_fp32_t* twin->x3 *= multiplier; } -inline void versor_fp64_exclude(const versor_fp64_t* basic, const versor_fp64_t* exclusion, versor_fp64_t* result) +inline void versor_exclude_fp64(const versor_fp64_t* basic, const versor_fp64_t* exclusion, versor_fp64_t* result) { const double s0 = (basic->s0 * exclusion->s0 + basic->x1 * exclusion->x1) + (basic->x2 * exclusion->x2 + basic->x3 * exclusion->x3); const double x1 = (basic->x1 * exclusion->s0 - basic->s0 * exclusion->x1) + (basic->x3 * exclusion->x2 - basic->x2 * exclusion->x3); @@ -568,13 +568,13 @@ inline void versor_fp64_exclude(const versor_fp64_t* basic, const versor_fp64_t* // ================= Rotation3 ================== // -void versor_fp32_get_rotation(const versor_fp32_t* versor, rotation3_fp32_t* result); +void versor_get_rotation_fp32(const versor_fp32_t* versor, rotation3_fp32_t* result); -void versor_fp64_get_rotation(const versor_fp64_t* versor, rotation3_fp64_t* result); +void versor_get_rotation_fp64(const versor_fp64_t* versor, rotation3_fp64_t* result); // =========== Make Rotation Matrix3x3 ========== // -inline void versor_fp32_make_rotation_matrix(const versor_fp32_t* versor, matrix3x3_fp32_t* matrix) +inline void versor_make_rotation_matrix_fp32(const versor_fp32_t* versor, matrix3x3_fp32_t* matrix) { const float s0s0 = versor->s0 * versor->s0; const float x1x1 = versor->x1 * versor->x1; @@ -602,7 +602,7 @@ inline void versor_fp32_make_rotation_matrix(const versor_fp32_t* versor, matrix matrix->r1c3 = x1x3 + s0x2; } -inline void versor_fp64_make_rotation_matrix(const versor_fp64_t* versor, matrix3x3_fp64_t* matrix) +inline void versor_make_rotation_matrix_fp64(const versor_fp64_t* versor, matrix3x3_fp64_t* matrix) { const double s0s0 = versor->s0 * versor->s0; const double x1x1 = versor->x1 * versor->x1; @@ -632,7 +632,7 @@ inline void versor_fp64_make_rotation_matrix(const versor_fp64_t* versor, matrix // =========== Make Reverse Matrix3x3 =========== // -inline void versor_fp32_make_reverse_matrix(const versor_fp32_t* versor, matrix3x3_fp32_t* matrix) +inline void versor_make_reverse_matrix_fp32(const versor_fp32_t* versor, matrix3x3_fp32_t* matrix) { const float s0s0 = versor->s0 * versor->s0; const float x1x1 = versor->x1 * versor->x1; @@ -660,7 +660,7 @@ inline void versor_fp32_make_reverse_matrix(const versor_fp32_t* versor, matrix3 matrix->r1c3 = x1x3 - s0x2; } -inline void versor_fp64_make_reverse_matrix(const versor_fp64_t* versor, matrix3x3_fp64_t* matrix) +inline void versor_make_reverse_matrix_fp64(const versor_fp64_t* versor, matrix3x3_fp64_t* matrix) { const double s0s0 = versor->s0 * versor->s0; const double x1x1 = versor->x1 * versor->x1; @@ -690,7 +690,7 @@ inline void versor_fp64_make_reverse_matrix(const versor_fp64_t* versor, matrix3 // ================ Turn Vector ================= // -inline void versor_fp32_turn(const versor_fp32_t* versor, const vector3_fp32_t* vector, vector3_fp32_t* result) +inline void versor_turn_vector_fp32(const versor_fp32_t* versor, const vector3_fp32_t* vector, vector3_fp32_t* result) { const float tx1 = 2.0f * (versor->x2 * vector->x3 - versor->x3 * vector->x2); const float tx2 = 2.0f * (versor->x3 * vector->x1 - versor->x1 * vector->x3); @@ -705,7 +705,7 @@ inline void versor_fp32_turn(const versor_fp32_t* versor, const vector3_fp32_t* result->x3 = x3; } -inline void versor_fp64_turn(const versor_fp64_t* versor, const vector3_fp64_t* vector, vector3_fp64_t* result) +inline void versor_turn_vector_fp64(const versor_fp64_t* versor, const vector3_fp64_t* vector, vector3_fp64_t* result) { const double tx1 = 2.0 * (versor->x2 * vector->x3 - versor->x3 * vector->x2); const double tx2 = 2.0 * (versor->x3 * vector->x1 - versor->x1 * vector->x3); @@ -722,7 +722,7 @@ inline void versor_fp64_turn(const versor_fp64_t* versor, const vector3_fp64_t* // ============== Turn Vector Back ============== // -inline void versor_fp32_turn_back(const versor_fp32_t* versor, const vector3_fp32_t* vector, vector3_fp32_t* result) +inline void versor_turn_vector_back_fp32(const versor_fp32_t* versor, const vector3_fp32_t* vector, vector3_fp32_t* result) { const float tx1 = 2.0f * (versor->x2 * vector->x3 - versor->x3 * vector->x2); const float tx2 = 2.0f * (versor->x3 * vector->x1 - versor->x1 * vector->x3); @@ -737,7 +737,7 @@ inline void versor_fp32_turn_back(const versor_fp32_t* versor, const vector3_fp3 result->x3 = x3; } -inline void versor_fp64_turn_back(const versor_fp64_t* versor, const vector3_fp64_t* vector, vector3_fp64_t* result) +inline void versor_turn_vector_back_fp64(const versor_fp64_t* versor, const vector3_fp64_t* vector, vector3_fp64_t* result) { const double tx1 = 2.0 * (versor->x2 * vector->x3 - versor->x3 * vector->x2); const double tx2 = 2.0 * (versor->x3 * vector->x1 - versor->x1 * vector->x3);