diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000000000000000000000000000000000000..15a15b218a29e09c9190992732698d646e4d659a --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="Encoding" addBOMForNewFiles="with NO BOM" /> +</project> \ No newline at end of file diff --git a/.idea/galaxy_simulator.iml b/.idea/galaxy_simulator.iml new file mode 100644 index 0000000000000000000000000000000000000000..bc2cd87409057301f546d83bd548111b9a241cb1 --- /dev/null +++ b/.idea/galaxy_simulator.iml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module type="CPP_MODULE" version="4"> + <component name="NewModuleRootManager"> + <content url="file://$MODULE_DIR$" /> + <orderEntry type="inheritedJdk" /> + <orderEntry type="sourceFolder" forTests="false" /> + </component> +</module> \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000000000000000000000000000000000000..28a804d8932aba40f168fd757a74cb718a955a1a --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="JavaScriptSettings"> + <option name="languageLevel" value="ES6" /> + </component> +</project> \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000000000000000000000000000000000000..c808ecc842bed3fd9c50ffab00b22e3e718ae37e --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ProjectModuleManager"> + <modules> + <module fileurl="file://$PROJECT_DIR$/.idea/galaxy_simulator.iml" filepath="$PROJECT_DIR$/.idea/galaxy_simulator.iml" /> + </modules> + </component> +</project> \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000000000000000000000000000000000000..94a25f7f4cb416c083d265558da75d457237d671 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="VcsDirectoryMappings"> + <mapping directory="$PROJECT_DIR$" vcs="Git" /> + </component> +</project> \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000000000000000000000000000000000000..a049483c98c230d2ccabb1da3ebb7a1ea9d5b279 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,208 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="CMakeRunConfigurationManager" shouldGenerate="true" shouldDeleteObsolete="true"> + <generated /> + </component> + <component name="CMakeSettings"> + <configurations> + <configuration PROFILE_NAME="Debug" CONFIG_NAME="Debug" /> + </configurations> + </component> + <component name="ChangeListManager"> + <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> + <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> + <option name="SHOW_DIALOG" value="false" /> + <option name="HIGHLIGHT_CONFLICTS" value="true" /> + <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> + <option name="LAST_RESOLUTION" value="IGNORE" /> + </component> + <component name="FileEditorManager"> + <leaf> + <file pinned="false" current-in-tab="true"> + <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" /> + </state> + </provider> + </entry> + </file> + <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> + </provider> + </entry> + </file> + <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> + </provider> + </entry> + </file> + </leaf> + </component> + <component name="Git.Settings"> + <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" /> + </component> + <component name="IdeDocumentHistory"> + <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$/Vector.c" /> + </list> + </option> + </component> + <component name="ProjectFrameBounds" extendedState="7"> + <option name="x" value="681" /> + <option name="y" value="33" /> + <option name="width" value="1050" /> + <option name="height" value="730" /> + </component> + <component name="ProjectView"> + <navigator proportions="" version="1"> + <foldersAlwaysOnTop value="true" /> + </navigator> + <panes> + <pane id="ProjectPane"> + <subPane> + <expand> + <path> + <item name="galaxy_simulator" type="b2602c69:ProjectViewProjectNode" /> + <item name="galaxy_simulator" type="462c0819:PsiDirectoryNode" /> + </path> + </expand> + <select /> + </subPane> + </pane> + <pane id="Scope" /> + </panes> + </component> + <component name="PropertiesComponent"> + <property name="WebServerToolWindowFactoryState" value="false" /> + <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" /> + <property name="nodejs_npm_path_reset_for_default_project" value="true" /> + </component> + <component name="RunDashboard"> + <option name="ruleStates"> + <list> + <RuleState> + <option name="name" value="ConfigurationTypeDashboardGroupingRule" /> + </RuleState> + <RuleState> + <option name="name" value="StatusDashboardGroupingRule" /> + </RuleState> + </list> + </option> + </component> + <component name="SvnConfiguration"> + <configuration /> + </component> + <component name="TaskManager"> + <task active="true" id="Default" summary="Default task"> + <changelist id="43aff179-c306-46b9-b69f-eca5306fbf96" name="Default Changelist" comment="" /> + <created>1559227081243</created> + <option name="number" value="Default" /> + <option name="presentableId" value="Default" /> + <updated>1559227081243</updated> + <workItem from="1559227084365" duration="7898000" /> + </task> + <servers /> + </component> + <component name="TimeTrackingManager"> + <option name="totallyTimeSpent" value="7898000" /> + </component> + <component name="ToolWindowManager"> + <frame x="-7" y="-7" width="1550" height="838" extended-state="6" /> + <editor active="true" /> + <layout> + <window_info id="Favorites" side_tool="true" /> + <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.24966443" /> + <window_info id="Structure" order="1" side_tool="true" weight="0.25" /> + <window_info anchor="bottom" id="Database Changes" /> + <window_info anchor="bottom" id="Version Control" /> + <window_info anchor="bottom" id="Terminal" /> + <window_info anchor="bottom" id="Event Log" side_tool="true" /> + <window_info anchor="bottom" id="Message" order="0" /> + <window_info anchor="bottom" id="Find" order="1" /> + <window_info anchor="bottom" id="Run" order="2" /> + <window_info anchor="bottom" id="Debug" order="3" weight="0.4" /> + <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" /> + <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" /> + <window_info anchor="bottom" id="TODO" order="6" /> + <window_info anchor="right" id="Database" /> + <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" /> + <window_info anchor="right" id="Ant Build" order="1" weight="0.25" /> + <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" /> + </layout> + </component> + <component name="TypeScriptGeneratedFilesManager"> + <option name="version" value="1" /> + </component> + <component name="editorHistoryManager"> + <entry file="file://$PROJECT_DIR$/../C/Annuaire/Directory.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="-969" /> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/../C/Projet/joseph.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="561"> + <caret line="33" column="7" selection-start-line="33" selection-start-column="7" selection-end-line="33" selection-end-column="35" /> + </state> + </provider> + </entry> + <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"> + <caret line="1" column="17" selection-start-line="1" selection-start-column="17" selection-end-line="1" selection-end-column="17" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/Vector_Test.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="243"> + <caret line="21" column="1" lean-forward="true" selection-start-line="5" selection-end-line="21" selection-end-column="1" /> + </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> + </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" /> + </state> + </provider> + </entry> + </component> +</project> \ No newline at end of file diff --git a/Vector b/Vector index 043b9d171973f3cd895bc6eec26761a8cc01a28f..d7a7464b3f5f3ec6b92a9cf3ae845c38e1633fbe 100644 Binary files a/Vector and b/Vector differ diff --git a/Vector.c b/Vector.c index 572646230c71d4a08859ad542175883614a37e73..8ad24b7b199cfdb9ca8a792deef38d9b6aaf312a 100644 --- a/Vector.c +++ b/Vector.c @@ -1,4 +1,114 @@ #include <stdio.h> #include <stdlib.h> #include <stdbool.h> +#include "Vector.h" + +vec *new_vec(double x, double y){ + + //Allocation de la mémoire nécessaire + vec *new_vec = malloc(sizeof(vec)); + + //On vérifie que l'allocation est bien faite + if (new_vec == NULL){ + exit(1); + } + //Attribution des valeurs x et y + new_vec->x = x; + new_vec->y = y; + + return new_vec; + +} + +vec *add_vec(const vec *const v1, const vec *const v2){ + + vec *add_vec = new_vec(0.0,0.0); + add_vec->x = v1->x + v2->x; + add_vec->y = v1->y + v2->y; + + return add_vec; + +} + +vec *sub_vec(const vec *const v1, const vec *const v2){ + vec *sub_vec = new_vec(0.0,0.0); + sub_vec->x = v1->x - v2->x; + sub_vec->y = v1->y - v2->y; + + return sub_vec; + +} + + +int Test_new_vec(){ + + vec *vector = new_vec(2.0,3.1); + if(vector->x == 2.0 && vector->y == 3.1){ + printf("Test_new_vec IS OK\n"); + } + else{ + printf("Test_new_vec has an ERROR\n"); + } + free(vector); +} + +int Test_add_vec(){ + vec *v1 = new_vec(2.5,3.2); + vec *v2 = new_vec(4.6,1.5); + vec *v3 = add_vec(v1,v2); + + if(v3->x == 7.1 && v3->y == 4.7){ + printf("Test_add_vec IS OK\n"); + } + else { + printf("Test_add_vec has an ERROR\n"); + } + free(v1); + free(v2); + free(v3); +} + + +int Test_sub_vec(){ + vec *v1 = new_vec(2.5,3.2); + vec *v2 = new_vec(4.6,1.5); + vec *v3 = sub_vec(v1,v2); + + + if(v3->x == (v1->x-v2->x) && v3->y == (v1->y-v2->y)){ + printf("Test_sub_vec IS OK\n"); + } + else { + printf("Test_sub_vec has an ERROR\n"); + + } + free(v1); + free(v2); + free(v3); +} + + + +int main_tests(){ + + Test_new_vec(); + Test_add_vec(); + Test_sub_vec(); +} + + + +int main(int argc, char *argv[]){ + if(argc == 2) { + if (strcmp(argv[1], "test") == 0) { + + main_tests(); + + } + } + else{ + printf("OK\n"); + } + +} diff --git a/Vector.h b/Vector.h index a3a5cc448f31f2ec294a30b4585af05e55f0b071..e4b94a3674a63e5df210d00bd65eaa6584ca4f50 100644 --- a/Vector.h +++ b/Vector.h @@ -2,23 +2,23 @@ typedef struct vec { double x, y; } vec; -//Créer et initialiser un vecteur: +//Créé et initialiser un vecteur: vec *new_vec(double x, double y); -//Additionner deux vecteurs +//Additionne deux vecteurs vec *add_vec(const vec *const v1, const vec *const v2); -//Soustraire deux vecteurs +//Soustrait deux vecteurs vec *sub_vec(const vec *const v1, const vec *const v2); -//Multiplier un vecteur par un scalaire +//Multiplie un vecteur par un scalaire vec *mul_vec(double alpha, const vec *const v2); -//Calculer la norme d’un vecteur +//Calcule la norme d’un vecteur double norm(const vec *const v1); -//Calculer la distance entre deux vecteurs +//Calcule la distance entre deux vecteurs double distance(const vec *const v1, const vec *const v2); -//Afficher un vecteur (ça vous aidera pour le débuggage) +//Affiche un vecteur void print_vec(const vec *const v); diff --git a/Vector.o b/Vector.o index 3b8b6aba6d2dbd6af2600acbeb3b690f638d14b3..447907399910ec8583ec3a32bf1f7fd6716fca85 100644 Binary files a/Vector.o and b/Vector.o differ diff --git a/makefile b/makefile index 8bcf9523b39e4ee4f74727987e5265d1c5175f0e..5354eb0aae456dc83ef120ef1a3a53d62a609eee 100644 --- a/makefile +++ b/makefile @@ -3,4 +3,4 @@ All: Vector Vector: Vector.o gcc -o Vector Vector.o Vector.o: Vector.c - gcc -o Vector.o -c Vector.c + gcc -o Vector.o -c Vector.c