From 99f427bea4e8c70572ffb02dc3b0d16a89b7534a Mon Sep 17 00:00:00 2001 From: noah Date: Tue, 8 Mar 2022 10:46:14 -0600 Subject: [PATCH] Code cleanup and updating comments --- .../HLlib.dir/src/HiddenLines.cpp.o | Bin 20784 -> 21208 bytes build/libHLlib.a | Bin 22072 -> 22496 bytes build/main | Bin 34592 -> 34592 bytes src/HiddenLines.cpp | 36 +++++++++++++++--- src/HiddenLines.h | 3 -- 5 files changed, 30 insertions(+), 9 deletions(-) diff --git a/build/CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o b/build/CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o index 5580055a88ce9aa397dbd5dd162ae48613ecc9b3..7272f458b603ef29c4904ca23289b86d1f7ea980 100644 GIT binary patch delta 5600 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 delta 5444 zcmZ{o3s4o;8Gv^eE)V7X+It1zUbx^zQ9wjM5rQCDmpRtG`uG9#MzV)!{OAK!rWtq~U8?k`|a#P`Ch8Teg-{3G;0knNffqQ1c(;x43g|yb0$M z-WXnFzoJ1@;w!LS|Cz_*AJi1(kAb${5apW9b}?9a7>r{W3@LpOri_Ky9!*!i3jJ|_ z0;5Su!+%KJrbW;*85<{wtsiodha5C(8w8MTMTF0d_dRerIn8F^)c~}oRBN{sIF_

