From a21d7a59b093d83fc4ec896cb921d7c6bb448fe0 Mon Sep 17 00:00:00 2001 From: noah Date: Tue, 8 Mar 2022 11:36:08 -0600 Subject: [PATCH] Altering type of solution, implementing solution print function --- .../HLlib.dir/compiler_depend.internal | 2 ++ .../CMakeFiles/HLlib.dir/compiler_depend.make | 6 ++++ .../HLlib.dir/src/HiddenLines.cpp.o | Bin 21208 -> 23544 bytes .../HLlib.dir/src/HiddenLines.cpp.o.d | 2 ++ build/CMakeFiles/main.dir/src/main.cpp.o | Bin 7184 -> 7152 bytes build/libHLlib.a | Bin 22496 -> 25082 bytes build/main | Bin 34592 -> 34880 bytes src/HiddenLines.cpp | 26 ++++++++++++++---- src/HiddenLines.h | 4 +-- 9 files changed, 32 insertions(+), 8 deletions(-) diff --git a/build/CMakeFiles/HLlib.dir/compiler_depend.internal b/build/CMakeFiles/HLlib.dir/compiler_depend.internal index 83d8b6d..8022423 100644 --- a/build/CMakeFiles/HLlib.dir/compiler_depend.internal +++ b/build/CMakeFiles/HLlib.dir/compiler_depend.internal @@ -220,6 +220,8 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o /usr/include/c++/11.2.0/tr1/poly_hermite.tcc /usr/include/c++/11.2.0/tr1/poly_laguerre.tcc /usr/include/c++/11.2.0/tr1/riemann_zeta.tcc + /usr/include/c++/11.2.0/utility + /usr/include/c++/11.2.0/bits/stl_relops.h /home/noah/Documents/School/CS-7353_Analysis-of-Algorithms/HW/HW4/src/HiddenLines.h /usr/include/c++/11.2.0/set /usr/include/c++/11.2.0/bits/stl_tree.h diff --git a/build/CMakeFiles/HLlib.dir/compiler_depend.make b/build/CMakeFiles/HLlib.dir/compiler_depend.make index bbfcff4..ff7e373 100644 --- a/build/CMakeFiles/HLlib.dir/compiler_depend.make +++ b/build/CMakeFiles/HLlib.dir/compiler_depend.make @@ -219,6 +219,8 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o: ../src/HiddenLines.cpp \ /usr/include/c++/11.2.0/tr1/poly_hermite.tcc \ /usr/include/c++/11.2.0/tr1/poly_laguerre.tcc \ /usr/include/c++/11.2.0/tr1/riemann_zeta.tcc \ + /usr/include/c++/11.2.0/utility \ + /usr/include/c++/11.2.0/bits/stl_relops.h \ ../src/HiddenLines.h \ /usr/include/c++/11.2.0/set \ /usr/include/c++/11.2.0/bits/stl_tree.h \ @@ -270,6 +272,8 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o: ../src/HiddenLines.cpp \ /usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/c++io.h: +/usr/include/c++/11.2.0/bits/stl_relops.h: + /usr/include/c++/11.2.0/fstream: /usr/include/c++/11.2.0/bits/vector.tcc: @@ -534,6 +538,8 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o: ../src/HiddenLines.cpp \ /usr/include/bits/types/time_t.h: +/usr/include/c++/11.2.0/utility: + /usr/include/c++/11.2.0/debug/debug.h: /usr/include/c++/11.2.0/bits/predefined_ops.h: diff --git a/build/CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o b/build/CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o index 7272f458b603ef29c4904ca23289b86d1f7ea980..7b598d5307f07e73d5ceb632ed0b6a86984e84eb 100644 GIT binary patch literal 23544 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 literal 21208 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 DsSL{0 diff --git a/build/CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o.d b/build/CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o.d index 164ccd6..b05846e 100644 --- a/build/CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o.d +++ b/build/CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o.d @@ -158,6 +158,8 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o: \ /usr/include/c++/11.2.0/tr1/poly_hermite.tcc \ /usr/include/c++/11.2.0/tr1/poly_laguerre.tcc \ /usr/include/c++/11.2.0/tr1/riemann_zeta.tcc \ + /usr/include/c++/11.2.0/utility \ + /usr/include/c++/11.2.0/bits/stl_relops.h \ /home/noah/Documents/School/CS-7353_Analysis-of-Algorithms/HW/HW4/src/HiddenLines.h \ /usr/include/c++/11.2.0/set /usr/include/c++/11.2.0/bits/stl_tree.h \ /usr/include/c++/11.2.0/ext/aligned_buffer.h \ diff --git a/build/CMakeFiles/main.dir/src/main.cpp.o b/build/CMakeFiles/main.dir/src/main.cpp.o index 0024c01334dbda84c2d8fe3cade02e11606a1a89..33bc6bf1f1fa949510d39ede878c0e15da447acd 100644 GIT binary patch delta 764 zcmZ9HO=uHQ6ouzbnl_VAo1Z2xKj2ukB%v-6C^Wh-cA-ouqC*5}v1la=1B!@f-AU0! zN)S67L>E%jg;*77h=QevKNShC459|y6htr^vFfH|p>J+N7JZBFoqO)#-uLD+zeeU0 zv}7fZ`0I+IqB|pCReUW_O738mc@(vM-zHlYw-$9!PjN@J)ij4aZ zg8faLaCXxwe8H@w$+VcY;7z)NLg*h|LP5mo5iF6V`!I!|2WUvAAHJ|oI?_U?KA2&l z)qSmRq;O7l24RH-O=B?}r(x7&e_8(7K3h=^=`;>sL{J^cNSqG9l-h-Y)W={+y@o}p zkJ@u-8yZp<;fo6GM|(y9Wx2zG85L^N0n-`6tB{xO!jd7StFTkYJ*NK$>sGoi delta 768 zcmZ9KPiPZC6vp@MChcxQ>ZWNj*#umy)>K=yk!rOHX~4rSR-~w?6(K?dD_9!;;K74P zr5HkK!v_jdv_}t08*^w+QlWyms6F`aD1t;#$lh|%Iy(tDIEUYU@69*wy;-I8fFH^$f4`edcj(jdRV;bNX|3$@ej-}Jw>Fku;d|YZ z-?fM}-29q+qHZbBj3h}E;nD8@^EljY8V7iGn;dGn)utLluAR{ZK?uGR{3`fMa8pnN zsf^AFUK5-VTo8OFxF+~suqOCda336gHY0dcRLi;A$Sabh%dMeW;-PRp7hFe4yN$)r zNlg1#$EllxQMMlb5qN5;|V~>06P@PXY&J((!T2XU-QoBfb1a?<0!A2{PJQ zc7nsii(G^m>S}8pK94`4-}D+zSBf(kc9|0_g&)x}?8qiPfXx#06gifn$4D|ptEliy zCmd!{KZ2YAB%@5L1{)W!FcvjwJ91G*lgLLCv>&A?!?Nb_x{j?VMohBd@ck+@BSFWI zG#CxQ=6W1Cu4~A1ea5Xz7AjoNz%iIs=YPyyAryI!IV59D_Ir@_Mz9#s-7#ZK(>)E- s0E&i5D{gZdK_!-;m!eSyT0F&Hr5#UcU$lmI1I74|rZ!*5TWrM5e{Y_;Jpcdz diff --git a/build/libHLlib.a b/build/libHLlib.a index 8f362f8f16c6e6bee03b880630d15c2c21405510..160f57f78c2e0a261ac6eeaf7ad601373096dada 100644 GIT binary patch literal 25082 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 WcXcb){%++Tib#rGs2>ld_Wy6Eoae^? literal 22496 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 NL!@?Yc4JlI{{r$&=j#9f delta 7429 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 D3Q92r diff --git a/src/HiddenLines.cpp b/src/HiddenLines.cpp index 891cff0..af88472 100644 --- a/src/HiddenLines.cpp +++ b/src/HiddenLines.cpp @@ -6,6 +6,7 @@ #include #include #include +#include #include "HiddenLines.h" @@ -17,13 +18,16 @@ HL::HL() void HL::print_sol() { - std::cout << "Not yet implemented" << std::endl; + for(auto itr = sol.begin(); itr != sol.end(); itr++) + std::cout << "Line ID " << std::get<0>(*itr) << " visible in range (" << + std::get<0>(std::get<1>(*itr)) << + "," << std::get<1>(std::get<1>(*itr)) << ")" << std::endl; } //Divide and Conquer Strategy using recursive call to divide ls and merge using merge() std::set HL::gen_sol(std::set& ls){ + HL inst = *this; if (ls.size() > 2){ - HL inst = *this; //Create left and right half sets int split = ceil(ls.size()/2); @@ -49,8 +53,8 @@ std::set HL::gen_sol(std::set& ls){ //Set with 2 lines is a base case: both are visible at +-inf respectively, and intersection is where they change //visibility else if (ls.size() == 2){ - auto l1 = *(ls.begin()); - auto l2 = *(ls.end()); + Line l1 = *(ls.begin()); + Line l2 = *(ls.end()); double isec = (l2.get_ycept() - l1.get_ycept())/(l1.get_slope() - l2.get_slope()); //Smaller Slope: vis from isec to inf @@ -62,6 +66,12 @@ std::set HL::gen_sol(std::set& ls){ l2.set_vis_start(-std::numeric_limits::infinity()); l2.set_vis_end(isec); + //Insert partial solutions + sol.insert(std::make_pair(l1.get_id(), std::make_pair(l1.get_vis_start(), l1.get_vis_end()))); + sol.insert(std::make_pair(l2.get_id(), std::make_pair(l2.get_vis_start(), l2.get_vis_end()))); + + inst.print_sol(); + return ls; } @@ -74,7 +84,9 @@ std::set HL::gen_sol(std::set& ls){ return ls; } - return sol; + //return sol; + std::set dummy; + return dummy; } std::set HL::construct_HWprob(){ @@ -145,5 +157,7 @@ std::set HL::get_lines(){ } std::set HL::get_sol(){ - return sol; + std::set dummy; + return dummy; + //return sol; } \ No newline at end of file diff --git a/src/HiddenLines.h b/src/HiddenLines.h index 387ff33..e67bc7d 100644 --- a/src/HiddenLines.h +++ b/src/HiddenLines.h @@ -17,9 +17,9 @@ class HL std::set get_sol(); private: - std::set sol; + //Solution is in form Line ID + std::set>> sol; std::set lines; - std::set> isec; }; std::set merge(std::set lh, std::set rh);