From 58c74ce37d839977877f35b4bb41ac09a83e7c14 Mon Sep 17 00:00:00 2001 From: NunoSempere Date: Fri, 2 Jun 2023 12:44:36 -0600 Subject: [PATCH] feat: rand not thread safe, use rand_r throughout --- C-optimized/out/samples | Bin 22568 -> 22392 bytes C-optimized/samples.c | 71 +++++++++++++++++++--------------------- 2 files changed, 34 insertions(+), 37 deletions(-) diff --git a/C-optimized/out/samples b/C-optimized/out/samples index 0486ecc66e2ecd8e8f257a11ccba8a071535be9e..98384ccc85fcb36edf73f64cda3a7c998494fe59 100755 GIT binary patch delta 6243 zcmai23sh7`ny%Xq>E?C21?+Buf@7a@6Mx5X{|no1Uzu$?_=HgJK<)X;;LJYfv)|A|Yy%O&zL zvJd~2R<~f|+-^=Uwzz2fYCsn5V*I{zeMr>Kvh_(YGs(z$S> zK5HDXMEXL!%L7**wnIa>B7G~~m1M+-iL}x^(0CT}jC?qPkS^K|sx2W=NNf3WVuf|D z<9oLB*@X0~;~#68>_`{Zp!YAc2oW;_gbavdz5;#+3x6nnV;FvE82+bW_-DiLPmAb! z=WpmcBh$aXRaI44IT2e781pftdQes#$n96mvA+eXT>Y4wzhi|+snQW^PJ|)Z*7xb{ zk&oLyL9FFyn#DpVr%Wt*6VcR#L&}xdOa$r(OOYHcxR`-xu>OF!!kRLg!Kd3|SHFSw zn@qMlk-nBPTJX_-PDx*US7c+7!WOJvwsK`a=f%gPYRi2J0Bs zuW#FAS9`?FIu_|;I)uER%NIRso>tkFY&xG`pv{*B-dF`jD92*g@2je$ zbSSX{_r8|=zZZ8+!43_GzwD8s(^7>#Ws}#d1iU#)yT4P6-bXN6Sy)ROwz$h0g0=%? z4O<*i!}6?q4`gMtx3H|CmV_Yh4&#yS|6GjTgQfn{q3WATTL{V=;)2t1)KbrudujV6 zv#eOW^P@R=(K%|Fa9pYM=7*H$y*7-Vrbi>tu*o|u=)2KS>CFx)u`=aOsnS`0=9O9_ zS`AxBY#zK=E8aSZ|G5Eia@RmuT$=QobV7V>1LBfT>d%GKuFWt8M9YPcKelO#taJ}Z zqQml2F|YllUK#V)aAX>g=vz<$k_$;Sr7rKj*e>KPE7A+L?^to^!t zzqr)u^w14%*C-j|U=Ad$r``Gn{M}ddO?O841CB4T{u~fSx}RCz`^jIh3)Vu*wZmd& zF<<+S?79i2X4eOiv(Su9qbo98GpF&4 zfxXmv9tR;8`!6n*-KA-L8VSXKb}cF_n#W?VLgLzS`pTG`=V8_*RNAlx z6DL7tYn33~rld%eMrWRZeD= z!xDKoY&-0W-My`hy7(W(e?6c|7UE5}DK~M=tasnzFwGhuF63?Bz<1?D7tBIe$m(wQUzvb^=cNySH$Mx!f=V`^y%ygqei@V(l%kyH?9jXp2g$?`NJz*PMOE zD1FOuKI7HqVdCG!KqKkB4xIN|F_a^r)Iri~L+Lc+V>Ox;>`i118^ul?BPZeB-5ARq zWnNzNon#)?Ho?ok$I?0x?0_MJIm#U#;wf{xITqx)uf&S_HBSowd)W&STk*cOULVRd zzNHELkFUKu2t?H*q-ifBde)@gy4^u2(B8vWN zwYQ!@Y;h*^4)oDqcqg0Q__E~>-o2&?Ur!=LT3o7p&fYfeNR^Uuzen*QO+-PgbPbjzS&Br@fevbE?SXxX-9bP9%{yFhvamxLl&#L^V#M!qte>E%h z-;T`A`sm{j-JYKnX0bp$CCz_U)j`1S9#zf4TIvBT1nfJnstyYn7genjG;4;ASURB)_c0u>4X_EpEQUc2WND{`{@6D`aMOc6m$mu7F(du0Z=7(5 zp7*&tP4LLUEYTZ#Bj1I8BXv$q@$9>xs>U092-IKUzZHn84gsNqbJqy_%GrjYZ9Z}QVWcMz!oSe185=hRD(3~eStc?)Lpk+_wg@1=$ zD?KyL|F#>^p>8m}g^bEo8lAWY;zMxIYc%?{?Ikr zIc>oRmi5%@G`(QL2$uNl>vV3xTsyRq5R{#z`wPY;vxx$17${3_(xU|>_6~IGusE!^ zHHkLbX0q7JnTu!+>MY81R%-~Zt6J-%5~w@JX&By^cyrT@MVUet-BXk|wom_TVO$Qo zFa>MI1u#s{7v(t%7iv`4%3C8HJ1f(fg)1&=>|)5;O1fy)LZOKsoRulm(DqsDglsC6 zq%b>a@$8)~XJ@+wk1?S(M0=WXpRb`~r8KjhGy%FiD{+w;-pnL{WYI;^JfWB#hO9`+ z0bS`Uhh8o9L1yA4JIB!rQZ6iUmbg5HzTxWFCx$d!%%u_+Vj-2JnO!8CZUk0Hm6Dg8 zb$Vofq&uBS&zHEulcC0hwbrD6{V}w%+%bChFghzkjPB628S+)=2qc|2*vjC24X)<> zQN;LEpiyz~p#weiB5H~Saia~!F>&ZkCwe4vT0VhFz zB;r!1uT6a!5zXCPVdp_yfT1(n%mT4wx*ics$xSPwHtgwJC)|TgwgEj z`2kF0uC3HluI~~uhjD!s;5tp;4d7aRRG(gBPU%x@9=5a0|ZyEBszr50d_Z~eg zyF4vA*VzB;!y;>~Y)0Q1aGkI^KVPHb+~n;uV^o%gzl*t9yTnF?@9NwdJ+%BR0@sA$ zJOX-7jq@`BbQZVaOU%XT-_7!r|AWqs^(;c@A4;8wr!e1Da89?RO|ROub!!4j|pH=^6zO&^Y=Kn;XlR}$Q_;=M8i;L%lN=xQEJ2iJ|ZUKEKRMiq+wnw0E zFIdu&u<$LR<-PJ%0*bZ$$vme~pA8tMrJ&a6HQs=^RCzMb-lS8TX#11X?MBUBNrj5( z4-W_9kZ7c(6=7SJo+G-k!bPuCIPJww&5dFzR8Du7>zDzJml!U-uF^Tu$h85-JL#*H zx$(xPM9Du|ITt10UIm-=%p0(SmR9ABG!6m-o;A}~t8!`KVh8Q2%C{R8F^dX|r`wG> zh;wZ5^oOTlAuH-=T~t}DCbjAN8=v%ukM4hJik-~oY;u5}d}@09fdv|tF3?luWBv!G C^21XA literal 22568 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