From 99046854caeaf4a5db7e32a363ea8c974e45f08c Mon Sep 17 00:00:00 2001 From: Orestis Malaspinas <orestis.malaspinas@hesge.ch> Date: Mon, 24 Aug 2020 16:39:21 +0200 Subject: [PATCH] updated vec2 lib and tests --- travail_pratique/vec2/main.c | 5 ++- travail_pratique/vec2/tests/vec2_tests.c | 39 ++++++++++++++++++++---- travail_pratique/vec2/vec2.c | 4 +-- travail_pratique/vec2/vec2.h | 2 +- 4 files changed, 40 insertions(+), 10 deletions(-) diff --git a/travail_pratique/vec2/main.c b/travail_pratique/vec2/main.c index 841254d..ba07ee4 100644 --- a/travail_pratique/vec2/main.c +++ b/travail_pratique/vec2/main.c @@ -1,15 +1,18 @@ #include <stdlib.h> +#include <stdio.h> #include "vec2.h" int main() { vec2 v1 = vec2_create(1.0, -1.0); // vec2_print(v1); - vec2 v2 = vec2_create(4.0, -2.0); + vec2 v2 = vec2_create(4.0, 2.0); // vec2_print(v2); vec2 v3 = vec2_sub(v1, v2); vec2_print(v3); + printf("%f\n", vec2_dot(v2, vec2_create(1.0, 0.0))); + return EXIT_SUCCESS; } \ No newline at end of file diff --git a/travail_pratique/vec2/tests/vec2_tests.c b/travail_pratique/vec2/tests/vec2_tests.c index 49af2f2..b520144 100644 --- a/travail_pratique/vec2/tests/vec2_tests.c +++ b/travail_pratique/vec2/tests/vec2_tests.c @@ -1,5 +1,6 @@ #include "minunit.h" #include "../vec2.h" +#include <math.h> static vec2 four_two; static vec2 minus_three_nine; @@ -84,18 +85,43 @@ MU_TEST(test_vec2_mul) { ); } - - -MU_TEST(test_vec2_scalar_product) { +MU_TEST(test_vec2_dot) { mu_assert_double_eq( - vec2_scalar_product(four_two, minus_three_nine), + vec2_dot(four_two, minus_three_nine), 6.0 ); mu_assert_double_eq( - vec2_scalar_product(e_x, e_y), + vec2_dot(e_x, e_y), 0.0 ); + + mu_assert_double_eq( + vec2_dot(four_two, e_x), + 4.0 + ); + + mu_assert_double_eq( + vec2_dot(four_two, e_y), + 2.0 + ); +} + +MU_TEST(test_vec2_norm) { + mu_assert_double_eq( + vec2_norm(e_x), + 1.0 + ); + + mu_assert_double_eq( + vec2_norm(e_y), + 1.0 + ); + + mu_assert_double_eq( + vec2_norm(four_two), + sqrt(20.0) + ); } MU_TEST_SUITE(test_suite) { @@ -106,7 +132,8 @@ MU_TEST_SUITE(test_suite) { MU_RUN_TEST(test_vec2_add); MU_RUN_TEST(test_vec2_sub); MU_RUN_TEST(test_vec2_mul); - MU_RUN_TEST(test_vec2_scalar_product); + MU_RUN_TEST(test_vec2_dot); + MU_RUN_TEST(test_vec2_norm); } int main() { diff --git a/travail_pratique/vec2/vec2.c b/travail_pratique/vec2/vec2.c index a2b787e..4946724 100644 --- a/travail_pratique/vec2/vec2.c +++ b/travail_pratique/vec2/vec2.c @@ -28,12 +28,12 @@ vec2 vec2_mul(double scalar, vec2 lhs) { ); } -double vec2_scalar_product(vec2 lhs, vec2 rhs) { +double vec2_dot(vec2 lhs, vec2 rhs) { return lhs.x * rhs.x + lhs.y * rhs.y; } double vec2_norm_sqr(vec2 v) { - return vec2_scalar_product(v, v); + return vec2_dot(v, v); } double vec2_norm(vec2 v) { diff --git a/travail_pratique/vec2/vec2.h b/travail_pratique/vec2/vec2.h index d90a580..f085f07 100644 --- a/travail_pratique/vec2/vec2.h +++ b/travail_pratique/vec2/vec2.h @@ -15,7 +15,7 @@ vec2 vec2_sub(vec2 lhs, vec2 rhs); vec2 vec2_mul(double scalar, vec2 lhs); -double vec2_scalar_product(vec2 lhs, vec2 rhs); +double vec2_dot(vec2 lhs, vec2 rhs); double vec2_norm_sqr(vec2 v); -- GitLab