diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 083493963b5d8938ce40c5bb6034623460030783..adadf45a58b8c2bdb3cf86b7b3938118c5ad28ee 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -10,10 +10,9 @@ </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.o" beforeDir="false" afterPath="$PROJECT_DIR$/Vector.o" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/makefile" beforeDir="false" afterPath="$PROJECT_DIR$/makefile" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Box" beforeDir="false" afterPath="$PROJECT_DIR$/Box" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Box.c" beforeDir="false" afterPath="$PROJECT_DIR$/Box.c" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Box.o" beforeDir="false" afterPath="$PROJECT_DIR$/Box.o" afterDir="false" /> </list> <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> <option name="SHOW_DIALOG" value="false" /> @@ -26,7 +25,7 @@ <file pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/Vector.c"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="920"> + <state relative-caret-position="2348"> <caret line="210" lean-forward="true" selection-start-line="210" selection-end-line="210" /> </state> </provider> @@ -44,8 +43,8 @@ <file pinned="false" current-in-tab="true"> <entry file="file://$PROJECT_DIR$/Box.c"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="391"> - <caret line="56" column="33" selection-start-line="56" selection-start-column="33" selection-end-line="56" selection-end-column="33" /> + <state relative-caret-position="226"> + <caret line="131" column="33" selection-start-line="131" selection-start-column="33" selection-end-line="131" selection-end-column="33" /> </state> </provider> </entry> @@ -53,8 +52,8 @@ <file pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/Box.h"> <provider selected="true" editor-type-id="text-editor"> - <state> - <caret column="18" selection-start-column="18" selection-end-column="18" /> + <state relative-caret-position="153"> + <caret line="9" selection-start-line="9" selection-end-line="9" selection-end-column="27" /> </state> </provider> </entry> @@ -138,12 +137,12 @@ <option name="number" value="Default" /> <option name="presentableId" value="Default" /> <updated>1559227081243</updated> - <workItem from="1559227084365" duration="25870000" /> + <workItem from="1559227084365" duration="35037000" /> </task> <servers /> </component> <component name="TimeTrackingManager"> - <option name="totallyTimeSpent" value="25870000" /> + <option name="totallyTimeSpent" value="35037000" /> </component> <component name="ToolWindowManager"> <frame x="-7" y="-7" width="1550" height="838" extended-state="6" /> @@ -209,31 +208,31 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/Box.h"> + <entry file="file://$PROJECT_DIR$/Vector.h"> <provider selected="true" editor-type-id="text-editor"> - <state> - <caret column="18" selection-start-column="18" selection-end-column="18" /> + <state relative-caret-position="85"> + <caret line="5" selection-start-line="5" selection-end-line="5" selection-end-column="33" /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/Vector.c"> + <entry file="file://$PROJECT_DIR$/Box.h"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="920"> - <caret line="210" lean-forward="true" selection-start-line="210" selection-end-line="210" /> + <state relative-caret-position="153"> + <caret line="9" selection-start-line="9" selection-end-line="9" selection-end-column="27" /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/Vector.h"> + <entry file="file://$PROJECT_DIR$/Vector.c"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="85"> - <caret line="5" selection-start-line="5" selection-end-line="5" selection-end-column="33" /> + <state relative-caret-position="2348"> + <caret line="210" lean-forward="true" selection-start-line="210" selection-end-line="210" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/Box.c"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="391"> - <caret line="56" column="33" selection-start-line="56" selection-start-column="33" selection-end-line="56" selection-end-column="33" /> + <state relative-caret-position="226"> + <caret line="131" column="33" selection-start-line="131" selection-start-column="33" selection-end-line="131" selection-end-column="33" /> </state> </provider> </entry> diff --git a/Box b/Box index e7a51acc7eb153c6786d6dc8f969c37bd5a9fca1..333f32c34b2e70717a05423ce517c9ae3367fdce 100644 Binary files a/Box and b/Box differ diff --git a/Box.c b/Box.c index 503aa7119eeee49e090504bbfc9f3db50334723a..1788289efb6715b2dd103259eb73aff1cbce1525 100644 --- a/Box.c +++ b/Box.c @@ -33,6 +33,42 @@ bool is_inside(box b, vec *v){ } } +double compute_length(box b){ + + int x = fabs(b.x0) + fabs(b.x1); + int y = fabs(b.y0) + fabs(b.y1); + + return x; +} + +double mid_point(double a, double b){ + + double mid = a + (b - a)/2; + + return mid; + +} + +box *divide_in_four(box b){ + + double x_mid = mid_point(b.x0,b.x1); + double y_mid = mid_point(b.y0,b.y1); + + box b1 = new_box(b.x0,x_mid,y_mid,b.y1); + box b2 = new_box(x_mid,b.x1,y_mid,b.y1); + box b3 = new_box(b.x0,x_mid,b.y0,y_mid); + box b4 = new_box(x_mid,b.x1,b.y0,y_mid); + + box *tab = malloc(4*sizeof(tab)); + tab[0]= b1; + tab[1]= b2; + tab[2]= b3; + tab[3]= b4; + + return tab; + +} + //TEST FONCTIONS// @@ -66,9 +102,49 @@ int Test_is_inside(){ free(v2); } +int Test_compute_length(){ + + box b = new_box(-1.0,1.0,-2.0,2.0); + double test = compute_length(b); + if(test == 2.0){ + printf("Test_compute_length IS OK\n"); + } + else{ + printf("Test_compute_length has an ERROR\n"); + } +} + +int Test_mid_point(){ + + double test = mid_point(3.0,4.0); + + if (test == 3.5){ + printf("Test_mid_point IS OK\n"); + } + else{ + printf("Test_mid_point has an ERROR\n"); + } +} + +int Test_divide_in_four(){ + + box b = new_box(-1.0,1.0,-1.0,1.0); + box *tab = divide_in_four(b); + + if(compute_length(tab[0])==compute_length(tab[1])&&compute_length(tab[1])==compute_length(tab[2])&&compute_length(tab[2])==compute_length(tab[3])){ + printf("Test_divide_in_four IS OK\n"); + } + else { + printf("Test_divide_in_four has an ERROR\n"); + } +} + int box_tests(){ Test_new_box(); Test_is_inside(); + Test_compute_length(); + Test_mid_point(); + Test_divide_in_four(); } int main(int argc, char *argv[]){ diff --git a/Box.o b/Box.o index d0d6dd02196d093b5813914099b23515a7e1ea48..e85ee00bc5919722223b99ac1ec5bd591d75618e 100644 Binary files a/Box.o and b/Box.o differ