c{!8R0_}8B)m$f@98fsB@-kJqqk}&eIMn@V2v7Z335Tmd%4EFXGi4&8I@G zt9IG|tr08-gsNwDnOiKdsy0 zFyk;;E3O^zewu?8<6~tdjHc`kgd55g>qWIF?&ZmL+yCP+p9ncfvg)v~q?f@gd9wWv@)#vl`PAY; z=0!-LqPVnFNfjkTUb&$xLstugTqk6|ke7wLFQf<5S-QGK$iqTj5b~jrv*AamT_U7c z$df{z7xIdb-w3%7Zlh&~kb6nOiypgrOx%AUSAo&4Fx`Pii#|>`A->d8(2qN3AIN(*7>RY!3=Gy?W$hc}vW$&+bGMq? zV?*`~Eqq1iuFahrS{pjLp4-|n{QcZ(0q|Z{j%Rgk^#bqa&W@su9o?-zSl_X|d)ZE< z^)cGDW!v_S;kEh2s{dozNt}Pt;fLd9X^>qeJ{POSS4oa5SDA-33@eorjA!FL`B6DL ziCgynGr3C06v?E{IP*cKemO_1zp1Y1| zlbLq2`nQ4i?AG_zq?tqxdHrdYFO-+A~FKQ#q! zV!VRcKQqDM!QycL`iXm`lG$x%{AtE_Nlt6Zz-q0jSD1Yjvp>P?`F?QT#VVuqyYyL7|#}eI9BhM=Gax(2|(yGsr^mj5FzV&o5 zzMT2~m2vtRWM!mtkP7AE_MMD#`}a+5zJ%PNc$$bK-dg%~ZzZUZoDwuK?q&9LP+0a& z%zg#qKV`g@zl3dg5Ky56yrVO zGmP`8xy(3E@FnB?-5Fz?+XqIlmykO+Q9*@9(1_Iqd%n0{V!RfU zTTkvID0@m*zYy{^Nq>a=6re6TnPnQ|->nktVcrycG2?uZv@*V&#ouW1HR74k4+5); z+nB>D#&=3i&v-TCFG@Ze*;>Y5j)Iq#HmFYcXlb@1l_@&$nhK3L4Q7_>k7<7?bf(q~ zHRXDEIufgMHaNaehaZ-^)md<~T!*Ccu<+B5d3=V{TORg$g`1RMuLx7!u%tqF@M-u5 zbE$=`sCBa>@|#t3a2fofB3rG4OK4NcY*JJ+1P!7H!Y4&|-c*VR4KR0^?%*3k5c74z zI@B&>k*yCuu^?bSYU`NR!+a~@^fEn{Pqs`e{uQBlS}*5@^J=hFE_Q5^h^(mYlJ_sb zj!NBeh-u|HB*+*HR_ay7vJd1ZPXVFb#(0*DKusUx&tD3Imn}c;wbMjP6>JhMInDq zlbWjaMHk9A*&o14rHOHkmI(g6FvA#vUsd~tv#LH(;es(|IJvr0gRr_d7^uloU2v(U z6fV|eL1Aqieihc#ma4U|A7ukvLYW2Ob$Q|Y_+*2tB^KK193k0eQUiMH3bZ-V_@71s zT&eS@bKqWGDas;Wsn#3~yL}~^QVb)$4E)M&_vzYe#4_-Yhe4m7nM0omSaQrp$;6hj zS+j4K+y#U6x^^KNM(Q)vB)C?uXSPY#*O+U}6I|Z{SA!mKJw}1Sw0Q9OqSRPuZ_q=< zevbB8aHc**jex-hJ#*{{G2@>Qvqwb8q755M9`yQB)Gmx*_bf4y)o&UP{obBDp0m*2 zsB3L;u)8rs`9>>+9uRDmxLaW{oDj+ hnhU1&l$xEttAf^2fRA}mODXPgyIU}28H}`K{2z3H$H4#q diff --git a/build/main b/build/main index 7077f4319fcf1c6be9eaffd52220b677918dd25f..683145c53f4edab06a3d34c10848cbfd4aa4bf71 100755 GIT binary patch delta 3781 zcmZ8k3tUuH8o&24L%_hyh?@v1R!-r^iL#T@H^3sc8 zg@VURg25*2@lt}p#`n@v!-(jIG?gGtWp|jW@`#tV8EnzT8aq;B#}9gTDHH z)Yw*yT{nkP!)*z(HEq~be#

hEtutuO*O<^kNZzrkl2h7YdU^>I=7xOt?Y&h$eN0 zoDuQD;+gbdL`g-sR-vyo(=JVEpfonEa$7arsD;9#G|c55ErVpu&aGPhI~=OuUQNE{ zCbcd(*V}K*H;y#%a^srOZ`>SyFLXs;yXb3`j?vVlJNPS9ku*Wr8AUHAjT1IU(TSvQ zgr^OS4avKBi*unf&zYOIKz#IKJ$w|4HM;SWFc5uJ)@MO!$&9HLg;8QnX_Uub65>hu z&Q$d{<5wOH5mP=Z-|X?1S?vLHiQ9Dl$0ertBkSiurhG-W>460nQ(Ugqj?rCqQ(S@7 zfzdLDDX!Q$AEW!gEwdJ3v<}>I>uQWPf!k#L1I&ATm!*W^92bZXeP`!LFa9jcqOUoy z7j8Bm6a5>lMba?F_OV23%B^Op=l_bx;QYKYKP%<;QNxT4p-or8_Uo4?(zKb2hCGozeXisfklI;;Y#cgr9cPS2%G zoc!rDwF}JIpwqFC7i-pO>Z}rd%sqWywFoZalI#Wlv~WBF0@4ACpa0FJF^o=~3A2*ol$oPkV-`+Z9E$oi)h}Yq_)R!q#4@o)yDK&?~dX z3lG>)+L0r6*wyq{83r?dyPM=$v94xV4b&aDTVW-)3}q5&t>~HbEL zzo3MuKY+1VF?(!&9pnDo1$z^uH<=J>vxdcs+T5ck&E*ba!?0q>^X-9; zMBj&!uUnQ6$@oc2mU!zgobeN1P*;XS^#9&2EmkMWGMUH5$o8-j33aBsXluHWUrf8x z=Ly+iK&ivn;3oEez-M)VMyTfu*Fvg~;RyyslTX$Fw zBjzrXS-*+Z24(pYryQFv*XE}TG{luSqI@3PYigrw73%S|OVzZ-IhD_&-Oe%mQ*_W7 z6(st)>2qfh|31yg*v*fo|7GmuU#CsCy*J@1c8I(367TT^n4jYpSxU_eaaUfG*9F`u zEvBl^s4(-ErG_6_$C{Mb#G3uqldP`2NQx=0{6SF+w6gPM6|7)Sh$*K{Ra=+?|2m7u zcU5{1<3KADcdLHH6sg=O`qzScS=vcoW{#?Op6xw$42iyPMgM-qn^diUf7CK9w-&K9 zH?nwq&8jf=&uVD_3r0HtScLT~!Z`|vRmAp~LyA`d){eGVg||;l35ph;zHk}h(=|Jt z&}Viy^hWBu4C7kbtn2649I517q}aJdDYf_@VV!Pn_GkgH?Y~|H?+Ij_vGN=r0@%}n)9GP|Y^J=G`69$zsE z=J%+DG0`GdYJL@Pl&8a>?8)YiC{Whr$`*WH0;Z~+IL4JvOvhswNl$mk@&eI6`d>H$ zSX$FAuv!kkCyq^9#hSF!6H$a;B)U6mt8^)5QbBParmFNIUb= z=kZ-)HTsK0diQkU_I65hCq{kVCd*#F-TT-NAhSKpI=bz8}hA$mYfAyqbgLRw6^of-hL&VAt zLYf=DiOmw;oIisPt-xx)uTv(+9k~_JNVFE0s(D!W=Rp5)NtTOr99Mv4Q41ftQ&R_)!oMMSY3TkP%JH7IJUxp-0s35!fs`p(`c>~N{sBfVaC4zydt!0;HJ&6 z)xZjYv5y-2F{}z$?hV+pz_NkCr}ATR`+&{99;@IE1GHTaa-RaT+<-~IB7vdHg9iJ7 z>3|Jf+?f+I1O#A6dQi>^tP7RF{b>-J3G7PGL|GoVEHh;fz)KMPZPZ1;&e7g{d$`OS zj`HKK@Z95qo=)ZOnrhqlDr$aMr>_p-+VuKUH*t@$<^EDg`ZEz+Pl&!Qf_pMl|5PaV z=ddOLny56DE88WC9aqopA4yR$sR@-PBpvt>5GyFgxOxoUSUh!BZ%8l}*^{rBV>~K3Y{L;1xKz%*CIf zHDy`RH@*d9a6+*x@YwsLtPW*ryyw2c;ru`8$d>r9eVQB8vTw^VzMPI!#t->4Uk!bL L_BHZVV}pJL|4mP@ delta 3623 zcmZ8keNH~wYHGlvew+yb!d;rJZ|PvZnh`evzT3dW`u#Gl4>+mxB18lIg|RO6lQy=w_^IY~2v; zQ>N4?^4>8`Iy#FUyQ8L|+OQ=2%QU^kR2nFa%dFf7CT=t3MU;kJwwoE`nw8Ep^S@ST z2)<^@2ZkGU+4*Dpp>o?;yXX$ByX(l9*i*16`@3X+yE>kx=G-T`s3B*P^l1XUo|7sa zOP~*PE=b)mp~Jb&V!Yh=ja)4UA}6N9gY2K@oK0(HO-(IMlmjJ+a^rhZa^t&Evb(3= zBD+7{a07NvawzJy+f+V#V{~=DrpZCe9Xa&*><33Uas@&0zv|oq2_=v_GM7s7#?f;3 zsOah6>T>Zpw8=eT%tl?S)%hIc(ArOD-N};tEnRX?$Vt<6 zPdNJ_t=_z$X-)5J*vx9Iu6_=n+bMDIZG&JddGpdHZ^~x0NjE>}=6%S^f%S2+|GawN zEsXt_)zh>)@4>MgRXAPU-^XBE_hAkW%td_^IcK8yHcg&$m$d8#`R4d)X*4`vysis+ z8#fEWhN!?iXROyhANg!@R;eGe7tV}BtY*Q$CTE-+sCOpG8Mozan!V}u+nT0kaP%)@ zBnR^g*yv}vVwp3G?Zl~RbZbtQG`o*nbCbolsC4c`DPcNln3!mpH{Hl?pon@kmS3aS z=cW{|hL!NH>ZlJPmgAER{4E1t%eYUE(eg0Ha=@d?!O`WpWY3?_ zFq65jT!pQW=)?sXh6N)w|i%@X|X!z9OEP_`)H2kKA~cbzlQ-t+}5DuK-~a!G;VH)EMy4|b)yp81KeB?ny0dyaW*u|~G9 z{d}}3T%g8V9!q=QuS`#so62l=o5>58r0AX1LZoyD|3*n1!3GJ#z4uS*m1A^cK6p z>j}-3dR)Eqf@eO>_SmGkF?7k3N$WjM>E$ax7mLr+MNg^NM+IJoc$Mz=CJh%6kG;u9 zo4r}7hn(*q;9h&2#SzERURICeNa1A@nhFpc$0o5KmFI0u>aF#-U{zBZ>4wnX=*I05?`f`qJ3f{HQoK1xQ8asdwWtl z_Li^llBoE@ymA{ZazdvW@ipGoHiUidHha?vvd$mZaO?_r=z86Apw)Q}5vado5Q?KO z>5AcYUc^LL@nOTdKeIQjVh6zuNs7Nu-H&m&oyBi_ql?RKwcaKN*MoamZDQ`%?7>(? zeVerE?$nm=v<$t|s$@SzOf>KvN3_S3uXk2)H8OgsqPVI-z*&kOdg`=d8dUt68pesu zjTP>-SE$SlGx`yuKKoN`9OJt@v8SKm)@y^}K6*D+Mg6pkYj9KX>$`4MH=Xs( zlt!o&Q8FX(CGZxAT??=`?R=0c8Tyg&2`wxslJ={#yChp$*hRPQO`^_{(3FjxIJ$Q8 z(eTlK*k~s=QVCK~3tK9jgjUcx(4{E33i>UMuDRH*DL6z9q4x`Lu=Io0;!iaXdd;9cp#Q`l zaxdf^XpjdWKLxZ7bSCH)P!H%H&|=UxEJCrMU~mG!BG7Z74}f-nR)Y3}{v0$G?OG3- z1iAw>2Xrr}4B8A@K@TpvB`uGn^JOWtaq;q0G_*)Y8qcaBdwIZ zB*h*F`2+a9@J%T)Ea?^-mn08!q7LtM)4?T^ETtHF==V!fNAfM{7!-0)$YNGlVJKwY zpKOnUR4vw%Z-0?97*C08iHJy|r|+N8kc4W!)uU;AD-yi6xJIeQ7KI__I2XL*FgS3% zWvmp~F<|^7IGO1=yG$V2QvMUQg4sfg36-PXQ=H@P|=*faOtJc@|k7 zcrh)#;T4qm?MTbhQNjg_<-_5^t>F-OC93edSfMA%^1W5)iry0ux{&f@1jSXv;jWro z(I-kBO2|=ZvxsiWSg{h($ diff --git a/src/HiddenLines.cpp b/src/HiddenLines.cpp index 3c42bf1..891cff0 100644 --- a/src/HiddenLines.cpp +++ b/src/HiddenLines.cpp @@ -11,6 +11,7 @@ HL::HL() { + //Read from CSV and construct the problem from the given lines lines = construct_HWprob(); } @@ -19,10 +20,12 @@ void HL::print_sol() std::cout << "Not yet implemented" << std::endl; } +//Divide and Conquer Strategy using recursive call to divide ls and merge using merge() std::set HL::gen_sol(std::set& ls){ if (ls.size() > 2){ HL inst = *this; + //Create left and right half sets int split = ceil(ls.size()/2); std::set lh; std::set rh; @@ -39,33 +42,45 @@ std::set HL::gen_sol(std::set& ls){ rh.insert(*itr); } + //Recursive call return merge(inst.gen_sol(lh), inst.gen_sol(rh)); } + //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()); double isec = (l2.get_ycept() - l1.get_ycept())/(l1.get_slope() - l2.get_slope()); - l1.set_vis_start(-std::numeric_limits::infinity()); - l1.set_vis_end(isec); - l2.set_vis_start(isec); - l2.set_vis_end(std::numeric_limits::infinity()); + + //Smaller Slope: vis from isec to inf + l1.set_vis_start(isec); + l1.set_vis_end(std::numeric_limits::infinity()); + + + //Greater Slope: vis from -inf to isec + l2.set_vis_start(-std::numeric_limits::infinity()); + l2.set_vis_end(isec); return ls; } + //Set with 1 line: vis at +-inf else{ auto l1 = *(ls.begin()); l1.set_vis_start(-std::numeric_limits::infinity()); l1.set_vis_end(std::numeric_limits::infinity()); + + return ls; } return sol; } std::set HL::construct_HWprob(){ - //Vector to hold all our Lines + //Set to hold all our Lines std::set lines; + //Hold our doubles from each line std::vector tmp_data; @@ -81,7 +96,7 @@ std::set HL::construct_HWprob(){ } } } - + //Close file data.close(); while(!tmp_data.empty()){ @@ -113,6 +128,15 @@ std::set merge(std::set lh, std::set rh){ while(litr != lh.end() && ritr != rh.end()){ Line l1 = *litr; Line l2 = *ritr; + + if(l1.get_slope() < l2.get_slope()){ + litr++; + continue; + } + else{ + + } + } } diff --git a/src/HiddenLines.h b/src/HiddenLines.h index 946662d..387ff33 100644 --- a/src/HiddenLines.h +++ b/src/HiddenLines.h @@ -16,13 +16,10 @@ class HL std::set get_lines(); std::set get_sol(); - private: std::set sol; std::set lines; std::set> isec; - - }; std::set merge(std::set lh, std::set rh);