From ca9d44f757cedd54c1a2031713bebdd2a92d2c3e Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Tue, 1 Dec 2020 14:26:14 -0600 Subject: [PATCH] code cleanup --- sim_omp | Bin 149176 -> 149088 bytes sim_seq | Bin 144720 -> 144664 bytes src/sim.cpp | 5 ----- src/sim_omp.cpp | 22 +++++++--------------- src/sim_seq.cpp | 5 ----- 5 files changed, 7 insertions(+), 25 deletions(-) diff --git a/sim_omp b/sim_omp index 1d898823040defda7527b1e66c8c118d141af414..ccfe3f2a3cee400129d335fbc6600baa1678efad 100755 GIT binary patch delta 24382 zcmZ`>34Be*_rG(qNJ8=wWFwK6c-at15Ml{=B)kyBz7zXeq9`qukOZ$0!qpC?8mgt6 zEqHdZFKr1`rM6JZjWtTOTFw1`=gvG*{r&HUckZ0;nKNh3oH;Xh?#tVm?^?RhwZP9S ztD&S{iJVC3OCs01x&-l(%aTjcuDzBLz0^zbBBNbPoH$faG>7Don%_4XTmJ3a=OU6% z-FtK@^@E}DAv--4ql3wN6vS9PXD*I{r!-3G=g@{UR$^UzmCX)*O1!gQQK`ci;^YaX zA<7)N205b)b?QJaD03Wqm13uKvRl7PbB-bRlsV1^$P>j}WeB;dtf{h?w1c9@fmI#*f+yy42jIxXpyt>n+GMx(P56PDa<$U`EjOaIa|HR`3N zS*(xM-zzjN$$H6JUUqb?Bw3GTACwQ?@oau(w$H&*zx_;ew&n-{L-Mh*&mh5NSLk6<+xMS z1J*-H!fn0Rx8bjEO|Nf*U*FbIW`;**UPQ$amORJM2&TcBV>$sETdWqKhZgH`bth={ z-^8$J9-M5+o91H4Pgr&zF4z<-NqGrBu-lq{Yg()pTWraXd-Ms)%iuaS2+Z7KL(T|R zFFzr@5qNw4)U@Q-;@Fe>a~v4g`+jZ6A4r6VS`2UQ2Uj{E8)aDHM3vSNzRfaO18=|3 zv;(Y@>KJBLUcy*#(ONC0bUTzDNWv^q?=vw>21$LQER1OEmJa32F7=3VGNN&2nj~el zu~?H#eJwjRO>2FzXpmk^x9nWezI&t{9b?&vrVjip&WQs`AbeU9Ge_cW#Lx`pEYbVzXE3-mlzQ?EZ)y7sA+IR&oYj~;3q?8$2FB(j5} zlXDf9)cgr1qvd#xX)kKCOLr_YY99)z)<-*C-6Uxg%12Q?mSZ{&QdN!Sh8Pbh%n$;V z+=gmQ1LIlpm+2~1r%W~sta)`0Mk_DLRyJ?bgIXsII$@-S(y;LPqUR)MF5we*h znE`*oF!eGjB;|#U0AOMLKs(mMmg9*o>^3>~mLVqw1Dj;MYdLt=N&Obm7Hc~fOK$O0 zOxWR$u@6TXf|8)8=y&+{+*5<6dq1=a>eLJLk2nJqo2}>7&k(^+4PHqmM_{q;aY87T znYcioINk)JDZ`KGQkX=JhahQT;*vT_*;L=VW{M?OGvtgz@_9YKm6H0?!$a>9Df=if zH-BK5{{*?F^VnO6K@8Ph^*xM=C4Z)$A;M{hGO@vwa0ke$y;(o<a zcb}E@IO?UiM43o|5*3x3`PFas(aM4{^)ia13^g%FW6vQNSf3&=d?TV@mf>+RE5}=` z15L)`NhS;PqIyXmf`nggqhIZrN|LFXJ`~pDWrhE+?j%%a4SZ{oq_TH0zG^mWB|jmX zf;$>cvsjOol`(fPs(jJV*z1dI7ANk}I!U+)r)b_SZV>5N0qRY@#XzTVj5Pmqs<$Q2 z$p;u4dRMK~5R}FGc34ozn|1lP7E0~t0P;|YkFHZM5G-k0<6f5Rgteu(wODUYbw_f# z@GFrt?*g#Y;b`-i(=#P2dL8MhgvLZhce#p2@|ye!l|L^=dMZ|{l{0rGIH8usdeefK z{}^68fVh{`a^?M)z#(t5F)3)7aN#DA-gmJZW$tMi4i7lpx`M#6p6_L`{%*;B;3AX{ zP;SXS;-WWzktmz0yoh<%`Ikj7H&>Yv+a}`Z6HU{@o~cv&Km!~3 zr-pj?-_OYxik}+#I@MULT#pS13jQ~YVPisevd;69^=W6#AtXT|ry z&Ywvv!!M)z>Lg`R6W=c3x(ky`m{&bbF0m&uq4%@EKj!EsspHTcFx0sZnVy^b=ODwd zawG7wTbanTE|$DmCKvT>(cUTLX_IL8%shQ?encu&uPM=S!O^-M!!gBEt-oPrU;y19 zb1ccxla1mc2&Pz%lwE)+j9yeSeM5R$g@W}FvtX&tzN@xi z<}=Ip&lR@0JW!s;bqrp`x{f9>6tE-L)!r4 z{cVb?CB^%z87$iRoxuO%r-p%-V59qPWwa%nj8hg{ygiJl^VDpZ-QLB}$9;gZ)nYZ| zpJG)8e^=H72~|C;bWG_}XZ$5Z`m3!~fw_;lx4DR>7E)!{#M>iHM(ST-uKFy)Nnkk zoJ%04gIJ82x06FFz08P;<2%bV7nWm`dDe$+27|UW*1OT9p&qeTC5D}+>ne_ z7IyC8`aUxWGwLTr?Hup&k{kGz6451se4}*h5=a&)lez?x3CfZ#esb-p%GX`$kW0!b z0IH&PX_)%X*~-oDW(kY6AEDdO?_VI}`&q0oMlCu2Kg`;r4C~s7tXDR6?TpcW*)_n& z@qdY-V`&Y@DP=%fW71h!oL1LYnv69K*`H0pN7t~*^>D;kyi`u61!jJq@fzC=?Ea~| zp4j^2#}!oq)-Yg;`WMV)(>4`e7*$Yt;6I;DB;?kAu-x`gYn+4eY*)J*=_RjMQi}B` zHpx)A4k}?nV~j{%FSa{bml3JwGcbd6CbR2PNFm38SC#RS9b+%2=7)ZzEb7+Ye1O-C(X*3;C3I*{cUu z2S2QuvlMfW8UY(hnE#RxY-|BFV{=f=Q8&xeX^@i9qjrsM7%0XL02j$5(WnklR`>8H zamvmfiLzsf@>h@O`ai-hmT=C1TF8A%_E8u0@l}04;C?{Iu>HUSDjZ3Ty3JV zu4gcU@>tK1b|X%Uu{q72Ev!dlpYLXY!5(5>`~b-Mm~DMM)zt6UUQS<3u&k(8f$8gs zrk+#k_o`)_e?}KpCjmIXo~6~#q4_`-;u~7k<;uujp_#+5zNp{UzyRdA_r`tSRO_Ao z%rNHn*mJv#XxY3o9iJF)^?aBULvo9J`2cSw`LTB89zYl_{D;mj5XvsNS!Ld4p zFv%yU7{4y(uhsd^jDHFI*yr$h32*(Mz4kt}`JUByh_b2=RX!3I@9l@E(~jjazB?U# zl9^?H%E8w53#i}EJgVb{$Rtx5xP{=d`*gK8G~?-KvC^ea?K*W?@1eUI*KJ~UvXcJX z@?4qUr(T!)%yIc~rdOu@f)?}QYO=DvKmO_j9&bt)Agi3)FQH-1-G*w`>*_;**6SE5 zJl7v4>S;ymQx^+O-M+!Zq9o%pOc~ubxRxXOuh-kJKMLJGj-r0IM_Jo9yk)xydctUM z5z9|A*l3?!SZ-eCCH#Z@qDs2!@8CAodIOfQ7O`Jjp*Z&Ig2SdB{gSb#T+uH$^S64K zTZSDzef#B{n|2~Et~#o4lQ$egPxCr2Pqp5Qea=}&(O2ChUYrMsytoIuP(u%%dCV0F z7g1I(;}#)3XahcaeS?qAoAHsnEid6q2CqVo@)Ewjl+f{f&jNwSpZKBy>?e?H^yW2^5j3-PJ*83KJC>Se>if?_Zl7Q>qN8Lpms7 z1Hwp_(s_WtQ;PK;b5CXbfUwM#M>Q>{*pQox>8*O8P3)e#BGIXhaF67iyE_CxE>vQ} z#gerf&Zg8jfYyUZQ7(B-yKF>S@y82u^Yey<-hOz%JZLs-`ktK1ujbkOlwsjGb{?^v zIl^hNE{W}-E_=xrvZMbkT)~uEA&Z!JAHM8k|^ZG`yHl0&7%#M_D*9I5P)}cwWLVFxX5-&~6=raL6BF%1~cG)?zIa zfq@x!kqt;*Iie)?d90SFJiwjW7*bCSllGLN0QVb_ehgl%OnKQ%jwNiho8E-B<5d$I z$D;X_s26)K6OpIK9n`-E^%#HeuKe%?#;-O?007WM&FmB`x`x-VM;&{x%HE zO0wNP8t4bq~0yI}Yi=mNQdH9vnnADkBFE z&-?>NG^th`qoi2>NU{DPrY?4vo}C@pXEG+Nrf$QUi7?H%f_a;ltsesAeZ2v#WdCU} z%x6bkmfVMioa9;6jX%|^q?$ZgJwI0ODq`Q9H;30-@~WP5FspaYkW*8MPY)yQl_BXq znFd{UE|X2k+ijPfw;V@!`oV`^W42bZC#zIzPqcy9j7YVnn*7x5tt2U@cv^5Owr}7w z5ojocBK2b(!XYCz8>0$RvX2^5n@=#g7;<0y!@7qdDm#w{C5%ue#BoB1xI=gZ6tM-a zh)obnzQSh0C_}^vjQhaOF6{7w1%L|+gU){HjAFe?*;d4%D~3{~(1A^kAA&FY7OLWj z!>MQ_n-gAo8T$7!VHYMm&MusZy}=?~s;{W^N_sJquEL}f?9xzODpdCqs#zJThcRJi zChYlI*r|!o%qw~6l_4C*gu9`l`fDb#jIi3tL6`2AtpZ_IGYV-JCT(WYJ9J?~&Ji56 zux@g}!A_?}@NTkl*?NElmf`2JRbsLJl$t+PCYFP@ol*|oajKN`^JX$fdM5k&S;%8- z=#1)LcQ7=~f1h@{><~048N)&wF#*3+8~_QC`8TnfZ2oB4&9WX4;b#$;E4ghk@z|X2 zFj%QFJd(^)VuuG}>FtWoKFVA8d|H$@{6|7=C__g2xcbJkxH05rDziuW)cCU*n?Z;t z7QGRS-&Cb|66%7(mQjWUWrG0ZW$s8=YcusJd5F-g&_8b zWr?((sCy7{`qZ+=>dp<2R9gsm?SEiB_th3~wjQtg+$~gcM+JD)$L{9UOkJ%cj`zu| zf(1^WG_y_rHeq8^-Wi|&w84y37Yq0gc=dl+m?7Yc|ABQ2y9sz#8{m~3vDd`<$2+S= z384=mlajYr&+7uJE}-|6?9q|3@jGSX=pcD?P36pJ6SnZrM%Q&aikz$`oCZqpm|*gO z(r!#dd##@6Y+8)H6_y+jFGxkILmcn%cpUGs;eC}LcIiF7)r7;T%9b%cZbwBa>Q8-i zzd(_>f#tGXS172|ssD`byQ1z5oH70n-}M*pq5r_T?^+7@Gr)!*M9*GRVajW-1qwJ9 zFvBW2R2I-U0Wo#Lp?8rondx1Xjbp>`lJcjq#!O#CgdQ66un-8jY$135IoHlSBcL$? zDiKhnhC2&ryMQV++({;wO}C7@sdRqE|(0XYk(lDXLey8oL#rO+3<0~2wEK1!gcfdZTOa@+yX^J?Fsu;T#s!loenRTt0Tdk!pMn{mx{b70MOfdu}? znw0`^c+;9dbq=7i2RNlR1SRUu&K-(_Vz&N;cUKO|pw@HDdzA_1)eoFqNK>3%b zqJtmpCQ8FOezNpP$(n4cmHtrE%7)>j8EJ>@|8lE6;z|}P`zJRfHs#^uI+%&o-mZhg z%lh~{U)1sK+r+r^KC6<1{bn(VJy#Z}>gn-S`G(SUs*ij(RX60avSezYd>~B8m=qv? z6Q(QznIG}W6lMQA24m|oHW1ktG3=JSq7o3+ld&E3hY9bY9hHag_{%va#WN>B9%E7( zg7h*eiPiveq-f~$O9W@ZE#HmlvEnwmv+^!?3frP38_TZV5~f-Y!C36ffAnNqL94#$ z78}B$tln@@PxnJQJj+a2T(t4s$+F)axJB=;4z57&8CWG*IWRe@XvC~`vK&;Vd^x+7 z+ce?7u5F7R&+a2Ptogw18Mf!m{p;HQ>gU-uyq_nFrq1ai2j*X?JVV)%m)jDZU@ZK)SKrQy#jkH{#H}3{o?BXGIwY^H@9EBJ}mueFr_3x3AP53dP*C7 z-cbfw!-^K?Y$H`KzwV3DIxjF_#gA-=e&R!n7Lw;~b=RTu0pk zU8W3bm`rrzBEzEDa_|tGD3(pS^jbHcZ@DLh9EPnRQyy>t$1G)C|0^~Id_5dGTN|7+ zTlMFTvZY|^jS*O9N6)fYF}m=av+(g%v@PVK6;r+ zD7#nAmbczhW~~gAYpXgbf1m?&)g+%=m^_$-BN4wKjbS}VJ0;+gNW55S|4B&AteaI&rljr^6WUO+|}7{X%wg3F1X5 zsHpYYjj~%>054ktik`1~R<%}tA0q8;i$_EpKZFFbC#QslAZo|SMUGqiNUd~l;M@5- z{PNm5{v*TvGL)uUs0_-;=nE0hu2o0CtK)!Rp5 z`{J~tIjKsRkq}KBrFiTstM!%}WM(+(>byO5nM4pZ zVT9tf->23{2Iq44wn2v@80U=QLVVGA-nbvfzXDMc`xkkfXhEDm9fZEGQ@Wg7 zioKMCu;YQyz)`o;-~`d0eT)7&SxB6-2S9Y5Quy7+RXo_O*MK7P_n{H;?y2`Llfe%;JfFk!8N5kZ{X>Ra@2TQ>`rGPldO#NM_7Y>Cr{wo`RHJ(o zojKiy;5}=2$sn2RRC3SFuMzVIPQnp){4Q9k&+A1>(2rqwo7Vov{c?O-k@NXqs>l;= zD>pBXAkUQ!SK`S&CF@Er58r3{kn}x%njFu~*YE+Tg7&q)0=^pupUlOJO!cag z@gQkX8Pr&gcSyweF>28%-V2rQWGp7jOl~UQJ-jG~+$j3|(Lh=5 z)JSo7vO^wyt!U2^S2w(UJo@(@{|V>ug0N@YNRT8$^mD_!ws?pz^hwxOwBqFiB6m2f zRH;}+zARc-kwE0}2bEv7VA)c4yEAD(YVSUy&w$YPbgF-01vap6qTHgL38`Oust{)P<6yJbOV<-sY~FcWMB8{ z2dGgdtH><6PbSUer2Vu`81bhD2jVT)+)oEPkRY1uKzzv+I>>>9l2f*92a@N|=c6MS zP*=XdRvgm@bPrf+SZzJ@rZf1q6XVBS=kTEufU9u0FM}KK+Ql6HjKQjHWEHZA$o*>B zes>{j2-#tyZX}1uvA#608u?ka_|oUqNQ0o?@Ez6NH(Yf6_louA!w*0~b#H`{yAL(H zlV>E`hP7-6k?S6$)IdI!oom|SJxQ)3$)x*hk~nXxJ8aFKWr~mtxma=80lxYnb@3*X zWb+>St~Uvg>+Ye{n*{mFdzfqc9XnX+LQ0my$)zZTKA=B%lbA-C)!4&+HB+bjR?+y@ zORDvhIsq(}1tZkCXr!zZOOn1(XUmCu)vs;QKE#C>MnbA{t~M11K$_aO8g1`OX2`8Q zXt6KJB73RXk0jLb*@m7*R?&O9XuICi$u{(Khbwxzg|70$m-KehTz?W(XV}))PU(+o zm}C?zb*>9U-?x?c6Ax$d#CAQ1Oe3;IroDqn0eNJ*8%(lgx4GZ&Fl_q`jjoSDS4^aq zYa7AT=nfNU;rjAxF0+@uFp-w7J4JB@O$a6H<(@0)ewj3t16HyaYDgZ?&S40tZ6DLt zQ6$Lu5stUjwYIOrNEH&$;!CdSuMLb=4*C%*XcrdL&ve8ybQ_nb6!mph&}D=~25b@% zlek2su)nmNhy55K5y2%Yh5gdydf3Y^DYy9utrYjm=ys94Iii^KIklOHkuI%I{N2ogNj|54nc&Rx^+|2Ff7bDe`_|Fcp%VlH+`q(tv2BoX>^CNG?&yacAhTX!5b#Y6&;naS1oO zYYfajU%<`Ije*&#=qE8S`vZD7hI~Xmv-OW9*NE)+gtll*I+C5X+{T!iHTpiT(C`h5 zRDwjWZ?!rsq<=Ia_2qhxY^FHUK_+MEgl1%k+{Q|^W=IVO=%RSCmAtf>o0Bi(s@v~Y z=<_UI{hI#Pl0=i4G^7>TF9(#-o2^Ki?3P2DB#?A6hJKhp%<`ygdNF~dk@GaNHAy08 z=)~5T>_K&j^1xidg9ApHgg9OPu!*~;2mtdfZk0f z5pwNS*%ki%!t=|iFO)^xgiC`ph%pH5#4CGqr!6w-k#uz7bR>j}xC`#O=tCcas( zJ8PJ$cQzF)wb_LVq&nPT0o?Q#&btHfYRr#)@6r7tjZMYSrsvSXsbsKwDI{Zy%lfgr zkV8+VlIw0s*}Tt=*)(7f36+OVq4y?}y7Xmd(nNNd!Umvil|ttGx_dNW7BQa7EZnQci+zniShhd3|! z*GLaMWBaWK%OIC#@?Nf>0li2)`M2?WU>DJ^d%@{xr*oa((R=+!m>e;hJ1(w2X@W2x*B?QD)3&ES z2_xh(y*U8wL>;HW1IZKDU#9SyAJf`{Q1g%BuU$@7)0KmWh3vB38bo4<9C4KUI(7(r zePF_CC)g(HPIv~Edi{{@YdLN*wGJVz$b8$eA;<@=h79iQGxSb6!Z|Wsk2!LfzB81x zMO5t?il{aZVG%b=4nJs{K8$!1*|V4~8V;xB)6K(4B>9#8GMsdlLl4l%5#+k-t?^vv zI_fo&m}G~6`T&v*bje7POpe)p9!a8z9KVk`k0xzuof+}k;^U)qiycS8;>Wx7Ve<_c zi$c`N*TWXZCg>`uVXB81tx*Xj!PaukTJZ! zwz-WVtBLor-4*yI?aidfd-yJvW%ys#nkE&KXe>#U9Y)it<4Au(>8Noe#HZ#imdzYZ z>_b)BMOTj_wX6QRlVLMm29#Z*N5+xH&2JAyZ$=ncH{!g9>%CzeR1<6v z%y&P=;E^1DK1_!XF}RM+7Bil>$k_2Ue+%RA!Em}Flf=mDdeHAONgWRfs<1IUkFJC^ z7*79SSo%3@lO_@)`O;P}5q}0J z$9ALm-d;nQ6xljwkO{=K@eo}w?kPPq8Nrs;l?7WL@&|4EHp|vqY|Gxph>^ePp(zN_ z&YLKiO3LIesr12A5+w(v+Gg(ykS;z|W z>9JYl0I}KTy-)69|J{vF%0!;))s6Rcl3DMo`*&%t`}zlco=IY5FEj7z7Yt%u9hs(g zl^mkevq)XH?s^r^gz9N}PvxnJbjd^#Yx^UMloPU@s&h#n*}XM2XOmd+3!RcphRA~x z==p52kL;mKb4VvLiC)Wr<6~P<*Id%S=B1XrC8w-TqRBR$Y}0eGUzM9Sr+y2NupiKF z3rJ1!Gaa=6`>J)e4;R2KuF47wG``%GN2`B8Zj4L8t4jSFvyO&7PN}S5HVi(lb38{S z8y-Jo!D-Zm@Rtgn=$zLqlj&))q26QM_lFFa=(q!xfT9*3fkdS?C#nmq%r3n7ukSsufLKM!J#p zbm=l|DaJRTmzRtuF>@AhormfANBMnKB+$K@)4;`ex&0*BFS#CEp(?IRM*j6 zACXP2Gnzvx;)wcyPNqn6J)-DiO4`VEB5BNW(uklJ%Mt&`U(3l=vdA`R1#xF9?)x7j zx)#%kD@oHj8$xw=yEnmGWTt9^RSZsFjC&qEw375Ro@&C3af*hh+Tsv0;9M6DxIN6*B4RRU}C6YNC%%{hR-a%R13d#x1NErut2UockFF+#n9QR-#na8MVAj+R7zu1x z2jdHEZ2X()FE$Q2&8J&F#Z%1%8eT{)A#U*O_#qiZ=^E0545Rngkj~@?ZN3&ZL}t^U z){?z))hw!fhV`^-1DowLvWJilY*RkRqT$vA1F4TNa?}?jPBzz~FTNmkTz`sW{_srr zkQ(u~wBdLBVNTD#5$t~$BCZ*FUO>h&bpHHx$2 z9?}yi%3b|!_t%pHa>8G5#O_lb`ZO6sT!W)d&g38Ly|vQAFSpo_L3 zjhvzmTS@!SnFA20y;H0g%)L^qzngoStuK37@}s7L-6J*fANDOsRkKapN|w4SX+aq~ zipe%Z=E4w7n}GjzS}jb|_J(TOEc|bU|KFQ9_D!&+t-}4@y1e`Va;%R1KhrS_82i5} z5)}U#uSo=GxTZbBJ^Rn(cSBby>R*Y_XyX#HBr~H|g_eP%gbzSXu9EaI=w8sTKu=Va zr0+mWunv;m6`G5uB#i?-51Iw)>4rZq24#PWSu&_XTkZ%txI()KT0EpedkJbxuh7_B zC@gheHwQ<`ESd`@_0|kri4o zXbI?fP|r~qM$kmim!RpOo_OHT0yTjag2scEf~JB>qbsy@&~(tLRj`LG#mxdR3dU4u zt3ZoEH#32;71|Ndl5yw}XyR1##07@UsL*DBmVg$5CT3M=t>Ce=xiAQ{G#hg8jI;n9 z1C0S?f77@bndBn#80Z7gtPd)*2AS2+(DxNuDO^~1p+YM_Iql~PZ5?Rw#R_dFXyGsD z8ED3p3eAY`hL>Nf&?Yc?y+X?YHQs>XpwgWR?F!?oFaYshejhyqEqQPb2JM1q2i**s4w}|g)7F6&gYE>C(lRm4a1)cJX{DfvpwB>!-83!02Ngkkf+lvy z^Z_mCg`R+x_XX~Y`U5p>1nA}=n)VH7%tTEy`k{fz@DykX=rYilcc2$^^GxVN>SOJ0 z11-&*3rq2Jn6&wtHWkz}4-J5BUWEBu8)XFwKnp*D0?_p3n&uJ!Lsmc$=w{FiP~*oi z5Htp~kkL;ytsJy`t)`{nyBS#032z3~ow_kUSXOu4$V= zJ+&-(`v2LbLc?H5 zj`P^3BsIbRYBD-a%|DZ7ktdJ~Tj&7%3ECIXvp0AXbn!JmlNt%FkTNl3`o+YT0kXWo z+W=lq@DK{GPM_1k9EIRZuiS{X( zU7_i!J9v2Z1jJUqE3@ermr3ucIcWR^%8vhdQ~c~h?T{po`0Og3JPKro_nh54;@f$| zm^~uedKlY!_@RZi9xiQZAvzIuw5cT3u3fE)O96p!c9nU~3!U;E7db43v-NOfq45iy za|O@xGw6ydq*K*Y*m2#Aw%T~pPp^>LL1xxg2ajUep*ry>h4IC*+)ms$ zSBXoc%c%YUg6a0oW3UV^E2FDRNl5J{z{YY&VgXhNYyy_D@4Y1Y_zKSK{w^hvJ`et>&@Kom z7AlTdD0fy+{MC1hwyBb)&0#Ka7)Dr6nYn#|FM?*6reBOV0ldvb(*oIG;bMBSz}xFU zcR){YsUy}arUw})Tb8@KdAKCQ7%2k(uRtz_dfmjy+<8~p`X=c@YSR3h2>M$A^x93* zUVa%w!+s?#oC>i$!$$j85>6NXibtPYCc5!g9OlN;7r&C)@~Uv^a|=f~3uwPvWI9Qw zXK#^q2?LvGue!%feTHQ@A`X9MfqQl_9^00U0PmpA;byUA+eo|J#$$a=`u=T#<30Mr zZPLv9LA<7o7J`YOw;*Vt{&z?_?{!#xCklw^ZG|Np5p;*th-}b8(;_QDBLG>zV==}q z6aLQtFNuD82fOB%E$D?iq$x(({Vr+d^bMBtF7(Dt5<Lf8KTX3N*RO&2WP5=ov~wBGz?;x-89__; za8|HvB&#)8J~D=$X7v07+VDOyP7|7cA5v54LrywBAVa*@y@y3u%oq!_E<{#HqX!@0 zkf8~6$Lz<@M1uG)d|%VBmDR6Qe46~QxdTt5=9|Qi{&S5~qjMgTaHn{z=0()&9;rc# z9}eDj$u)I5fUcqUQSxV_LOqc zHB#NBy-EvgP-kG}NZO-mb%b8VTL>OHUQTK_rS8?VxwKmudXRC880g>SBs8P|e-MEo z67k1BOUt>3D2~M9tex19&eP>-zc+ROJbK@p8Yyfr0i(?8lARg_+AP zYN#My$c@1jh!9UYrvlIFniE}HL0ZSEBEVUSWEUO-^ouV|m|{M>Z0DCyFO9SbF2$ae zT?mm$jEV*&e3?@(d)g*zh{UYejtFXeO$0EC(<^--~0yus^FIj{xs2WI1FPRN-yRLo{A0(xAPBiej zzt)0};c=Hdg$pilzI0ktC>MPEbOXPfxuW75yr{3_xD6KkTH%~;U&%WNe%h~`Z(q%) z2!6(Gz5n=SFwp?}9W`c9$sJxnU*d85gWxBsoPSF6_=(_qKH&Th;2Cy>RN;CG%XvA- z!08adFV=Xux5H?DlP7@EYTS~pY%_uDl%3z2^Vv^kvFjQ5j?xpMhV$5`Cge9ae9dEb zgqo`&kJLo+V*N8l{~N9cK9OommP)^t#w423HK^u4NK~_DYkTFf^ekZPPhzWq6i~v* zI=w{ws>uP#tgWn;TzrJcZO@_1S*n5T#V>o7VLt%H`1Z?=Po+zs)_*2oW@7OhKMS{* z9%S$;0q+#B7zk-2eZt_Q0^aZje2E6T%f5~72zc`w@c-xLm#%c2yWG&*AP zAYpuOx&>{a9h_6n4kL zGMG2BSV-myeraFMct=?A2MzXTJ`wQdEu60}*pNIx*Fb;Dj{?s6io^B{`xyKXwC4E< z*V+hWcGW{nGAq(Xb9wtlDS;9LTI(p_41W&WC-YDpChyQ#gB*?5jzbM{U_10>92c_> z)Lv1&0AD<2mwih9BKXD>oh|j^MEYG<8|#H7TX#)k&Y#O`OQC|Fp2`_3#KdVwgFP`3 z1_@Z|!K>Lb$pY{_rCL&i2n5lXv{c$0?R+sp!#G>|k}KasW2>W$pY_tv`$E|G z8CQbLtzRz$zn~{C`wP=u(Fn6#GIIHeLOw+Bv%*DvWL9>C(}S$FCOSz;u}g_yn22=8 zu6OKO)3{c9np`OO<@!;OB-Q8Q(k5Nq(8GYe{K8t?wu6GdTvzA6UcjYdQWuHvKdr-=Wp=IWcKotL5_1x<=(RM0A!*V z-oPHw&I6&tGn?xkD*EPvZ3}ZkVI*ht7Cvnt_{9S_-=1o^&@C)kq;oP!C;se_SPz5u zxNsM-Y0KwQg`8}nUcN}F8;~TJu>H4lqlJY#bg7h6c3tc_57!hG$(k9!&*rC zb25gLX`JNh#DBR^Bt`wZ{cT+8Bq!%NxxvZrI*F|+MyQ|>w@p0oNG8EAoWfPk5yn~Q zWGua8ASV-a;y+gimkQ6?XWdc`uLaE3q&Js}O*)*ymS<0FjMO()l6^vJc@j4*N=%Xa zf}bA3P0JTvC3I+Q>F@|%6ktgkZ2d?#^m}}PrKgN&q8*?H(*IV;<^%2Gga{e>XjEQy& zfZOp>fsq7G@I4fiQpSin8F<^kE|E~Bxq@FRlDhr8XD#^5-){!ZUELEKM|RmM4(0kM$_>5j=VNwyny!GjoBepKv<5wwC^vO2 zLF!`{j>pV$v+DMvIy+TeXn(Uj8!sI%nQ;teKQyz`Q0m`Sj&`;0bu6}SZRO)K&d&Uk z!M0~-PueY6ZsQu^!1Lw?x*}O_hSywY!SzlQ++y*Rz{nID+Fq{jDuwV0&1k>&sL+fq IX)lNWAFqPs8UO$Q delta 24461 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 Q0Tjoq_#QWH+f@$xf9C)Qng9R* diff --git a/sim_seq b/sim_seq index b5823647c292d3ba5113972e9701df11c1e81a83..f088541cb20ba3f1bf513df865e5fdd6204be46b 100755 GIT binary patch delta 17598 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 I!E&?z2T3vi1^@s6 diff --git a/src/sim.cpp b/src/sim.cpp index 0803ca3..c4d5ecc 100644 --- a/src/sim.cpp +++ b/src/sim.cpp @@ -299,7 +299,6 @@ loop(SimState* state) f64 frame_delta = 0.0; i32 frame_count = 0; - clock_t total_clock_delta = 0; while (!glfwWindowShouldClose(window)) { @@ -307,10 +306,7 @@ loop(SimState* state) delta = curr_time - last_time; last_time = curr_time; - clock_t before_update = clock(); update(state, delta); - clock_t after_update = clock(); - total_clock_delta += (after_update - before_update); frame_count += 1; draw(state); @@ -318,7 +314,6 @@ loop(SimState* state) frame_delta += delta; if (frame_delta >= 1.0) { - total_clock_delta = 0; frame_delta -= 1.0; frame_rate = frame_count; frame_count = 0; diff --git a/src/sim_omp.cpp b/src/sim_omp.cpp index b09fbee..8bd1a7c 100644 --- a/src/sim_omp.cpp +++ b/src/sim_omp.cpp @@ -143,9 +143,6 @@ struct SimState Camera camera; }; -// @CLEANUP -internal f64 TEMP_dt = 0; - internal void sim_state_init(SimState* state) { @@ -227,21 +224,18 @@ loop(SimState* state) f64 frame_delta = 0.0; i32 frame_count = 0; - clock_t total_clock_delta = 0; - clock_t before_update, after_update; #pragma omp parallel { while (!glfwWindowShouldClose(window)) { + // NOTE(Brendan): Compute the delta time and update camera variables. #pragma omp master { curr_time = glfwGetTime(); delta = curr_time - last_time; last_time = curr_time; - before_update = clock(); - glfwGetWindowSize(window, &state->camera.window_width, &state->camera.window_height); persist const f32 camera_move_speed = 6; @@ -251,30 +245,27 @@ loop(SimState* state) if (glfwGetKey(window, GLFW_KEY_RIGHT)) state->camera.offset.x += camera_move_speed; if (glfwGetKey(window, GLFW_KEY_Q)) state->camera.scale *= 1.02f; if (glfwGetKey(window, GLFW_KEY_A)) state->camera.scale /= 1.02f; - - TEMP_dt = delta; } + // NOTE(Brendan): Calculate how each body will move. #pragma omp for for (int i = 0; i < global_settings.body_count; i++) - body_accumulate_move(&state->bodies[i], &state->qt_bodies, TEMP_dt); + body_accumulate_move(&state->bodies[i], &state->qt_bodies, delta); + // NOTE(Brendan): Move each of the bodies. #pragma omp for for (int i = 0; i < global_settings.body_count; i++) - body_apply_move(&state->bodies[i], TEMP_dt); + body_apply_move(&state->bodies[i], delta); + // NOTE(Brendan): Draw the scene. #pragma omp master { - after_update = clock(); - total_clock_delta += (after_update - before_update); - frame_count += 1; draw(state); frame_delta += delta; if (frame_delta >= 1.0) { - total_clock_delta = 0; frame_delta -= 1.0; frame_rate = frame_count; frame_count = 0; @@ -283,6 +274,7 @@ loop(SimState* state) glfwPollEvents(); } + // NOTE(Brendan): One of the threads recompute the Quad Tree. #pragma omp single { state->qt_bodies.init(AABB { -2000, -2000, 4000, 4000 }); diff --git a/src/sim_seq.cpp b/src/sim_seq.cpp index 37f3e49..abc51ba 100644 --- a/src/sim_seq.cpp +++ b/src/sim_seq.cpp @@ -258,7 +258,6 @@ loop(SimState* state) f64 frame_delta = 0.0; i32 frame_count = 0; - clock_t total_clock_delta = 0; while (!glfwWindowShouldClose(window)) { @@ -266,10 +265,7 @@ loop(SimState* state) delta = curr_time - last_time; last_time = curr_time; - clock_t before_update = clock(); update(state, delta); - clock_t after_update = clock(); - total_clock_delta += (after_update - before_update); frame_count += 1; draw(state); @@ -277,7 +273,6 @@ loop(SimState* state) frame_delta += delta; if (frame_delta >= 1.0) { - total_clock_delta = 0; frame_delta -= 1.0; frame_rate = frame_count; frame_count = 0; -- 2.25.1