diff --git a/.idea/workspace.xml b/.idea/workspace.xml index a049483c98c230d2ccabb1da3ebb7a1ea9d5b279..86c584abc6a1a3e93368d8a1c465092fc857acda 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -12,7 +12,6 @@ <list default="true" id="43aff179-c306-46b9-b69f-eca5306fbf96" name="Default Changelist" comment=""> <change beforePath="$PROJECT_DIR$/Vector" beforeDir="false" afterPath="$PROJECT_DIR$/Vector" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Vector.c" beforeDir="false" afterPath="$PROJECT_DIR$/Vector.c" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/Vector.h" beforeDir="false" afterPath="$PROJECT_DIR$/Vector.h" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Vector.o" beforeDir="false" afterPath="$PROJECT_DIR$/Vector.o" afterDir="false" /> <change beforePath="$PROJECT_DIR$/makefile" beforeDir="false" afterPath="$PROJECT_DIR$/makefile" afterDir="false" /> </list> @@ -28,7 +27,7 @@ <entry file="file://$PROJECT_DIR$/Vector.c"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="376"> - <caret line="93" lean-forward="true" selection-start-line="93" selection-end-line="93" /> + <caret line="74" column="14" lean-forward="true" selection-start-line="74" selection-start-column="14" selection-end-line="74" selection-end-column="14" /> </state> </provider> </entry> @@ -36,8 +35,8 @@ <file pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/Vector.h"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="187"> - <caret line="11" selection-start-line="11" selection-end-line="11" selection-end-column="54" /> + <state relative-caret-position="391"> + <caret line="23" selection-start-line="23" selection-end-line="23" selection-end-column="34" /> </state> </provider> </entry> @@ -45,8 +44,8 @@ <file pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/makefile"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="102"> - <caret line="6" lean-forward="true" selection-start-line="6" selection-end-line="6" /> + <state relative-caret-position="51"> + <caret line="3" column="30" selection-start-line="3" selection-start-column="30" selection-end-line="3" selection-end-column="30" /> </state> </provider> </entry> @@ -60,16 +59,16 @@ <option name="CHANGED_PATHS"> <list> <option value="$PROJECT_DIR$/Vector.h" /> - <option value="$PROJECT_DIR$/makefile" /> <option value="$PROJECT_DIR$/Vector_Test.h" /> <option value="$PROJECT_DIR$/Vector_Test.c" /> + <option value="$PROJECT_DIR$/makefile" /> <option value="$PROJECT_DIR$/Vector.c" /> </list> </option> </component> - <component name="ProjectFrameBounds" extendedState="7"> - <option name="x" value="681" /> - <option name="y" value="33" /> + <component name="ProjectFrameBounds" extendedState="6"> + <option name="x" value="848" /> + <option name="y" value="317" /> <option name="width" value="1050" /> <option name="height" value="730" /> </component> @@ -119,12 +118,12 @@ <option name="number" value="Default" /> <option name="presentableId" value="Default" /> <updated>1559227081243</updated> - <workItem from="1559227084365" duration="7898000" /> + <workItem from="1559227084365" duration="15096000" /> </task> <servers /> </component> <component name="TimeTrackingManager"> - <option name="totallyTimeSpent" value="7898000" /> + <option name="totallyTimeSpent" value="15096000" /> </component> <component name="ToolWindowManager"> <frame x="-7" y="-7" width="1550" height="838" extended-state="6" /> @@ -169,13 +168,6 @@ <entry file="file://$PROJECT_DIR$/../C/Projet/makefile"> <provider selected="true" editor-type-id="text-editor" /> </entry> - <entry file="file://$PROJECT_DIR$/makefile"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="102"> - <caret line="6" lean-forward="true" selection-start-line="6" selection-end-line="6" /> - </state> - </provider> - </entry> <entry file="file://$PROJECT_DIR$/Vector_Test.h"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="17"> @@ -190,17 +182,24 @@ </state> </provider> </entry> + <entry file="file://$PROJECT_DIR$/makefile"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="51"> + <caret line="3" column="30" selection-start-line="3" selection-start-column="30" selection-end-line="3" selection-end-column="30" /> + </state> + </provider> + </entry> <entry file="file://$PROJECT_DIR$/Vector.h"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="187"> - <caret line="11" selection-start-line="11" selection-end-line="11" selection-end-column="54" /> + <state relative-caret-position="391"> + <caret line="23" selection-start-line="23" selection-end-line="23" selection-end-column="34" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/Vector.c"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="376"> - <caret line="93" lean-forward="true" selection-start-line="93" selection-end-line="93" /> + <caret line="74" column="14" lean-forward="true" selection-start-line="74" selection-start-column="14" selection-end-line="74" selection-end-column="14" /> </state> </provider> </entry> diff --git a/Vector b/Vector index d7a7464b3f5f3ec6b92a9cf3ae845c38e1633fbe..7bb7f35b4a87245360f4ca39e7dc53655bde6886 100644 Binary files a/Vector and b/Vector differ diff --git a/Vector.c b/Vector.c index 8ad24b7b199cfdb9ca8a792deef38d9b6aaf312a..bf527d0198cd60f0bd1839bf680a0b4b1e8c3131 100644 --- a/Vector.c +++ b/Vector.c @@ -2,6 +2,7 @@ #include <stdlib.h> #include <stdbool.h> #include "Vector.h" +#include <math.h> vec *new_vec(double x, double y){ @@ -40,6 +41,43 @@ vec *sub_vec(const vec *const v1, const vec *const v2){ } +vec *mul_vec(double alpha, const vec *const v2) { + + vec *mul_vec = new_vec(0.0,0.0); + mul_vec->x = alpha * v2->x; + mul_vec->y = alpha * v2->y; + + return mul_vec; + +} + +double norm(const vec *const v1){ + + double norm = pow((pow(v1->x,2.0) + pow(v1->y,2.0)),0.5); + + return norm; + +} + +double distance(const vec *const v1, const vec *const v2){ + + double dist = pow(pow((v2->x-v1->x),2.0) + pow((v2->y-v1->y),2.0),0.5); + + return dist; + +} + +void print_vec(const vec *const v){ + printf("{"); + printf("%f",v->x); + printf("}\n"); + printf("{"); + printf("%f",v->y); + printf("}\n"); +} + + + int Test_new_vec(){ @@ -88,13 +126,61 @@ int Test_sub_vec(){ free(v3); } +int Test_mul_vec(){ + + vec *mul= new_vec(2.5,5.0); + mul = mul_vec(2,mul); + + if(mul->x == 5.0 && mul->y == 10.0){ + printf("Test_mul_vec IS OK\n"); + } + else{ + printf("Test_mul_vec has an ERROR\n"); + } + free(mul); + +} + +int Test_norm(){ + + vec *v1 = new_vec(8,6); + double test = norm(v1); + + if(test == 10){ + printf("Test_norm IS OK\n"); + } + else{ + printf("Test_norm has an ERROR\n"); + } + free(v1); +} + +int Test_distance(){ + + vec *v1 = new_vec(1.0,1.0); + vec *v2 = new_vec(2.0,1.0); + double test = distance(v1,v2); + + if(test == 1.0){ + printf("Test_distance IS OK\n"); + } + else{ + printf("Test_distance has an ERROR\n"); + } + free(v1); + free(v2); + +} int main_tests(){ Test_new_vec(); Test_add_vec(); Test_sub_vec(); + Test_mul_vec(); + Test_norm(); + Test_distance(); } @@ -108,7 +194,9 @@ int main(int argc, char *argv[]){ } } else{ - printf("OK\n"); + vec *v = new_vec(1.0,2.0); + print_vec(v); + free(v); } } diff --git a/Vector.o b/Vector.o index 447907399910ec8583ec3a32bf1f7fd6716fca85..d777c6f61e9eff81b7c792df869df487af011a34 100644 Binary files a/Vector.o and b/Vector.o differ diff --git a/makefile b/makefile index 5354eb0aae456dc83ef120ef1a3a53d62a609eee..cbd7c6aefc019d53cf6f4fa7d357a7d697321c33 100644 --- a/makefile +++ b/makefile @@ -1,6 +1,6 @@ All: Vector Vector: Vector.o - gcc -o Vector Vector.o + gcc -o Vector Vector.o -lm Vector.o: Vector.c gcc -o Vector.o -c Vector.c