From ffd6e5dcbb9e213b8adf8f3988dbea99a9f6837d Mon Sep 17 00:00:00 2001 From: NunoSempere Date: Mon, 27 Nov 2023 16:46:57 +0000 Subject: [PATCH] tweak parallelism example --- examples/more/00_example_template/example | Bin 23064 -> 23064 bytes examples/more/01_sample_from_cdf/example | Bin 27488 -> 27488 bytes examples/more/02_sample_from_cdf_beta/example | Bin 27432 -> 27432 bytes examples/more/03_ci_beta/example | Bin 23104 -> 27200 bytes examples/more/04_nuclear_war/example | Bin 27328 -> 27328 bytes examples/more/05_burn_10kg_fat/example | Bin 27288 -> 27288 bytes examples/more/06_nuclear_recovery/example | Bin 27576 -> 27576 bytes examples/more/07_algebra/example | Bin 27160 -> 27160 bytes .../more/08_algebra_and_conversion/example | Bin 27160 -> 27160 bytes examples/more/09_ergonomic_algebra/example | Bin 27160 -> 27160 bytes .../more/10_twitter_thread_example/example | Bin 27320 -> 27320 bytes .../11_billion_lognormals_paralell/example | Bin 23104 -> 27200 bytes .../more/12_time_to_botec_parallel/example | Bin 27360 -> 27360 bytes examples/more/13_parallelize_min/example | Bin 27264 -> 27328 bytes examples/more/13_parallelize_min/example.c | 26 ++++++++++-------- squiggle_more.c | 15 ++++++++-- 16 files changed, 27 insertions(+), 14 deletions(-) diff --git a/examples/more/00_example_template/example b/examples/more/00_example_template/example index f2b1432e7d613f42b4322fa34cb47e659eded7d2..1999f3a5bbf9ade87d6873a44fec6c8e6a48fb73 100755 GIT binary patch delta 1499 zcmYk6e@s(X6vy9fi@s{;D_Er{tVN!I#$a2Zg^sc9kt*+DaT?`^f4L1LBqRPvDsv0U z7To3wR^6`4`iD#0f|Ea%2z#1HvP7H;HN%9N{b0WYH?q~~l)-T5(7W$Nvh614e(pKv zo_p^(=e6-OBz}hUh{Sr*CCrVJG>v$ziG`1~grN~HNt^LKR{tf{O{0$N3`gIFx1Jt1 z-=B80gi=@TjqRv1+RTe2aY42qsIk-|#^LmdbW&@yuX>j(PFMw@HGNXD2L`AsZzWkz zEAn19rCE*3dArHtk8tB-ZM6Ue%+rs7GWw z?JZc=?vPGj)Wfnxjah!=PgM0m6}mH-G0vDe_}L@I*m=SovA{tS_h0t+Cl_(&8{bDa zt@Yp21}|X`lU%}i5&M$Ye`d^oZ7!xt4^JavAfk_{e@#X7NliLEpmhuoHKr1OzpC5X zacl*SP4*!w5}MlcX;^QQOCz0avgp6!zt$O+9ZjmV zyPKqz3wZ5QQd(HfPoBjY2(WiXWJ@Tq-`9~OYQq``a)psZ=RQH} zxFjkp@YSTkgJ-HkvwLpxlvYJLqq0-gZ)xOCljJ(Ui-LeMwd10gjQ+%!7P?N~TO*fg zSSJr)l3dRUQ_>R;l)6Z){1zIg)N1BVwzhmqOHEx_WV)Cno)aojIpC&J=hI4-(ajC+zW2x zIvz0s#=+ZQ0u)fxQq;o%HltfUa0Cp4&R-aN9<2YBu{Llf$=C_5-)3wW>;@-HLc1XT z&Y0bdi$EDX2bO}RchD?uzl#Tg-G4B44jci8z~m%jP7CZ)jMan9XxcHZ-(xHR9=wlp zQgAWY2sS@Jg5U^v1}yy>=cME!BP_;Y5N8>)EI=Tb1?JiAJRZSDr#mW5>xn)orj8g!Xvr|F&GvVul*_BemkI-C87DQt5d zHdol(G0R$8{-G4b=6iF2Vk_-fSYFSu0Or?ybCQa(j&r)%^ro zPE`ixP}LwgZjkjaFE$0T>8rJCtns;Tgnu->wUyX$zt(I0@Bi3eS7P-Q@;n8>XY8&! GW%>u9tr|-J delta 1416 zcmZ9Me@s(X6vy8!KWstzC}3J*rA11Bh_t2UM}tg?6>jmdvB(ci_6G}$NU{hlsM~_V z!hYlh%IfY+Sh7EGF>%Qj2R^d+#}YA4gbXq?i!s|2++cPNN6{%mV0YgKY)kf%cR%-j z&$;KEp7YZFVbVWL2DL<2V-eP$8fGAN-Qbpu)1cxfc4C-uY#je3lQq*x_dou2=VwdJ z`%dhMugvZ+Ul=Oe_ny)b5hH59Gz$U^#O+o362b}OIi)lG42d1o3BvJ&M`C>51!l?E zNnETn<1NjyR=JkZMq>Mral_iHc(cBVAY&|UcW0-!+Apux9Hb53OM&b=Y88I@t|Twe z?)gJhZnwqDlFigedy>*KVWV=jjXH0Bw6r4oY-aI`tH9Qfd6si3U!(8*&~Dl9;0J!QXwINOGa%SvfZ6L&!p@2XUR_&YL~HPMf)jibp4DpxtJrf#QpQaNgt> zkB&-mqs`hRzIp{2_J{_bEpt6!kI!c6k!)K%W2YS5AwnB&Nb=LHvC4q^79~?spkq`k zS_Im25?M#JUjE%9uV^Uyv(od|u?K2>DOCQ=PacYvE|dtrxFXtpRU4Z4iF3c_4qM2v z?K_Ko=tnF~Iilrl)lFy$J{D7+dF!M=aZ!pOcx(OgEpLrqe&Vh6qI)#3I~(#rDQgXF z(}p;E-hPn{#8iFYXx9h=>vJ6MEScu~2oZ$(8P0=XEBGncb&vBAFbGzuXC%H24ubRG z3@9K-)z6$KfnDgT0}O*c(D4iB^UYj1RbN1X;K(B9m%uPM0Sb>fH$_4R4}o2n(1+^zDd%J0z%t@QA@MWL8^JCx z2!_F7uxbTyqSEk-u$hHmUFAG78W%w`7+&MN6|86Jxw}XqdokBYrdV@s2ENeKxyIy? zyC@u;_~%K&rWfxeb|u%CHGn>5ZJOd$74KL7(bYs+H= z_13B?F(*9Eq2GlY9uCbkJp8eO3D#_AW9((ub~4XSy3)uIcGhJl{p^Ozf;tynmSXJ# z&R>D2`lvC(xX}pBy{>F%k(fvj+8dji8rcMGl~ua86Dw@e;-oVyE-dlHE@@uTx{S=&cQU zt)TXI2=!QVSBdmFhElqkMYDyU|{K zVfU6AeUL;%F@He@d7ZTtlt&IMan2S?5|x3N`Y2{BK1`_6R@@RvD7)viqijQ|k(iXM zQc*)bXCB}Ckj8!Gq(m|7FCg&pmtBUWD?g8QsC+>)m7{z@PZ69_D~wn@71xPRAqP&x rYUa%B&DtCtwW}4YLmR3shsScQUH9Lgr?aj=XUg61Fezl&P!l542O}uRCUYAIG7yFWLPJ1H1jGTlVB!2e+eG3e_k8ZYzn6RY z^&0J@(N5ZEph-bH>1jbegk~nSC-u(SRheeep`@U9`XBjL-8GBvt7G#|U4HaMU3h9& zYL$Mg*)YXQ2#X9pt{N@2Ve}I<)AFQ_H``xcbM7-|6Wze#})pTvncVOM>&*vdgk^oz>ncWlE*PpadLdzSR9f zwZ(Msgd#Z-SR~n`(W)+NvU#73p7+Y4DOTe^9_>2QqD}P&ag&#D98TK%k4w^6EdNp1|Jm>*$YId+2jDmyouwQ~dSOeziNi}Ku zQHW9qIf-Ruuo)A~TMlcS# zeiy>hpOB9GLR5ero?kd2EsT51#O{gI->kubo{e75Hx-UgYdnL^XmVe}iz1ciAMxhG z6z6@!;#KxE&1)Ze99m9~LWt&l2tA!sDTR7?nq;R(dA>A@+PET3#d~a)lAR@}l(R2F z%d!{M3PXFXPfGG{j|mH}f)|of5A2GO3Fn@mZn& zMOWg9-kP(&!voerDPtKU9?`^FBj=|6_@H* zmb$38E&=2>=1xj`_V=r8ps(psxRC06#iXMxJhxXC{Mb^idAN;c;J delta 1566 zcmZ9Me@s(X6vy9vwfGQdi_`#9X_Y!#WI~y4#c4+6QSQ@6#95^35@#^jEk-kkhAk=@ zHp82d$W@_({};&pp%TkQTPPw#Ve zBwEuqo)WU>Cq}CE-KK*!X*fp^Xf$oRZm~OOkRy75=P*f;G6iAR^iivAaT2?bH#3n!a=jT(fGabz2XO*14QCy6og%oYyMWZJnyN z+2yRYZasqxORed$%RL@2BD=C8sw=g)Yj0s=oY0y+Rr}l1RS{h@KuNC}-Q6i!9RiK) zLDo*m&-+LH*7QK4qWIsPzZv!AQ0;ex+_5_Lp+xwly+9k!N^$iD=SuN4_Cb+Lo`d&z zGaj`It&X=1H=(xWPixKtf3+H2_C}r{_}41hfWJ!7?)!s&oF0unvl;Rl)$<6)CdF4> z(|Hj|V|E>n#_nfy7L1?jW4Fvwq-w z3=Dxb*qcB%=g6>~9 zZ#LGya(>#p66bvzfs&9Id>M4#;k*fqfhWKOcn%Ex!TD9N3mgOK2pQk_LpXoW9(?@eA30vlxD6w-NShaPHb}6@Y0Ma^>OZaEE?J|Ogps2k2U->gwHTb zprMgSXt8awNP-iu-IyWfm2*iytCCj|A3H8T@2NzOJg^wUh}eXzTc6O{pfxd4mN9z> zmU%{9)Z!G+PqRqnDdW4kp(U6X9zpcfH{nqz-hhXaB4lBM(f@k3sca@`V|&VSNftX^ zRzN80D|3)~b`Q@EmLACP*spTF2>!+}>gmTlD1r9oxPlggacC!4MPMfBWv>QS&1grP z=RCGkFpSoBv!1|8(!#RKUleUWv-Ram$b0N?`Lj6Y^X1z`+b~-~^TeQmxyep!%13`= z>|L6hJ%p}T8{xKFoHaN+<50t}=CdA}N$S`w>X>~FH)4n3LoJ2k3X4>U*ABxcj+@2i zC>b-BTinfN*;05Q$#3yBPOY-E5R;iH%6#HxuPf!|O57#0?oHWXYOM%~i6VV{#epdx zySaK{_T=BEkzsO}PzcpMFIh!$f)xi3iE%&sHW(1^7U|Qg_7Y=j>)HWBeXaUSK+g*$ z5wcJBu6v(6^<=<}s5M>85a4}teJ7Fik2hqdlEv)ImV#-CqKT9U_+U#wj1#szyl~oN V1nhV#{9H0Eop7T17vT@Z{{VMZBijG~ diff --git a/examples/more/02_sample_from_cdf_beta/example b/examples/more/02_sample_from_cdf_beta/example index 521640a38fa96fe03d2e7a70c05b79e635dd26fc..97de4a42b05737570b8db1d9ae5e1e06dc25c9d4 100755 GIT binary patch delta 1610 zcmZ9MZBSHI7{~8f7PzpsFS5z5WV^;CAd}rK5XdNQUf^C@3=|a8F-$`~FiH+MI)j3P zHFLuqsbe!W!xYUp6V5bh-agQb1}X`bI;*4jhO&}PYg!R%H4S?DpC$XynK}1&pa1i+ z&pFSX?HwV#Bjlh+k~1=e*viPHGf7TTW%9IHX=ubp9PO`6oBxsOrZHz)UtjTl^~*!6 zyZ0=8KUD1o9jHyG%9x}%I33r6@x@K_yw}FA^cij2T)#j>_ zz#rPsAYz!!BlL@ii+%!M;9M-HTvzTR<3v!8sDIuK>XVx7zzMD61W`jO2@I&ZwGCy< zQ8v02S;4})Er%7oRVoN}wn}2)WZ+zs9Ex=p`tbS7^~N88-{{ zS>A<7nJ52MQ8?9diytW?*x4+(RQ!a}v;ms_KPbcrg8wpOPOuJV@`GVe zi4)ocJFc`2Lgh8aTEU6yjP-DP9F2fI-~=fAz?j{PhCm5C2o`|;n`nURKQh(;_WXo{ zfMM_y7>P3GiiduSv0AY1XU6t$`wnBn@vjO(`)??efFB0efprtO5iksX1^RzSA+QU) z2?~>pnG=x*J^_01y)=Pc^vI%lZhn70K2Rmm&LLsvVvCe0nQkv`J0^1%mJ_=f+eKw1 zl{C>6N;=s^w<&4FPCv$bBR!&|o1*9GxKd75(fK85+3grWHqXW4rTFl=|EKMR)<@qi zNtxrscrsuKs?}>cnQRryEU~Qf(6Z=fh}en26--C?O=F1AEP@LOW(=>Fo-Iiur|2&w z=|rWDQXknu)uo*Jhwm6ekLs+YY?is{L+g=CP%tIv}#EmSu`*{9AUJMm0U z@**V{10AMBOLsdl-sQa5Myq$NRgB$m6TGWvk(NsK(i+V(=N@7<@fg+WHoCXSu`CIF?KY3Zu$qncs>;D2Z-sH}2?*E*7 z&bjwYrhAZd50cOABx7KT@Nf)Fq2owldMM-3GGytbh`3@EkCy+Dn&R1vEmrU@$?VA%gmvR?Ih@bzqaPJM zNy_P=!VQF2YSC*X^F7z7ahuf}{LV)DX}qMZO{v$-`wa`UWv7gI!5LnJZvJAJ*R}R* z5zTCtou(nXmusCllk;KI%z9ZXKKcG%_e@pJb?iP2WF?1(8Pm*fw6{(-d#j3B*8w|R zlYLNYO!a}Fw;v&f88XW5t-YioWXR}5+~RMGPj;$pa&A;}tU9K}n`NICpS9->V^Q6) zs?RW&%f6^%WiK*3>u{-Z{=qI$l7OD*pIgqhbuf%TlUY|E4;o*nt4?xzdO8dqD1(OE!Wx)+mkC#Gp3iFp{q;f zN(Jx9&3Hr$9o~)HO^9~gc1*gfG#T+(yU<3ZQ8x#b2HpHasaJ4&T73Er$P0|X16-Ru z*=8Ltosmw1ne+C{xlcqvpyMmnwe=ihtcwW3$Z^JcK>PQM^@E{)#`eRh18l*%`0%nBvxB~>`tx@F zz}Sb}q)9=sF+;LfWC}hkk7DN2FH}F-NC#BEC=AfMYE51KZacKdGKgBJ^B!IT@yT+S4RS>$KHSdbMd} z2cCZF)a~R~>e2nAfX>nY6`+B&@*vsUj(%b@f{zovW`F50+X_HAD&bd#CYhh;>Z| zNX&9Y(g>Mnc^2*_p3#3TubhuXDA^@u3kdMS5u#e3y?8d0Os3|FqKri8BNs$Fv?7dX Z>9L~p(fu*1#Ac=^Dj&O88)Bb|{{n6J8xjBj diff --git a/examples/more/03_ci_beta/example b/examples/more/03_ci_beta/example index a0cde1ddf69726de311e636d308d4c84632397ee..acc44574106bf3ddecc74fdbc2dab5f98097dbc9 100755 GIT binary patch delta 3964 zcmZu!32;-#8Q%9~f$$;8w=7@6NLW6=2iO)Q4i=H|lOuy^3>b)ObA)jlhPW964uyz` z3qi4+61JToOi~EbCJfUSr=}ez4UK_tWLhqB#C5pKAqb_!n8aM&e*2^c57C`@|F{45 z|NHOtzuotGb_zWwg!Ng%{CBg@dW$SXE(#K3Koq9R>4^V7!^OH;uBPSb&wwpj&F)mYE`_lrrg$`;<15V#h)~)4BAI5 zAx$ct4^}BHDxP<)l+`L;StV{;r{YH_&b@X(*cre%R5OLJyOt)=sM zRq|bKj+EL;7eVpA_mDCFLd4#$t@F^%*sKw`*dv2cyD*ntjQvQ+p}sg9_8N!w?gO|&y8!*h)UeBh@@!di;9h2~ZkVXHVkOK)XYD|nmEiLheV5bqL97xVq zo1#$rvFSogCPq_mbifcD2ox2cNv9`O3!~}Qq+G}&NjZ@BlQt#VkQ#5U#>+ckcqytE z8Xsb>jsD)8DcI-jN;8_ zYlmB@H>CjFCn@QW$5MWjCR?ICR^x!7cDMfptPT2+Rb#4l6m_P$gbcbi^{*)zJVbP) z)nE94G0FEIWeP^^wUJ$QX}dH+T32#LjYdeOO}3W=Gd*ORIKnIsJAPO)HI9B$NTPJ~ zuORK2DDyBC;DbQ8+U(k3D>@S7PYuF)8BuSo)hWZsg-M({D>y28;*KF1KFj49po8XNz?AYsbS;M4`urvJ4m3#*z=qCSL|H5Ps?D;R! z_J)&sRe_`GTK&{;9AP^vZ22eXcubvESo6 zFa2=a;~Q`rcIyL>CH4o}-ktFGXyg5EZl zHExk)SaL|}XtrALGRzxfY?0frMc-ETt-G%&V#tYH%lzLDSR z7o-KpvJO^tSihEpqg5R%59s7WM`~L|+&HV8tmx!`lQ$l!n($!hH9jSqr>)s)l6>E~ zg`0~E>A&EMLZr55q}IJU|D_9zxhI^ZnR(V{K1JO>2w_MslaDp$EKf)2+%beWXS#i- zoHN|MJI)%X@4*bIV~hv%i=M29*Z`eBoxYRzTGy8F2CX7)g>A^+X`bPpT2nl}zRFoU z(PCS?kc@(mYvJ@S`OCci!;CdyD|AO0+XyrPJAw9NjGYE<1J(jJ_A+)5*bO9jjr_nk zpy@bccHlbTv%u~X@CVvYGPW4lc#5%gz-?bM_FJIzPsHK+X~yt<;w3|w!a9oby2YMaBk!4(v}EF5e;GYGC&z#y;oz6~=A>`>r95 z79C$_tR2`5>;~Gu#RRoDtJa}12*MAH#HCz&gRxv-AJ7GCxrvnl`ft*ih1q5a3zWyV z&ox}W0IjHw$J2C(ZYmr-r4j3?z8Lx4){Lit^H@KnaG!QO2N4eMu3RjTTkyD!&|%{; zyqz#*LFI+J_u=_R2zLXVAKZK(FL>?cPZt-q&BnWv^cL}}aJ{Y~LXMFFt`=MO3im_d z{`uf`f^!7?^Tl)UcSmH(Mi0n7>}`mVSkSN$wg)HZ;c*#a%PBfAZmf43cDEcBQm!|y z6)W_XSM)}wUPo{R5uQzbuuoUpmj~>8dJkYX^)vP|x1(^*h)ih)#}}9v&RM~20r$Gh z1g78s7x@jNo5v@K`KRe;n#0g(Q{(cIl8@QqBwYt zUMVUR$wg`|ULrPKqHh;xi#s`Fgj>*XB~PYH^kQ*_*>#z*Sv=;eddmV#i*If>%qo%;N>!<>3Y>+nkb zdO_1j-z&)!`>xVGB~!wPpE3GfSu9@V3t`k$T3cw(=Mf1}az*(jPY%#T`8vcEAs0&> z-CF7u>bo+YOB94U`iYo8t0#RbG<1cRof5oCxS+QT8iJ#^Ow9!98WKyC9|N^jgZZ~i zRx^r!JW+KbAu#s>P?BP$Y!uwsq z3!5W^ee}bbdErXBU{w7xON?c~h(UDFk+br`l@!4!=gcY&S2CkzGTk(*WJK^6&{ReH zA8VE>YOZ}`vsckM(1IK8m_|22YY28#P5U2f#%gMwJxQphb7Z**axU$kJxMn&;BBV! HYSRA)53t6T delta 3749 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 diff --git a/examples/more/04_nuclear_war/example b/examples/more/04_nuclear_war/example index 522f037df559ddc2c8dbe0e7ecda4933163a006d..8feeb700a51e1d7ecd8efae7cbc1a3bf1fe6d4d7 100755 GIT binary patch delta 1545 zcmYk6Yitx%6vyYzE_4cEW(zBADXR?B7{D=x4=RfkwrGKZZCTzeDo!IJlu{c49?vbJ-sIlj-2ZvZ zx%bR&ypzN`$w7&vmQN9eMmb9(IjND|e}J8tKAF7D z`lfFpnprnvEg9M6d~ED6@67zcCOXpCx49d~>Bd7XT)vd9x~Lo1X!K@;8g;5{ob+)JRa=XISrb1JJ~Ge*wS|!VR(f!wR<__r|TaxbfXfb&G@E z0X@-zKA^aSBNF;qWoYxB8;V(I1nyzPiICAv|GXPA`gG;M2|ap(&=@7&I5p%(OuH7- zS{{rF`R=a!I$$)Y^FmDxs^mTCJ=YXaot0FnJw;=6s+-2l}gP~ zthP`|3#i%FRLp?^j;4@m_qA@!jar1RI_qgIjj87;X)ld6BqYTZz(X``5cFt^q(OdX zpT>g+OMMU4_3|T44K>xN8PxbqC$}mU*Jgex7*If?$0V!cDuC|0%1UOdg`eWH)sKtf zDiZE06Ypykq1gPq>4Kmw(~T~zTsQ7%Va<3@PGhrFl$VA)53vD~1((eOv&pD0io#@E zxn352YR*fgTI6Z>)SA`86kLX$MzCet`bK&h;2pgF`ZEB{$gRjYvbh~#jwlF`a{$%2 zr#}KDkrr|gdAI{01MTxV0k$Hmk-L$*kOz@c7eEWQp9knhHY59yRuaHr6NK!G05feu zqtJQ@U=bItVIjzR9@|DUlyWHYh>dH5HAR<7Rw zkcMFazXAl1^}PV~$jD91gKR}QhZms3?*K)^F#&QlQo4nSkk!Z!kxAs2$jBc6ZOFmf z0PYmDvtj-jnHJtt4)0(f#lfNCoP#sYbpJHc%GUVPGvlW)0`Khc7>^Iza8|Rue%B=H zEEdd7LD{iIERl1?uVjZNOBpD&;oQY~{8^-iJ@hXn&1`XCjHd;A;^7fE_)Aw~?rzjp z4k?1bBkNHsWU)Zj6N|7@ul>)$yS$%$6UZX%>_Q+*?C)X&fyv}emKn?;dzc<{q2ZOF z%j38V@bW)_{58DIHK_69@xisBma{{_F%#@p01EgaZ4-#>eqQE3)ez1$jLK#`!RLs? zyv1XP%7VquidHwy#Z-5^vvNBj{vO z$Y#;>%+1)$3QQ`zA-h-MEBH-PY-SsKk-Eruwt=S4+HB#M$O|c!9oxl#obkSGf$Wai zgL3w^VVaz~Ww<8Ki>54;KOnYhc9c%T?EjdTAq&U z$IBCBx4GhlBO}RiHmNFS1kK~;!1D9h@~UF=*jts8`rp6zg{rx!+5Sf^*=A<-KJjl_ CRyltF delta 1472 zcmZ9MacmQ17{r**n2MAM0|tXaK#GD4oH_)2eQrZdyyU*$-Sa)) zd+&YE<%~1jIK%s_Jk2tnO&%7J$-QY6X;XIe_=##~&W(9g2UcZ%g^cVg0CpF(o$BtFOvVWb+o?>v@-FB%WZbebzm@m zZ#kxFjc!+y{goql!g712>@J!t*d@DjyHxj#^5ffmok^}VoKm&lJ;$qKrNau3tFdjz ztac|;y57K3k68nB`d+}ESvgT%{#V;iW`6~W_H&ruwmYL}5x$wrl+L5pWbtL9aQUeC z(C?Nxu9GT;rX_agPSeJkx_`A7{28cIV=ForF&0=C)`kPMVePj-B!JyhVo$e1UaNW@ zVcV?9)uTH3`AiW{uQ^x|;Syt_CD7in@q3~uXRP}q(Z^s9Xn;nXs1&9xLqwZ#zwrm6 zb09lSGy%rJT+G*;A=(8-!F^yK*ay0XiTcg?vqTBd0LMXgp2(5HSj7lYaSH2Ti3>zE zrhu1=g56*bI0hQvMkIC`>;aRY>k83BQ@@G^ron#=4T1)^4UAtWI&SJe5?L*1;0BQl zcHbm=4cu}Ib-)CeJ$)Grw}~pIqX5_lx_&_+FbeJg$H33PEq92%1C22vS1MyZF*mq4 zkDVg&nsLaf4ij#ir8v)tO~HkEi4%BRQ+|BlduOdU&xzh(4v&g2f=-DIiIHFd?-Tcf zbNEg%TVCriu<4%1OU&gp*zk-0(;A^ohG$*xun5#o3$!~nXC3d+boX2 z(T}jorW`)$G92LymJ3Hew4}Hz&yi-F6}C_z-z7>yUjDh*6ms&U*nzP~^oFuLJ1^pE zzyk9yOHU>Z?e$58O%^j#&ljViIlMyL53Qcsvv~cR zmCK}QSH)9Re#vo7)K|4Y8?0K)`!UW>cVW>ulC<6sg-T&w1VPrB^&l{RY)E~BOgx-33bvSvSLE81<5ZN9gr2W(}XskOFl zo?;Q_m4*C$!NXM+1D}aSKazeSML4S0OA~(mpuw}vg8WKj5{Z0Lvx=`##HFa7$Qyu^tk%hoq#^7Sq`4kI!-Y)tTK0>s!MH1 zy8vku<5!6SC3iL*RrFT5IMCTDi|*6z^PP&ERi|3kpHagh*{+5ct-ecCr&-qb2lPhS zUT0}Mj?Hfv7()&OSUUrM;HcLKz85UHzv;ShrMZF5kesdRH#GJ~oh5g>Q4|C$R69g;d;*v{S zuuh!B!;|I3Az@V&d$T zNX&Ik`pgqx)2p?`RnN~~8T8gJu+ME=E9B#mT&45H-py^5-w`#T{OxCny1_267wnA^ z#X;A3qFT`YJ<$Nz1QwVCVGmdeM!`zZbAf0r*fdDg4#vUvLHkAI16K_ZeG3Ygh(?V4 zFp)h)XcKy|@T3TW^$O7{upJD6ec(>e6C>&|>?p($uovAI&3FMg6CC-Or~&M~Msxsd z`i1D4vHy)II~5oD9eF_E2GL=#35AGF>gssg*fM$mPesL#;( zt(OXOqNt10=$JCuYCy)Ek2%EMW%F|4XNZz!L&C_y3}FuOjb+nvD$fyB7-m(nn!J*z zV7U)-fbT8yJ3LSwhKiBQfoi}0KU)@T&D^GB1}{LFiyd;=O{dc((VvlwQeaDj2*@Hc!jSRZfkEt#?hEzEnQt6&`ZQ9kT@nYD9A`HM{8 z>&h3h?R7Bg$+SC=|jl-rg~Gg-?bPc4&7>?SX% zdJneKReshKu~jc&a9h3N7)*IJpBh5VZIj@Rd|tbi8t&$ wCzA78EQ5{l@j7Q(vwOm&nY-)#NYhg9OnV$2<%jBDNVk?vc;Fz>% delta 1405 zcmYk6e@s(X6vy9fffawWbg)q(*dkqQhgh27grJ#)M|-Nqy1;r(EO|w?^k}RQR^~|_G0m(-v>@{^YoBjs`9Fnf7)$%*?zdUvf#aJ` zewMYRv?na?cPlHkCgZ0mrlc%M;*o_N+Tye|sqA^}wWXi1`8_sC+V$ieOUjBvf?P{j zu2|yUW4N8Jb-Q=4`TL%pv+mWhbAK?hesObobF;4^s6MFN$ZIbtk!7QL6+!iiqTb@I zlOe7)I#X1|X{+PyY0tP|<7$PIdxsDFeP5NGnU=3l01IN(zY=lvB>&)YqrJ>aoyYXU z#r#lTRON?Ku=NyE)Iz1`{?2PMLKZ6Ri0d8n4!6tA&de~kY&*jvjZO!TtUi2~C>*qG z8&K3brz33HdK?*6S*)_t^(bJw?6kEj&ILu$-TAFC#%qTZ^)Gj{JW_CxvvW$MX~1N$ zOT7JkWF0X1==>d@#p;ij7yY~Qx?bO6uHFc;n-+TuN`&9SV%~bf6nijE6f7DQXY-x% z5azMW3DmLNV&AK~N#V{vEsOv0RVk6x8<$CvZ&Ogc=&KB>_k0yTbdN{!WXKy8_d~SJ z6tjB8q}- zpbMM(z*S%jTnC2E6V-uj7l>NGIQTJG_%q^x?~V|i25py!ru6kFk;5o8OHoYL7$wPd zh3Iv#3v2{Oz&0>6Ms!fu(SbfNiW@W~AOV;OnywNxfKjjqY`aEuRbT&3WJ|<>t|Ja; zyFqjWYy-!^IGB)>iv*Jhl!Oz31)%FDQ3cooZUy6i5cPu%BC#}=#e}ysolS{g=~5OK zJ4(|trq19b=*-+m!(>062JrNIKBGw{QyuTFPat?EdLD|FBiD}smJ)_L-?nj5W%!{u5(~MVofdgKJ+AiT3OUvjO!NRdhfb ztOziNX02Sy;8wHg7^Li~uXIDzEkkd<_FZT<%b5G)=~e4v8s%CIsZyU<|H>&QYZE$#dKL#5eUT=fz8AJW$D<`a_2Q0Kz%?lmGw# diff --git a/examples/more/06_nuclear_recovery/example b/examples/more/06_nuclear_recovery/example index 0a8f64230c5b892cdc9b05d03b29ed0c5bbb2a3e..e0c3992e68d3d72d1aba8d24cac76e523c04f3a4 100755 GIT binary patch delta 1632 zcmZ9MZERCj7{~AFHn?Td+uF`;Ahxms?SO1W&{bIArtNwzwlJV$RUy3TGUCEp2G%&8 zxS_il4VwqTGaP1LK9kF~Dr3$Xsq7+LdbxDI&JCJhc6fOf~g6PV{N_SMKQX+CF#e z?3C=wQXAfWU#rXb#AfaoCkQk-dj2@gnX}hU&T1z;J4iOo6@*Ps-jS>`%Glb%@#HA` zsBklB)f|&IknD*$!$!B(I^}2vStP#QW2O;X}(r>dnMX%9(= zQV|vL-`%)BsMfhlBF%Mf(bwhcX%4y_Ra9DYoF;4CE}AS|agXyVMOxDtQES|;Dyilm zs+}d-f^Lt#1vwC4ZH~Az{poj$8+1Zfo${umNp~+L-O*%SrzkmtI7IV1g3@qAl=+M^ zcVr{@LDc_n<8|Xm6C%yE?mVjgrjT1zlC#mc6a>tq4TnX2dLQSC|1!JgbI&wmt;g_@ zoO6V`(ldX{m62pAD-;BIv7(-pD-?A=j>+o73YwhS2zgP&`v?sX^<~<;X)8y6J10oS zR4DUe&re?#mE$kECe*wp6yP(s8pX=wP4)2;oVVcin@)0`0^7iDFxAa@xk(U8e&RfV zz2`J)0V((pOn?s9+dvPP0%w6b*aGIA;rug@f+@oe9y9D`kq3matC)_Nl=h&LzAklpLJgboj89I9?Rp1~YwZ#~wG-`NB0 zEA~TZEa_(FL-TX?q1(?swo}l9jvr&CWiOEyrk2enR@PNElWb>M;pfP1<`1uh@@053 ziQ!vdb|K;hdf&zfEy%x$&Q}__)>>SvaMKPfJ!t$CR!Vb8Evul;aYwFkzQORJmSWRf zi&&0j!tl}2eAY_sIU$Q@YnE&&{$PY`DQOrv*U~~Vs@ZpR63*IB!&$rWuCla)qmE`U zYcx)DZFTg`Oro>?1x0udwuQOGqj?ufCK6%(*fvOAu`s!!*(&A}c&%963&~%3fTXp* zDn}BsP9rbxB>BVt>PBhC_#QRcOm-p7zImmO?9y6a{qPC$I?JyvGV9ZZTy(aeI*eo= XLmLiHvs2YCm_30Z507SB{e|gYW^YBV delta 1533 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 B6k-4X delta 1404 zcmZ9MZA=tL7{_N0kvm>)@8m2PUpUKJ58pUa8lh^uI~H!v9t8CeYW<+qo_sKh2CO71 z7_{jIuOUuMATcd%OeBqIv70o0XcePXOyAI=H7asgwHIG1THD%+efnR}Ht8fgznTC1 z=b72($!>c;Z|~>bR&Hx>v(eTdojgBvIAv@$oMJ5D^SIODADjP6sapnJ*Kc(U7Pdsr z%s*ODad=1eTYHW+4jJ2%W;v{%Phm{NG8P-3WDZZ@6~+fI?dNGd*^F(S@KABQa!fAv zyvR%Bo1R_VX58>>;c4%`@O<%rv1ZoSN&J$WJFlt99|`FrRm;WN%i-9Z0rL_e{aRSR zFIw)_2)$l)=wUT`ooIE<@L)~o5mgkN@A%`1uBlU$Pfr5riIM9>LjOwaxl*4~T0m{b zt*|C;L0zJ2Pg$tt3=iu?;o>I^H#LMT3b!I|!P$cIty+^hB`TDS--=kh>K3s@pFJXq zhLnw`!}>ba9aT1*zzGW#r>1&F1GZ{vc57HoFYevxZAoyk_FP#1J+HSsR(MhHzHn^& zX{(aMMC%TmdfMuz{)c|WS@yWR`0s|>=KZD#{Z5GAQ*xSdMffrnh?bMq#Ni>LQ1O6N zylTlVj1ym=i_TMWcAGX9ZTnT3_Lsjp99uMbE@S=`A^oDiDy0ABkNA;25u2M1d3iYR zDbi+53>q7~`xM!kTDi}6(88EJ=G)rj_@1biGv@6hY6E>>7g%|Ys0VC5PgDuk{ea`a zPH+V5104wB>nBpdx(h@;Fb+mQ_m4z%;Oa|6dqH-YsN0+m5XHf6kR`Du=D0@WPQpQ8 zA=m>7&^Ji5%GBdT+rVzrtrv`gSHa<*h&g5hoc3-yy08 z>%dMh4xR#icM&H!7jJ~YBM6RrM6U7J2+jfHzYsNpm9i=@n|tK0Ko;+m9f6s=U7iSJ zO=|lN89*kUHx+}uc;1x{0yFcPk-xlWOAfFX&w>AGSD_u1{*uh8E@XLz8B5sRmb0mL zYcP$OyV9X~yjUqOy=LnFH3T{kV7T;e4BJ?IlN02 zpiju9T4tVh1?h#~Y-VH^YETEQaa3WWu{_YO%9u9U!Up8WTE)aTYBBwpL4aK_jL3}A z*LaV7y>v16$&S(m{FJ;<`ZDj6wz5r78p~$$-RN^|ZtU2AO7zNeWx11Fw}`6ESexwb zwRS6WVc3P$RWc)(#Sh9E!JMg&;Mrn&gxzadVz*Xe_}KKIrkY$6%$yjod-f)4cJDjm z{q~}klq!20PfC`0a3-&jM}om|%?Tp;pfc0wOr4%Av&(CEt+Ba$(>Pu$hnD7ZhjcE> z;=;&VrdTX@gYwnLd(h5Cf_$~%teVeZ3#~W~$yR*`{gLYXmf?Kkqne!@v*|0d&=;>f v!!?7y@pc+dmW|PTTdmi;F=MszNHhq;pV0pMUly#NZxewrhcGs;KV1 diff --git a/examples/more/10_twitter_thread_example/example b/examples/more/10_twitter_thread_example/example index 1960f0dff8c29af95b9ff34497081c45ecceb429..d29c37ce4fc5b8b297d311aab33b4982ecfc5eb5 100755 GIT binary patch delta 1595 zcmYk6ZERCj7{~8v3v?2CS2wo~1}p9&t$=NH$i^V9+iiP_9rDt#f+4)g7&;l4L1r>o zmI2{rD+~@8R6g*5#CwWImm-cJe7$dYTln zU9JWbap+IE*O8I$Wc(Z5t?zvH8#C!-i=V3>9o8QCqh<5yiVI=w3T?a{-B zjn$}%6x?6mu4;8kex#{RvHDK=x|>uby@JYXPSbde;-vAJ%N}rE5ti2^B3hN=tdOg| zz;0*Ac2#j1D=`NOQkx=*rJ!Szx6vSUMVGsyG_IVZq_Z?$m$1q?Dh|=KQ3^Mnu=@Gb zo_l^#JWyINxc*mhqzRFx8pT1in_+UhLeAMNE(HaJwDGvrP_A+wF1XCDdz8YzdO0`p zAjmmI(tUZ{Lw|WBKJ)#_lH^|y*1q?bg|&Wv)UOSe(fE{R$nzuaM`(c6SfbDNE|+%| z9Ufg4o*jKLZ%L^?Hr+X)>NP1BkL24E>`2judgBb|+i>~TPRBnc^(s( zv4IPm7lDG_2MhYW*>%fNEJIB%A9ic7tZ&IT?B2ZJ4~w0vE5v3bH*(J zo2z-4-{##q+;7Wo95Kt*Ld=!SPA8h22AfWUgz62n-ohNEF=FWJN~FP}r{A2l{X`0qbJErAF6K$*rX)9p;ii$|9brp>Dqpj82)Awp^O>Z*u-20w) z?>TeN%yysV-KTk%!V~wq+2gTaIC)NDRC%(BS|Ogpoo@e=<-ZiBZ8&*Jf0fFbKfSxk zHS^=)`kw3NI}b*!#<&NnG9`mCJu>M7Yn!Xg#phZ5FTBr_I#U_j`rIAWF@LY9%bw0> zh~3%Ew(BX@Wba0vv~9}MXrs03#c$(yw^%)|smUJ>nSWNS(AS(dB6Egh6(RGIVcybP z#;SC4v&Uf?p47E^Tk_0o#B?+4(Q{Ak`Te1(dD7K`M}dj4?|vlG&13qG3!5_oxfDGt zA1?L<)Mcjjh=p2?bHmIx3Lb8`s$t7~qYeA!_T`>z)0#Z#HM+Xtdp)w*jdzGl!cfAjX1M)J<+e87k_ z_9$v5)7#!g)*i)Ar|$SwXUYB2g1@%hko8T|&Cw9Qsb+3RiSSKYsJ9$dVvQq2p@Jc? z)aNN)j(Mydx0-osW~;QZn&@41+5>;35m`JshcW-kka@;m5i)=Ehy6G`Ju>$qRa&JbMz3(pdXgFt8K+2D}WO1FMIL#-x53g~Y>;zE*+kC!$)=afPT`>fn7adX*?I z0qbi->%p!Y*e9VFiARaz$H4&lKsH7c2CKnZ@Ceun`fd{K1G~VlKz57BF&-x%b`;I# zz2dW?6kad-ie~Zk;&xF=TJ;IUaZ*o*1Cw@Ky2vVaEzxkkll}?G$RS+v%+sFHdNDVi z(KM_t;!^s>rs5K>10nA-_IxCp^FPgiri+ncSH?a>X3BDOyW7?`!L9_8m`vOVty?%X zS4J{gCij5DXB&nil*I7uvQMDp3%@p%za~~|Gx#~ttmR}W=vM$y7O*>Z+JbiXn|6oa zuCR1Si_qYFF{owo260<+c~8NcC%qUlXRCY>E)cyX1q_*`16r+^8<@(YA{2OKay|N- z^*D-xqzAoj7Y70_^D^;AU@0FE1tkl4SZpbIiC2q{O6s7b1!vomuZrh`(-YnJ$wjoi zN^A_yNZW_zSIW)m?Cv!vG8xlUyaZ$7Krn^piDSXcjMkrtHc5|s{AG5f3{&}{j6v4~ z*Iko~?Ah%Jn%%c^oZp_`GQPqd<#7qZtIx8_4=z{Ch_?qZCy@chffxa!xPKb1*HMne}C44>lP$76g_b?SkCny G+WrRA#}oVj diff --git a/examples/more/11_billion_lognormals_paralell/example b/examples/more/11_billion_lognormals_paralell/example index f46aaef4b75a713a06560a0f450a59ca9950b7e7..aa06dd85d2f32aab4fd9644bacd3a50ffa73d111 100755 GIT binary patch delta 3938 zcmZu!3s6&68b0@i)PRtLcM?ESOn9m!R0OP4VuRdZP-;=Zs^DWCXSB+6@YS)#k-j3* zvYg#nhq1G?vyZN`Tj^qF>~>Xr)JL~=DT~&{7j?C!)paRim$BNj-?_=vYuqz)|L^?Y z|DXRn{&UZ{w`ZTw(=W8;2+Mw+d&y_F61gZyj6q!hMDS`E7bs=2e1KM6P*+gh?g^Mo zRYALH@uN5@26dv5k-j0s#fDt7L$2A2=^o*WIEO3f`4H(2v0ib07?<7^*Ct&2Ftgpf z`Ezkp_qVx~MV@<=HRpfRy+v~%!WRk}8ZPOI4@R|y@r@x~*ATQT{)&FCKFIUA1&1Eg z2UUDjkdkE}#QS)IXq90|)gVsAkE-}26<;0V$AIHWQA(|fSJsr<8dN+I=u`a3DwRR| zfF-0+#q+@`Ws{2MohxOVidR;N+ul_1k%}|#zfENr`@lfRE)^f6;yYEmUd6w!;teXk zOT~wFuWa4V`Eopb^szD(6g{d2p|s0}lPW$z<=hHhm5u(rZ0UBI}i!kLixe z9<0y;dYIW$=5*&7(*)maLJa9{LT($z-35IIn_I2_J50Y8re6%x&xGlx!}L$Xbl-t6 z;-fJAPht9R!}NE;^k0VQtzr6WkLvOER~{wo>#Jy8T$O$zA^Z9M9X2e{Zl6f^#T67} zreQ%_WA>(UC|$)+60dj(8EJzWi7-;DR^(7J+LS1@Xb*a+DLz#P52>}V&r7GprwU$L z7e6is6j`4)PiiiGiB~26wWesPrE~+7z#r~27FdDU$F(ndX=i+nFoAv+|ACN4Hz(L3 zf1R)n(vUa-@{rkVh}gJc*kE+qbi;-^?RU9!MdE%Tm!>7XBjnIelJX$o)t(%Kiaz?4ia~|Xkb4Rir+hhAS zyuibTMKJ@=(6@HLPIp_f1Uo%u$$-3WN!P;?c<%?s_@D~xG$F+f!_<@l!A4(9xhRaM zvr$(*p1=-neC>SGbLGw-JSUEECqp_p#E-tf64;!5a+^xO`wm(h z_xcB=|K9fchdqY9$34x*1*ugMoIR3X??c$TIEMlyXyq-rz5cIm{}x-Zw`Ge>=RD=? zYjN8WR!WAor=`{=n-#CX(hQZ^)|G}ehcVh|d{1Qu3K0Vhj4fVUM9Imm zj^=;d+WdDQ?h$onrtS? zf5Ri(T4_jsl`jgBTAr4gkLm&=Uo++@xkQumZBL&>*V{lKxoH}nN#jYx&Dm$6+yE3gab_>!>;z)oN-u&s}=lfW+EC~y!M zjkn4855}y(ZNSOEu71XV!8tD%<+D5`q$?kYxFO_X zT}MC4ZNV{@tL1Ylz$SnL4({Dhdvb_<*^D4Y9?6M5DPIj(7(($ zWDZ%erR2i@K?J#b+Wu@lmgC5?Z;7cAo$Ibx%5AC=k2b>p8BnSm>+zZ8%lzXjG((QV zCqVDICy7P}%`Jah!05{BAuTg!iY5nLHuIq9aM6s4jo>;eCUNDnihO1G%CL6eoQsvS zL*u0137zy~NkRkB^LxlWo{i21#WRS5*psp1<6|0mz|*;v$A#V9=2>ry6+WWx&d-lh zb_7N>Fu%xH7K#``2Yqruew4BcFv^7srbH>pZ=69p78FH>7SdEj2OetHDr%{HV9Tze w3!#N_T0Dn#Kx+tfRZRyTYQ}16shciT(}l9^fP8@t)J@kd4SHMX(wg-D0W}E1(EtDd delta 3745 zcmZWr4Ny~87Jl!AXh28;At4EYAQLqB2Vry@EhuP!hX$nz5?r^ol_H&Om2vQI$2N{s zONy~9cX!5R>@GUpt?P7mZE zKRr(i=-aW zFDUqg2qnpIl=rg%i3-DA#eftAKdj(Q3cf1Jj|Rs!MQ%O?FV~dWUQ_VcK)>wIH7X41 z5tiec6g*2-ZtE31n_O<26uev|W@}aO@v<|Uzg=M%Gh*Pl9SS~4!FMTmt%Bd9;B^Xq zpMsB`Udh_S_)~2X%UnLo=wWQ{S+XdSef7B^joVc?&scng|K6jI`o4&-_h_qlmzogsy<_yfw(d}da|Jtn(a#g8Gc7Tk1Zz`Zo7NCdy2hK5aACMkc>~w5fj2ee`1lR+U|>)BTtiBoJ^X0$ z)Y+3*hBr1c%rlxC%XMjRFL{INwo%=WavN1iQnh@?*ix?wq-nBE*rX!cC%@+}sjdh- zu3025@An2Lon!B3Mc}+Qa7Szz@QHzDhd$tSnCr#1)EuXDN~#^A>(p-^JPLRmHr-#2 z0}{hKe_-qWTHNxlW_ziNwjW`4TzD(kxdG1;uA=4dyf@(XPJguKiU%Rx-ZsQ_{lj&t z&Et328bsa7Z^dA(~5;(k8sf&I^?8 z0J?$ufZ|0;{|)Q``ha^dX$Tks4g-gQi3s9EC9{A#fK!2?%am3D-B&2B2d=+LDSID! zu2H%Z=(|p7FVhDoy({2*qPaz>9-rVwU_S6H&;vBz#>BuKz_%HHhtgJ{W{}deKsRsz zDE>&P8(&5Zc4s{>1l-T`2PhRV{6ECO2h#VD()WQO;69-H5v8ZqlQ01~10aThaX6Wc zcvBp}Ft8BleoAROaL-fHFnfa4hXUoX!h1$bUnd8;Q}MK)BYS6$^S7SIa+o>V*oUVX z&nCvBZgOKj+wh!4I9vu&GedUasmGqIV9WxoeybqVYH?kLo^n67|+s+WaS*IsR?`cbH<}FlM{J;bBX+Rj#aq(1Njn=dWD>slP$Dg zB@gFJ5qhta37$;h?sYQPler}S2BmLGVva+!q2Dd?CBD3U!bKIo# zWmW}M2CvPkV+-TF?14=jAjdrOO-}6h*yu13xDO`JZ8ENOuAsR?R+r8cTJMlAN@oa( zcggM20>L~;vddNqt@p^`vg`yWMu^z;Z;9B;u9Lu!&j|7j_yj?Y0n-z?kt#xiwd$jpmN0n&Z zEu(9+?Yv4&c9oA8x*m`d7a0&g-wbk|K+AfRE{m5 zHERU8tV*)G($6pG&Yqvf^OfXt!9=PS9N??E6ROVe7CBthTLKk_E1q0@#ppM1@-O!D z_EgSSpkyL_6=xhtM`=}YCZwTcWdAfy{-ak~RX9Oz_M50-whM7?vaq`R^_Ywd7{hZfW@M9My|}VGiGQ&|v!ys} z1>|8h4tgG$Q1cOw>}r-lS{IiIp*-@&;=_X3MY3zxf$OZD!ju!Wd2;$v?hqg1GD>E< zkxx>5e}L-&p9m?`eG0j^Zk;Qp7#DEzl7$y@x;Mg;g-iN)Pq*c#AB^GOB)b~&666zr ztoj>X(&tC#j-r{2U6Gd{p8{mLWW`Ssh%`1__tmO52`~Lyp_lg7n diff --git a/examples/more/12_time_to_botec_parallel/example b/examples/more/12_time_to_botec_parallel/example index ae9c70dfdd4294f4e8be2f83c9bebe84177c1220..8110f21117a7627b4ea68640ba583b10f6341bab 100755 GIT binary patch delta 1634 zcmZ9MdrTBZ9LIN#qwYbyJ$fjImV#xCTz%YKeDv^_9IW=p|o>#1@_=JZfQO|s@rRk_PPU6 zHbeyrZ&$afdX4N4*4N0Q@2s!8UX?Q|skG@k8js0&G`?ir9nLE?X;UJoZaH5?Poxed7ipAKjx-8tW+9R@?VI=Z(1ik#n3M2gNSVyFk}@+?GWUBHf&C z$DICvy?_z$0T=}xu+u)_Z*&R+-pU<{-` zbKYj^H#iqku>o)~h)d#crY^(7_#KHLL~e5au=ZC>0 z*beTy#kp$&>}*f*Owz|%inB-&J6k-1_}Nf#R<;*6?7)qUH@rom0bhhoD{(HVz&%eK zGntlS_?APVajt zxhHDRvz$${i-B~(T)hTb5*2@AEEE0)g84dBv$~`HUQ0jxwRFL>9flTViaM1vuvgW5 zBC=ho2j^~4b4iq)N8ikbRHxf|ne%yLIn8x;;{|x3?HJR{Tusmpu-TSGm*KZ_zw`wnu)?xMWH+lWn@bwm=VhCrWCvyv6@9)f4-r>T_I+$i zAV0eYMPF^^+HB8TZx@A33|*-C)9gqfi)>(L0=YTIe&Kwp=|k;a%Tl|z9K)#T^DE~E z7@^KdrS^h`RK@Py`-Ecm*G*VzZzL&E=B6`n)^ZxKHsVRKq2*5FU|PAAxk3>O^%+}3 zo2($aUOtCVma!s>G#l;}?^#GIYpM7Ek`fMBihRcV;RVF>JGJU7h`UxFLhp{;B3(xI z%e5qX{I_my&}@F}EW_dyC~H}hAP0;cuO!mR4W?9i(x`9L1|^nak}3 zOAi)|j5{>cWVTwLblK-lVN6Tq>@PI;=eFeXelsv*2cH=AFt+)j5vS|%XT-O~kMh%E zq<9P8Wybv*`NYyk9t2Cwn=`+%@^#|#(zdo>ZN#`+w_Izypr=auIG1bs44i%P*H% z0rhD^y~iT$N4aiP=#_UiT~krALQkS@+3~VdNwv*a*rYi(e66M8KChNq@aZk0rigRH z5#3np^ENrxAHWIooo>}vJX$cR`aDV9H>vX2>q>iuYmFy$;}8F_npF8YjrZ!Q)+07& z5z~^d;nX9xAe|WrI^Ch$HI@Ht`bFMvs%Bh|@Egve1g?m@oOxRNL0hKq3Q?r8Pkf;G z)SClDnGy(1rOu+QGL1E*e{)X#JGfF$El8Fy7F-cA&IRit#_z$}AiAfeX179KuKVwy zZMMvk%O)w@DLN)Z-(7gf!kFk^xVdfk8=^F4%+*V@5A=e)pmLH(M^fw*(aTsjoW}WJ z47>{_Ko{a2pbzW;E5HFT0lLl*y$3D?JHamSGZ{ZibRLYJBO0`@HkSU5$Yy1%_dE)L zu?rZRT=(H%(A!V66HI{nz+vzNs9Yu*0K33jQb&VaS;+sMr~!Amp_eCl+hj)qtp%y4*;aPk&p3_AlY~vlm2v6sO;^S~$e)*3? zD^ZcPIJ}LhUx<$iCf+Lg!bSXqxEIcwUH%i1DsK^TxVBqVhvyw@mBX9Ls&W)>%T^uA zo8y9xiuUn!jx@Jsi=Z}xE8;~h%X+0WP#%9(o*EOm*w%a z>0kDi1?}pt-3}>O7q$#5=G%31xy<`=#TO8_tlWdAzkY}(%=}etJpaL;uDrLj3S8K2 z$z_V@e)cF=%~zf~I+5=X!REk(+sar9ioMz#LYV{20sDjfiukMf346L~EG2DLuG?ez E7ooZo+yDRo diff --git a/examples/more/13_parallelize_min/example b/examples/more/13_parallelize_min/example index a6bce2c845403917d0f9054aebe2fb240fa14858..c43ae15c9fe792a8999036fb01c0342d6f0851cd 100755 GIT binary patch delta 5701 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 delta 5471 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 results_quotient[i]){ - min = results_quotient[i]; + double min = results[0]; + for(int i=1; i results[i]){ + min = results[i]; } } if(min > result_remainder){ min = result_remainder; } - free(results_quotient); + free(results); return min; } - printf("Minimum of 1M samples of normal(5,2): %f\n", sample_n_parallel(1000000)); + printf("Minimum of 10M samples of normal(5,2): %f\n", sample_n_parallel(1000 * 1000)); } diff --git a/squiggle_more.c b/squiggle_more.c index 6f63de3..ad51b9c 100644 --- a/squiggle_more.c +++ b/squiggle_more.c @@ -326,14 +326,25 @@ void parallel_sampler(double (*sampler)(uint64_t* seed), double* results, int n_ int divisor_multiple = quotient * n_threads; uint64_t** seeds = malloc(n_threads * sizeof(uint64_t*)); + // printf("UINT64_MAX: %lu\n", UINT64_MAX); + srand(1); for (uint64_t i = 0; i < n_threads; i++) { seeds[i] = malloc(sizeof(uint64_t)); - *seeds[i] = i + 1; // xorshift can't start with 0 + // Constraints: + // - xorshift can't start with 0 + // - the seeds should be reasonably separated and not correlated + *seeds[i] = (uint64_t) rand() * (UINT64_MAX / RAND_MAX); + // printf("#%ld: %lu\n",i, *seeds[i]); + + // Other initializations tried: + // *seeds[i] = 1 + i; + // *seeds[i] = (i + 0.5)*(UINT64_MAX/n_threads); + // *seeds[i] = (i + 0.5)*(UINT64_MAX/n_threads) + constant * i; } int i; #pragma omp parallel private(i) - { + { #pragma omp for for (i = 0; i < n_threads; i++) { int lower_bound_inclusive = i * quotient;