From d3af874403141eda80e8d6da18f807a127ec4313 Mon Sep 17 00:00:00 2001 From: NunoSempere Date: Sat, 18 Nov 2023 23:54:31 +0000 Subject: [PATCH] feat: start adding paralellism; recompile. --- README.md | 9 ++-- examples/00_example_template/example | Bin 22496 -> 21760 bytes examples/04_sample_from_cdf_simple/example | Bin 22816 -> 23064 bytes examples/04_sample_from_cdf_simple/example.c | 2 +- examples/04_sample_from_cdf_simple/makefile | 5 ++- examples/05_sample_from_cdf_beta/example | Bin 26896 -> 26904 bytes examples/05_sample_from_cdf_beta/example.c | 2 +- examples/05_sample_from_cdf_beta/makefile | 2 +- examples/07_ci_beta/example | Bin 22576 -> 22584 bytes examples/07_ci_beta/example.c | 2 +- examples/07_ci_beta/makefile | 2 +- examples/08_nuclear_war/example | Bin 22696 -> 22704 bytes examples/08_nuclear_war/example.c | 2 +- examples/08_nuclear_war/makefile | 2 +- examples/09_burn_10kg_fat/example | Bin 22608 -> 22616 bytes examples/09_burn_10kg_fat/example.c | 2 +- examples/09_burn_10kg_fat/makefile | 2 +- examples/10_nuclear_recovery/example | Bin 22904 -> 22912 bytes examples/10_nuclear_recovery/example.c | 2 +- examples/10_nuclear_recovery/makefile | 2 +- examples/11_algebra/example | Bin 22528 -> 22536 bytes examples/11_algebra/example.c | 2 +- examples/11_algebra/makefile | 2 +- examples/12_algebra_and_conversion/example | Bin 22528 -> 22536 bytes examples/12_algebra_and_conversion/example.c | 6 +-- examples/12_algebra_and_conversion/makefile | 2 +- examples/13_ergonomic_algebra/example | Bin 22528 -> 22536 bytes examples/13_ergonomic_algebra/example.c | 2 +- examples/13_ergonomic_algebra/makefile | 2 +- examples/14_twitter_thread_example/example | Bin 22688 -> 22696 bytes examples/14_twitter_thread_example/example.c | 2 +- examples/14_twitter_thread_example/makefile | 2 +- scratchpad/scratchpad | Bin 21816 -> 21816 bytes scratchpad/scratchpad.c | 6 ++- squiggle.c | 8 ---- extra.c => squiggle_more.c | 44 ++++++++++++++++--- extra.h => squiggle_more.h | 0 37 files changed, 72 insertions(+), 42 deletions(-) rename extra.c => squiggle_more.c (88%) rename extra.h => squiggle_more.h (100%) diff --git a/README.md b/README.md index 51c0c67..09489b2 100644 --- a/README.md +++ b/README.md @@ -301,7 +301,8 @@ Overall, I'd describe the error handling capabilities of this library as pretty ## To do list -- [ ] Think about whether to write a simple version of this for [uxn](https://100r.co/site/uxn.html), a minimalistic portable programming stack which, sadly, doesn't have doubles (64 bit floats) +- [ ] Document paralellism +- [ ] Document confidence intervals - [ ] Point out that, even though the C standard is ambiguous about this, this code assumes that doubles are 64 bit precision (otherwise the xorshift should be different). - [ ] Document rudimentary algebra manipulations for normal/lognormal - [ ] Think through whether to delete cdf => samples function @@ -310,11 +311,11 @@ Overall, I'd describe the error handling capabilities of this library as pretty - complexify and use boxes for everything - leave as is - [ ] Systematize references -- [ ] Publish online - [ ] Support all distribution functions in - [ ] do so efficiently - [ ] Add more functions to do algebra and get the 90% c.i. of normals, lognormals, betas, etc. - Think through which of these make sense. +- [ ] Disambiguate sample_laplace--successes vs failures || successes vs total trials as two distinct and differently named functions ## Done @@ -373,5 +374,5 @@ Overall, I'd describe the error handling capabilities of this library as pretty - [ ] Consider desirability of defining shortcuts for those functions. Adds a level of magic, though. - [ ] Test results - [x] Move to own file? Or signpost in file? => signposted in file. -- [ ] Disambiguate sample_laplace--successes vs failures || successes vs total trials as two distinct and differently named functions -- [ ] Write twitter thread. +- [x] Write twitter thread: now [here](https://twitter.com/NunoSempere/status/1707041153210564959); retweets appreciated. +- [ ] ~~Think about whether to write a simple version of this for [uxn](https://100r.co/site/uxn.html), a minimalistic portable programming stack which, sadly, doesn't have doubles (64 bit floats)~~ diff --git a/examples/00_example_template/example b/examples/00_example_template/example index bfc34179faf03f99d2f04a9131ccca9932df52bf..2e60ccc48490a9e4a8bbffba3c76116e130861a6 100755 GIT binary patch delta 3773 zcmZ`+4Nz3q6~6cFF6^$rzFl12?&7k`3jU#hBE-}z?jpjXC@X@-Xd?c^K!af$F|HO1 zWo_HcseIGMSDsXp^`)#0ZfI{-m$xzW1&rq&>{r z@0{sbC5i-8Ac4i5(|%zVjjAacJO7z&&a|mkrVVT~J2;|K zO^!rVZHf?wPpx0IYZreLe<`STH?&g88r7nrT2vH{(D!`dTs3Aao>6IXhQK~yN&5dA zVy`yDUNGs_jK8&L)yb}%D_6C@(|F>mZ9hJ$*C&mKCfyW!686StOGvBIcM`m=n@nGU zOF9Wey#oUHMD)3|176mb?lI&-e^?LYhGN67x8`eWjTv;T%$lC`Xm*=o>&RPZGoknwL1eK^)b@hX zp4n4*p0zzAVQsr2T4p&fLT7vy72s67LJ8;^<<-MSMhTjX35ngKSR*8wBqwI#p7f6Ln!#_95)#b?rTP62HF-+F(F@C(r%;uTH!bCV`J=(z_ z?PKicM%gKBz#XFqW^XBkTh@Sl}Y>_r%Qvm?~*uR|r&Zdk|Q{*gv| zXqO?4>Cg2xn&f_qr-kL3S3Wapj+XQ@fqgtd@ajEmX(Ie z31D$Lll5Dl8nTGR8Ais+^znB(x!E%2aYQu0#{T-nUNA&XU=RpP@A=yX)jn{dgIVLCCQ_WT|sIkVz^C1Iy; z!93?AdIB~&%Y+#taNIf3F$H%LO^+z#tqnF*_r!erp!u{wCcHCYIzz$w=SVXhtar@G9gcExR2VTZRUIfhlY0)hcM0?pnCd+wqzyu!w~c-u9!jsEU&7J! z)xu|AAmxVzzT9am%G>>a$RZ@TysYhmV0BsBaIh-acDFjzKI7L&FDsw=b?BJ^V=U)- zPsQ}(I=pc$aX)V{>G$O7*)4~L+_Gkxs+-HoGUkx?C-_F`piL7amqUXtZ7 zq8G6r{o-X=u0=b5*n}8C>_F^CJcuZMBFnvqEr|a>?EO@hZy=H@vYddM))kZGTvluc zl8 zIMP&&WZX%7-W3Nc2I%;RZ zk6H+|0a%&mG1Q}03p?_%3_nF}FC5EDHN2_BozF{sP)*qV|OZW!lSQ3~p zPLH|kKyI7D5Q5Vp4&?44Hy7iH&P|iNE0fr}rW~Ky=<^Oh$?PKKoq;u(Jc|^$4(kev zjPIg4<+?1xU?5pJTljNTF!2|c2xb0xR)-JcQLsEHQVT!vduRk+_vg@Dxa#)^=Lnb! zvu#oBy}|lt@*#nRg=w}q+7|Ggh{nP8!X?xJ=L$W-Z3A2@+(@Iablw`+8BBl{QwA6V zG3BW+he{b;y?<)$M*wSKYA^+~;-aDvJ z+-;s?&TqhE3k2WK>~M?{E1m@#lA;e@EuQ4g)65%eF(_5qH$nh;FB}(=o!6Mg_BgCY z@ZZ(YxM7XfxTN@qO$vqOdB&WEbnnxnJ|>rp7488`T){;{TZGF!IV;s2*skwAPBLv0@TPuG(I&0`VfxQWJ5j z1ixN0IPX#U>1Z=~K;t{K&pBQ>O5x=a2_hv%Ygf7&$uIAB6;D@593Dy$Zk0}MzOJo> zf8{H64jb*(`mPz%_dbp9*5=5s`yu2-;v(XhT{_PD(atEpYrj``0*6bi`R|}^6`bE{ z`*+?}+bLesE+enz^DbLYeiEJ;mN%l!iLch7@nQTnVX{C4l7YNWIa>iOqDzZdszp>l zXQ^afqj`I6J-&rG6gDlI3l|qj(&n|BBK421X>1^x_C&*z__Yt)%3p=Ki_@TSalSd) z@Z{#&x{Zx_v*5;Jw{COY6Y#*2$9qmJIYN6L4zH(p@lG$zvE~}o5jmcN*02Y>m7?{w z=HZwI!O9$~L;Eb}SOcw8ov`c&vibN*JYm^Ji`Skg+^W9M%4nh!~-0MS;0Hq>`I;@broT O(?s@CL2&`C^!x{FSwNxy literal 22496 zcmeHPe|%Kcm4C@(AdqC=+;h%7_ndRjz3)!uJy2S{A~PdHk(WvNnnE?}6pnF;23v(F0JxMz zN*?Yrm1~p7LOorJ4ZvrH~0xG0{S97!?q12Ed@uj;uC-D{u6)Ue3 zpP7oHZiGJ)9Z4wL$Xt-t*%*Yp2}u@ahFp2K7la zbP>OFG1aL&6(6GE<9`q(jw5))_i{7Abk~z;5K}pcG^{+`1{h}o6_KSrok@+-iD9y+5kiRHNp)afGrHbA1KYg%Jt9?gDQItj<+nd0*NSCITn zB?s+v$^0+#?uZBqP2_ip-!Jgl6`W7vW&P-F98bAG<{H8b>F{C+WQ1WIelo-G+lUS? z$3!ioIy~hac{K?9L?FbFSW}x0ug_bZIy~h$d2Q3-*?KG*9@63Ud49JJPkqa4j}9+w zL~VO@c*(N zj9Xyb0^=6=lUd*c^_q{hu6MJwUFO%9DvH(}@@K{dwXQ?i2bm7B1@nN8#%A9Lpw3i? zzJXezkrT04Y&WaZh9DX_60g%nAR6h7*J+~?jr=5Drwu_g^22zYHUiPex8rr%07N4X z#_P23M$KoUBi?wOHayYD>Uf}xdI5`~Qy^(BV-0z-YSp+4JCpJAv^H`MbCb+e)VDUJj5`kXV=&lu`&8S2Lj^dfsh0v~VjnX=%K4O;M|)^%#6qO!clTz4fxqbKj|6$F;_!%(s5Pe8%4N@ax7q}Y%;a~sJ$C?M#+$LJUQ6@fVywcv=>``%Kmchsb1Jg*(O z=${4wYlVR9*br2MA0$7;+qNattOTxKt931zM@238mOoe9wPYbG;l&qYv2ZO^eBL}4 z^^Ci~o5Ua4j7Fgk$&0F16`u(QXk2w_VejTi#Ua3c^)Xnc&M9r9&UCSO*fmiL_G!H* z^R(hVEjXz4hVx}<$gC9)1}6qXdVRIA3=`uFU>($g6VuV74PBiEJujUU^qrU0sb@n` zO}#D@Ro9v6*a{+CutZkzb|~kU+p`f6>O*ucpx3-FeELExMngD# zmEcy_hg8Q=)!F}ny84X|)ck6D*5*wRS7Og5x)(tgHh)T@qqD?wNIt{=M1CbhXa@?nB?G^EWF5C>|hP!koqj-U>(6{ghf*_5( zCU#z{AE`M5ibvIISYur;H0k?ne+?gw&v*F8fj(iy61x=&GjkU308G>OC4KcBqpxZ( z#i1GbD%Z|j_3bgPTKWlh)l$%sX`^FZmAm;Ha8;I_JY@q}_)hR7c`BEWe_e^a09K$8 zbsciR7Cir?_uC!hx83RewVwR-^N(Y($Tv`u@|eH=6!!ZPa^t1!7yCW8U##E{vfmKM z!dGELm$qNT4l+Lf)5ZNCWWR4h!!h<-Lw?qRpCArxd@6@a*+{II)rf;vFarl!sH^$Y z;Q95v;n`@{c9{?g)9h#kcOM4vBE>A6-j8X3DBfVUV1$@IEV5~G=bgKprta8`$D>l0 zbyKCFsp>;NFoyLb5GdSIj!>f%^t~~0T|dhGQV-%ZaecMA^8xU&G-QQ9^K#IJw}LUr zIai|zlN-T};Z$YW5!<#qBRfGR*T1xR>DEic_w5wl$3B98`0|xluh)k1_2_nODz=-aW4NEqMVG(i28tb5PRo?4h!Ek@Cev1xe5p67RXjT4PNpY$gyc{Nu zCm<}Ka^awK9g1Y4^)vF1iTiJt2_`)P9gifb!w_TFamb(l8R>BrHAviU57)tGyQM>cN&6%>WjY~k;oBiqw*!2&ir+|3Zy z89(A2)iiHu^>iEr0XQ%~3fmb0F1f_+00v8GAw;M<_F_lH1OZE-ji@fV6Dgamvtqx2 zbyn^-u!dlry$SXJlX)H!iFku9RlVVxv2p{=s@56P(a7=y1rsvD>q$mSvGF16zGPTf z_u-&2-1Q;JO=t%}sW(Eyhr^G7HnM{$LK~Cte=}anW|5Dv;Omxq_I$He3x0~+2mKj! zkZo9qS__^9F3V1q54UslG@A3)yD(PDaBz*IPrv1&^(Y~)$~+CaLq@JWJP-U_ATx#4 z{Ck`iLQIxDe0icrAsf!xKWZ* zLd+K^Yop{8ZE;`V?chk)(8aE|Gq91~L*2f>_9wV)Luj)3e~@;?XG6osbp{gqXWE=h z==wNg>$P2{GY`=7pw`uwiM+uik&&K9uNlv+pKEppzC=BJW zCAscp*rr#f_W&s!$5W*^M7t|CF47+;WT)%i>prhO`Yu$5F6#C(CG-M)3KakUH&rTq@J2PWY!zt$w*qT}NBi*Xz{j z43hPZ$K5oQWLu}bfE+)Fz<&jlzePXCkk#Kr2S^yJU)j7ECE92zC0BAYNZ z6Mj9#S`N`r8P%c43bfNh0UD4WC_#mvd7n*N6cOIkKvFUP$$suT++QyXzU*FG7W~v* z=?=cOc8wPNfCO~EqCR>W(SXQMx4(x18S?BK?3wRm7Kzs~qL;8|NpJ{(S+aOY-M$nO zxJ3`%QgZ>CA&-^yzC%eg%U&Lgg4|k3kc|s1E&?&^cg$tA(w^5BbF&w_I}779NOc?=zX8l~_O z+;rKlj^!)T|ALHh7aTg{R_Fydy^cXz%XGsku`enP$>$N8ITSv$XY9`$D5EFRu^MB7 zZxc&5qb?j(cm9@1EJPmSTAgNf$4SV-9L7YPe6k_-qU0+(r~NLh0}I>0~lypQT}BfvZ5aZF>OY$D~Y|j>wbF?B%zFZrQO;M zwWhLO$h9Cw_9J3sa}fLO6^x9C(Tr8F`y%XuTD83j_a@qMV0e4o?vxQvTTA3F^0O}Jze7R);2{bZ5%=!9utj$a;nUAXx0xl` zZJ@&#oX6FN>j=?(H|~OtEJ3tGk((JUqF;{iZj3N8L)s^S_YvMa7T-nqGmsK4z<_0b zWARP-5mvKlyC&-b7Xe+2gMfFmV87NogvYdARtjSc=A|K=B%(CAa}_cTJKIDuT4x@> z@qhRb?T(QJ5WTIr_Oc*KNDVlt0va3N~1Wasu-+y68F~&O^i6q<(Q?S``|8 zGJJPf%*QWQ-z!Mp*VqBb7pw37cZ9xQck>MLOJzZ>f~SddYhZ0_co6Mn!RNK$!SbGc z)I|G^;90HfV75E<8s^pV(elN^fp?!ps3L?u`o-QI8I=A;VTbUIU6lB^M-S}Dp(>&?eC};hg)$88Xs2hMJMXGfxAxP<1e*~QL+%aO+uF2AgLRtP zLMP&4zX+$&eipGv`|@=-k)S=UlVTbB)71l;%_#L9#F%J7q8%v9WH?(2&xMvq0CdVk zoyYg0aQ1czd$u3_KgjgYcQUzA-WyJ*}sjAjya$Z++;kQc;Vr!MQ9!_;6kA< z8pUB5t+R9#ydiHgzWss)uq#++KA*+bH7h+_C&mNW4z%Xk7$q$X-~~S=^YHajI1(ok zHkv4XLf}iVU2iy-t8@yDeD4lP>ya_G4#7z%BK>W}HyAoMCDzjTe(jF(o+VRfVHbvN z{%>fTe~z~K7uIS$bF+Y6Q$B~DkF&%7@+Kx}@24jJ%;Gmho+}SV%Y*Ng1mAJTrX5El zV#jzjPe8s1r13;xw~lefuM)7s+4zil?Q)Z6?GJ{$hgwBF~pp(Wt6 zwY2(eb*+JxS|+eA&{E@XY;A$?O}_RHpQom_PG~;zRZ$2P%q^+>WY!ffULRWe^S`K{ zbo=VbqCT>8ExUe=e?Fk=T37RP7oYw{bg!t7{1V8aSnR)E5O5{u|9EM}Ri>}f|Bzpc z2JLt(R)O*&P<8@pfV%-5Ct|UEga@R(tm9-X76PmSd=2m+z%bwezzful^k&8GtLjuN zb^~BPpbIb?Ikp;5!{S7{voO}v$Ep5qEOr=h58%6iqky^iUxavX%?gR4WFmVIv!gg4 zpOIs+*a+b*))kh5Rcg-W>}|@@E5CBxjrMB^P5jmP9QYsDiV)%=ydR(azz+!=0m46m zPbd1rzA1hY@00l44PVU?Si&8^=YHVk=x~Qo-ebTG0rw1W8wDM{Xi`4J#|mH1#yAzt zV#^$uY{_1k!~TDlo~7;Z^F2CxI#k#O9K{Cci!zUczAQ%}SuWt7L_8SVY-p=S8^y*R z;w!aSyE1RK6q#&Ys$I36*V zSc-N`a9b92O*_XA-vOlXG(2e@~$(Di=#tH)!ft-F%Q;T^-^D)l5!{oNuy0TVU?l#?z zj%^U&<*>7$FMBnDj zyCz#4AaYCX-8q?MlLgVLoK(fq92@%cqrV}{>HR2k9akc#Hp9`SEDnig4``Y`NKfGK*se*}Q8)iN%$LR#~!3P^2FS zg@9)<$6})_MQmt1He4;K0)xfrKS53yazyH)UdFF+3yfP}+ydhk7`MRxs|Domxa9A) zXp2Ob5w>x(k}Duv*ign7M(o-{n?hXpFEVz?--}%(>a^dY>q-t3`MWV%pXrkA=Pt%t zslFF$JY90l+$Re1w^jY3o&HstuFHkO*lx0m_I-5We{7O2!KPG*-!;+JiLMI4Px}G7 zP*CCb81$XdSQFV z>LJmNMlVKo1#yuc!^%?U*BrN)4^!59wX_e$A8zVZ#5~G#q(1#{&FSN{4im*%Y2edk8D_>$MCWVS~iCtq0>{OM>d>{ z6!zH+dXg{K6D|e+Im6_Pweu6er_w*&xSnEirYX-Xl#&xLl^phLiR>@e8A*MZ$rC}uX9@g218;?VV?6&W zqaQ2(D#B-uo!8H$p+CX!R>dY3RCXo>vBLttmjW19I|s^SjF;?OB=8LaKS$vAiVXof z_d?rElKxAa(1ki(s~Db__4oCHo*g)#ft|$xHm9NAng;&^DQ6~^&d#P#{4wxkPouw{ z0p7+*lkNwB&(FL!m20^fEm6Qi&*I~1Q1;%@OPj6UCjt3zrB=4*pKk3puMr z>(dOMM9M0Cf_}H~*G5U=>-09avG0Xy+Wj5=0KU7eQ4((>@%WoPHS|7`4!r84w$)SL z)Vk5zb|9Hd2$PTcM4E=Baf$4 z6B4wN+ZE5s^4pfV%RRTPSh1$G(o^YPR$fX{*$Yi-Is!~<)b%exak=E1P3UbU^s18t zhTe73!Hnst_ck|sKl8;d>}4vcc-!e~HCQ@8uYV!qdfQbogq8gqlEeN1$11)ZEzV548J4mD_t`Yp2qQkZx$K^Dl(a=q)-1 zU7G5B8{55jc}{C>phjm!ni%nrq39K_&q-z%fe|;Wf^S(pi;FyPN?l{EucgL^Xy#wZ zD(Ird*U{newYRsn$JM%Vp5hfcU@*d@9b$ydK5q;3*a$8j@9b4P9^I>c66#Ro;*~%N z1O+a=2q+oj@!(BFVyX%4;mbNi&S$)ahzyr3M))vc{*69Fus(js_Q`J*N|qo^=WT29 z*7%@lo31@M&ZL5hvtvuM-@6ge-_Bu!EHN{;DNcO3?Q_<*1e`E;8|K9p9cp8s5pN1> ztQ9Etva-2;Z@t3E8@wG2inDf03%cOY-_Bd;TXB3po>cLmt=-q;B?eJyYw{~j7AQ^> zo%OA#QlZ0Fqd5J(PE;vhg1VK>cBijFWXOhENRu@#gQrT)A+uR6YoE<@-IFU)3 zk$Pp;|J;zC$gtJKo}ORwJU~KuekGb2tt=D#5T|%6!D)*v9XKIpPo|8x@wzZ1XU(!jq z75sEYC+qS&MZ#^OCuw7;zd$QJD3DJizdU!5FeC_N|B_#h|1rV8Owh^m842aNCGiuF zk^hIlkxit0Y(DuVAjP--GRDv2Xw>uD1fPT>dS;Xj;*}p8_~p4!9A1Kdzky$#A4xcL z3I3lM_~V;nu}S`Gc_1z1Nd2W)`Uf5T_~m(&g!24b(i`pfoZy%KkDpr=agL*sQ9$WG ziT)J|)W77H=UWoe{|MxbD1%7&em`FSE^D_B9N+Z3jOZYx` zRUN-PkI|L@iA&P)TB0uTpQ3?cSN1Q@-{kv6rD16P(Ixq$AO8_J8h@PsHlo7g^->Ng zzVw&mmv91@_5AVYau?^4{YV*-Pu6q6OgP!UeEzb!IE9g(`qE!?ZbUc{F7YPGFOE6l zc*(DaGIrubD7aj_HZqArdaR;nU8#@EKh!LB=al?jw2H&u7~)6vD{1plNX0)v_~A+e IgQ2SYFU;K)ssI20 diff --git a/examples/04_sample_from_cdf_simple/example b/examples/04_sample_from_cdf_simple/example index 23c794b513e234ff8f396dbf10e0389f9451b1bc..96a5bf43fb78cc2301cbdfcdc63d5cfbf8773b98 100755 GIT binary patch delta 2275 zcmZ`)e@sZWU?I92JrIu4#G<*t}3q^itm~Oyo zOE+7%@5;BD6U!wzw?>aS(roZgtF0O~|9CY;Ff^Q7fnizVPM>q{ePv{4JLhxH=leO| z@44Uax#xC$!b82hbCFW{Y|oQ(c*3xS>1{Y%&I`D8tk9VLjdWPKHtXCgZ6BRGvwVxa zEqmQ@YxAj|B`?N@55{C=^M&CPIdAjC5WMV5z4LgA`yE>8$l@8a&C$U}!lRBRp1AL^ zsIes+%zYt-+rt<0KUR{O8~5(qv7^4WdRIeJEj1P%X!8sS(aIU~UlXDWSPATtI4nfF z!q}k^A+}=PdR>S?U|U1EMxb8c3|r`0t5Rd zgxCNa`xP$&OrI2@7Z?Ff0z-F&aK>T&JK_NQ{=^33T#PNcF9burLcl!WJ)jR*IVD6D z@Jrx9p#OmoAz&ZbT)CPZ`6-Zv^Tnq~$VM+h@1vkAN9($ZtVr5yvw$t=Av)<&9bH(P zX)n#yph`ZBlqo|$7P&k!qP?RUKbSPqF{ix8L!Sg8K zp3l3f(OtkJbkd#4Ei{19Pb2O$$0?Mo2zuG1=POt@2yVa5U?0G7a4X1GoWZx!(&F{A zy(r&2)4l?@2c@l|Kk&n>svYv4c?1gf}fbo=_ee zc0M&6%g4yNTIJ5LWA$myduRlc&oCCu_!=uY;#~32nWq<0zYc0gL=j=*ZC9wklFz}uO|*apKM9lLd37pS9D)xI@-4K6UO^GwkY^^~gohOWG; zM_neBij{Tihdt^`o(o>4YT2l&+*5moVF^JkTRyE?qiO-u>diOUmkeO_)VM}1eATpe z&Nk>frZp8GtL`($AiU7Yc1(|W8Z)c%-)x?zOKVjAjnwcVIo3Wf{kQ9m4y6A z|68*Rzst=%tKd@}k+*E{kBaD#dDb&trYkgNnU?WQbQC#~mzot3nbU}e*V9`w4ZzwC ztK3c3e1pw1-}Wt`R6=!%J#wqIXtK~^% zF2~IrylX6AE_g^`b6NVd9WOBTY@s2%VCuaz;#W1B8Fx>bK}V0oGh{7SwdbRCo3^W6 zvQTAB`9J)9a}S;J%0YYC05$_3 zy()nyYJf z*HBwvmo-Y(?cKdyXT!Gw@9{f>N$nb0HZA$pW#-P0C_~wFy=#4Z+ yOE;G!IPou(%^BXmIbKQfCK^+D+bp3sD{~Xt*BZ=u8mKHuShmra&81b(W&Q=WfF&jX delta 1995 zcmZvdYfM~47=~vSP@pX?Eah-YDGLZ?dx6E>1#Dxu$Ym)|p^AiPbSaS1h*oN8+O$cx zKTO(a%#yE7h=1IsRWZ?6JQ!`8n(YsxCPrvPvrQ~rELe=KgIpc&Nx0Xd7LZ!IPqiOm9)Gk(cn)SgCRQAL*#=O8T*TgGFylp8O&C z+&^pjf2_`Z?}g#Vw1aVZkMcFzJ8O^gWg%qQn|A9FyYDTkbmegeZFe2!m$VtzZocf5 zhb*&S>stR@9M9Cw7k_L^=-szxcNgt1J#eUMN{D@&vDPa>guwv#xnxX;ppCK6v=9N@ z2Y(h~0t|yQU<|wm+OG;>N8D-9D>)-X1dM@`pnX<|IWP!5kp3@1WX3V(ye7nkICh8y z=7jJ=2>&WX4_Nh^5J%+w@0bWU4@SY(n-~y`fXm}is(B%tU=Z|zkp&@I!TH-*2__PoHU}gJbx`pskadKgHga zlE|F6{1(4^#J%}^4;6Tuc$5abm3)pyy$)AAYVLwBo6LR+qdB2%*A>PxLAiGa>4rCJ zWe7X+(jsRL&UMQ6WpO(_j^0b{zI=X~_WMeBj6U$?K>x;<<7&kQ^qSAfQNG5meF)9F zNc#y|lv2wa*|pb&*o@39E}N$~JFyDJn(;bh@cYC4&USIqFOen`)Cibj#^Gc(sjf#K$wL0{1{#`{i> zoYF_lmyxzqHd12cF}R?+D=?OvQ!vX=hY>BCLId@RT4uUc#fI8vfVIT@5uQNbk4Al0U_#3dEXpoIoSEtD>1$lOL=d=2#Gqg=nD)|j&o=Nsww< z&5UP-M&LO!-bU4pih3I}l=XhqVaV1-+i3u97M7>)#*#Ue&*xy{$p`i@*O^`KLKoYfg% zv!)&~%NjLne;0b5JR3Zfa+{O{C(eJGe($EXCWTkh&ZaZ=*9Hc6?%2`aTing`KQyhe zd5Y7ft^L~Bt;1Y9(7M{D4Q~s`55u3&mLyrnIYy-& #include #include diff --git a/examples/04_sample_from_cdf_simple/makefile b/examples/04_sample_from_cdf_simple/makefile index 8b512cd..821add6 100644 --- a/examples/04_sample_from_cdf_simple/makefile +++ b/examples/04_sample_from_cdf_simple/makefile @@ -9,12 +9,13 @@ CC=gcc # required for nested functions # CC=tcc # <= faster compilation # Main file -SRC=example.c ../../squiggle.c ../../extra.c +SRC=example.c ../../squiggle.c ../../squiggle_more.c OUTPUT=./example ## Dependencies +OPENMP=-fopenmp MATH=-lm -DEPENDENCIES=$(MATH) +DEPENDENCIES=$(MATH) $(OPENMP) # OPENMP=-fopenmp ## Flags diff --git a/examples/05_sample_from_cdf_beta/example b/examples/05_sample_from_cdf_beta/example index a604e4d882405c5076b34b6eb9b1f7a4fb4f9b58..79b7f0f26f0760d99b0c0507bf9934fa1f5b557e 100755 GIT binary patch delta 1913 zcmZWqe@vBC7(V9$dM_B>3$l+7V!+VB4H*~3am!zqxNtu*OBg>ci1QMmxRDBK!wC_q zKWOE;?43qiE7`1AWrN+;tholQKWeiArMTJ;uoO{C!O`X)=;=A%_g%N>Y~Oj#d7tNf zzxTfHIo}Ol;QbePFo*kxoeH;kY)l`XP&v=%4(&-}`w;0h%halA>xb`biP>=TtAg%O zNki%O`;-4{33Wy#V(!OC?61nm+`Ri1f*TXA96M5}CZYCkZ zUJX^`?~LNX(3y4VD<3)3c4Xh)y{*l=UpUa-OykAJy2IZK(ZLy;{XvLRz65`Prp zw1qKkOo#yX?r|Z;fE_;xu>ef|SqMA$eqbTcJt>4=Vpxa~U<+_U^1xZ3^^y>alD{lO zauj2Oz_n4Vo6Y_rga$*-Z$dl|{PuStdgcBPBm(RJhJj(=J)rid5G$e?>jh>2tyhr% zP`f6?4q(T1{1D(E@H1e`ED{Fh+z`SQgZ(YM2dLdff-&nEJBtNd2EiR<1ndQRfwRB{ zpnpz?PGA_=57eluBv+kAo$_VpyvywpR^uteSjq{tip2`kDItx;Q>;; zS-g`rds8{1I;>aSDTtcCvBY*7wm~W=O-zeM7uI0M zwD=6mcd_wSU!3kWAv;BlP#i{o+=jwsnS!D`jwQn(TK0(gN>lkcI#Zg(-85dB&s&I> zrSpEu#2lvLvP5U$6v_;}95SC@;TM4IsBXbqfOD{&r>?S8K1XktJ)1O!mSvj!Cg4G| z?=QMvww1TiX5U7rj{4SH7O&B#zWp$zX}Np|a~8E~R&@b=tCh|N;xn4!t$GO=`nHLV zYYKmr-q+I8CeYJ%snOzHmZu=X@Zzb0&P`V|Uv%K65H!CdF=UUu5fyT6pN{4lIVu%g z2xsLTZaWV(N9;|MS(U9`mH}82bMMj@52stySf!LN==&t*TEZ@uWo3yha)TpoDX?=C z#?RJ;DQheu5k|3U?5%Rd^m1*C=Wc+9)$S zwa$?16~?lL+Q1$$*||pzRzFl&zCr_tb5f7<0gXfXg{d4-4CT89u&;H^MSZ?Y1+|JQ zKMXQY7BD3y*r*X%B~zwf;kncYr5i`cf$W&aklM~(H0 z`nbss6N4TkpZ@mcsb8g41FZ44O36e?&+{};%H*fanD delta 1872 zcmZXVe@t6d6vyvv!O#u6mLGY%F+vG0P=U0-%t&UkvQk>&n1z(z8jB9nWKjW^1s%&E zin3(cAV=f;XMxE-#>`MV%`p1|;{KSrIkusKA~a4X(`5rg7Bq|3?|tueS@4E;KkuIJ zx#ymD&%Nc;bv}&0LLQ7d6>h1pFs)U@YPgHrJ$v-wL((zRQikj9*OTv5T6Qhmt)uZhi;^zhA#X$f^9 zR_AIn^P$+;vfM4n9lZy8+G)P>@X`1cA$mDuE8hw+3bLz0oR^#tV%)@75Da7NxhBL6 z*#DgnYoOzMA#Bh`!5yII2O*jz=Y*I7yTDnggUg_8UWf-$|51o6Gh-8Av6&rZD?bSl zfWiH<5c|QIMInad_!lGs_Jea^99##3H-$(|Vr&?6fVN+e02usDh#=ViJ3a)Q0MCJ4 z%Sae>-xk81jPajX2Mpdtg30BKP2q(-28Vmd2pk5hz!mU0FuWo}9~cKufk7Jd7V%|@ zdKDg~ue=33K&xIw^?Vb(3CCA%-(`7Y|+fv^a1*d^qDW8duZP0;$38^&V}7so$HLF7#+qu zxymI}@aZLN_#?Ij*do+jot`rbWfvkda}KvUT4d5}FP>DCZJoxdpXGD3TAj|@ zIN6Z9)+%T~;_ZYMGQ8(0=4RuBCI9dhP zknJ#yAY&rfH~qp=x_tpj(R(SGG1oHc;em^k3mBv~WTrJrT z%3ggRo_5p!&&h|xTb1Nbq3Y-FvgW;L#B~@sbr?A MjO^s)v>GY+4>{h=uK)l5 diff --git a/examples/05_sample_from_cdf_beta/example.c b/examples/05_sample_from_cdf_beta/example.c index 3ee1ab3..09f7fd7 100644 --- a/examples/05_sample_from_cdf_beta/example.c +++ b/examples/05_sample_from_cdf_beta/example.c @@ -1,5 +1,5 @@ #include "../../squiggle.h" -#include "../../extra.h" +#include "../../squiggle_more.h" #include #include #include diff --git a/examples/05_sample_from_cdf_beta/makefile b/examples/05_sample_from_cdf_beta/makefile index a41df3c..c1d84b2 100644 --- a/examples/05_sample_from_cdf_beta/makefile +++ b/examples/05_sample_from_cdf_beta/makefile @@ -9,7 +9,7 @@ # CC=tcc # <= faster compilation # Main file -SRC=example.c ../../squiggle.c ../../extra.c +SRC=example.c ../../squiggle.c ../../squiggle_more.c OUTPUT=./example ## Dependencies diff --git a/examples/07_ci_beta/example b/examples/07_ci_beta/example index 7f379903184aa455f0a3d377c53f67982654c818..a94d40f538257834776fa25f5c913186fad3d814 100755 GIT binary patch delta 1784 zcmZXVeN0jG^6Xp(xR6OLs~!v!vtDNx5aIi1#F93w&@6qngJ>f6~l+oK(>XF zEK!naAg{)mEwM{x!jeIX_YW}!!we=GjiEC-{~%H}=Fkio^J{Zt$LHL8OB7FX&+p#% zdERr*ea}5@JkH1Ce6W=FjFlBOd9i7! zef-qU?=SZ~uN_S*^zcL4`^E2Y`}BIoUUS~O*HQfqJyKH0pP*+-`njsjmvnRcXhupr zueFpumBtTh6Xn;^?|G%`)fWyQZf|XRxud(4&Q%`iW3xgW<>%? zMsHz(;0>_U3jH<~1WtnOp!;tjj$2)f4dUi30**UEOoCCW_LcJ-YVj#NM!mjGyp7KI z6t($Btk~Epy?3BLf$JnCd@i0%SA9igQBt|K;1-YQpqHfsAIYRJNw zZp)YJGc!VVCbKpoR!S{!97lDx8jecKEF2L#%YkDzV#734mB+uPk*XpdrbJZ*?;-9l z;KSrWzd$v9S6S^ZC?@=}$&vLPLabMhFnz48*o_%F=Fj7d-t+IhKZ(M7Ono~z4t-^j z?)rD~qqL*?Vc2@BtM~>QsqR1|KTysm(HBvBAVW?6U5G}R+>z;iHZy}|<2H<4*iCN+ z6#h1S5Gcr>ho@V5!kLwpdYI5^ah--QOml%ydMEafmV+)WYP)UKf;*RBIVH=DZ zr6kZp7itymrDgPcWUn@%@J^J{oom<*AXBz>^3*Bn$0(JXsW>f0G}XVM=bkci9h;4K zn<OihzP44G&dOt!5I6s0@u7B;jPZ19( z>bFp{EGo-b^L9z{LR~Uvi9MiC!cw2?3bjDBqsDUmG4o`l)}Kd1A%&OFGWudBTc1V5+RhP(Lwq&(eOV6Xpt|P9t1lsvlCn zRL$I|xwHBSfFnU;Q01?bgXR8jXBTKLtnfv-HtRZk`%W6OxU4y;JHDA}B8nQ2&&VIV z&zSNhbLKkgiYV5mRd*Mif%}N*j^-P-I@A3+CE$J+YN4EkYsBjn>u0Ok7s*?%@GBIl zpZf2ggywwgu1%i4h6-Ei@VF_`u*DYk8DodFfrgNU|3!($Ew;wJMlhH5KVI+;pCGc- delta 1733 zcmZXVe@N749LJyM?yS2EyYrOqef^Q=kLleU)BB~ea9vIFEF&G7#`+`O0>=hvb3@p| zJBZ;RSn^@eU@!vMLP za2Sk&vtR;D+!f-m^xqR=5S&^QVisHie*niH2vOibhYzt3aQqJp1P-rbg5WwB$bkMQ zCIrrcuY-ZVggBYuW$X+ZV{rH$3o#82Q+>En^<({2@<19kyCup{qA25(3RkFoKVj9< zZCVaEfYM7dVI_AIxvHu7!BLa~S`C--Ve&-0!7=DT_@v2RR#2wl>yZwaPgdC50@@$R z&#lG|za~8}sZ>KbMJFQpe1bkiJx7y~Qr=3pB2_#|u4obb!DvzNK6d)3o@I<8PpRd1 zZ0-|2{lut0>MdM=vI9Lcdm+#AAIieTVJ#@~44rf~dVnv{TGVTE+@(#i=lMx$jP2k~ zO2r~PhbCjk;AyKVbp?>(z^>2YtCDY}6E%w3{z!;U_}Q^6|I6sO0L>$a`G`KPDdH=1 zwI(0aU#@B5gIcI|+a{W}IkkBGbqDv6XSc%RT5$Jw+%<_b&T?3kTn!ccOA0k8>YVOV zSnGZ?p0FRO8|r=C<7L*1vI6Wh0`(v+kBx0LHph}cm1Y_g9;7wYjj~odu`k&;DSw_3 z){abRuTXKLqNcG!eundIHM~}x)N{$qbw6$RdrkQ~rI7nMR5x~a^g`h5)ql|7hMzQYY zBkG1~#~#c1kD3p~n!lGuniRgB)=-CN29YghWVN|V)}22rW7IxVjVs0|b>>>GQE@_1 zQ>MyF4fT=%T+KG9ljaPQ*@j#HJwWpUrKD=+Ce4%8uQ=4NDGhZFs+;Bg?_}rcPD0_o z>hl+R?IusN!b@mZv!XtWXCYU8I@cJ{diV9zkC;w9@>M#E$T!T$WT6q+Xn+mTjb #include #include diff --git a/examples/07_ci_beta/makefile b/examples/07_ci_beta/makefile index 09f8b3c..39acff1 100644 --- a/examples/07_ci_beta/makefile +++ b/examples/07_ci_beta/makefile @@ -9,7 +9,7 @@ CC=gcc # CC=tcc # <= faster compilation # Main file -SRC=example.c ../../squiggle.c ../../extra.c +SRC=example.c ../../squiggle.c ../../squiggle_more.c OUTPUT=example ## Dependencies diff --git a/examples/08_nuclear_war/example b/examples/08_nuclear_war/example index a70085ea74e1c0290bc4b51abfac05e59da7591b..fa735224dbce3ce43759c5317c621e53c40cc297 100755 GIT binary patch delta 1773 zcmZvdZ%kWN7{|`31;*XALkftc!obo(Nj4)Ruu|M6=%!P%07^rREWqZUnGv@d zW0=_o$g5^EYC!jaC7RG&W2SMj7(S4=nHim60;9@s5}lTXY0aj`=l)x8@gzOJbDrlt z?>+au=iZLR`FNZUmGM;ED{*^t4bxgw3G*uMO!)Na4bl727@gcxL4-rdgrH z%Ac_E8D*}r+p>0l|8q}wclSiv_xA3KP}q0yP{#!!qMWggc_D_tK5$H(CxzHxVa)NP z5UrTA1tAjP2$)pkE(*cmr@%hYy(q*hU@LeGOn@J#{!cJuW z@8MI_=9lEeoDeD4X4`*=pR74IW&O(FDfO`$i5 zqDG8$>Qx3&@y)*q5m=?Y4J}H;HMw_w3uhBDGiw3Qc0ZP_p3iOgok2wUGJR3AgU^t& zHkYqZY3=>|S&GzdvZPb=UTrnE(fQh5Nd3VQdl}XYpya18E4N&~O78~q<;FjRcoYWf z&2~S9)M}Y#5OkEz1`GKtT@Jc%1NOQQk1B0-^ERdKz8M=&kh4MJX~o+x&F!bLgtI)> zMfOGy|B`%-l02(v5^LU$!K$`Mop95dlFQ6@$_&V)VYu((_*hsL9<{0KETV}ZwGQ)Gmm zqj;0Vr?tp(`T^rh>ey#RX7#!wE@&Y0q|8v(V^1&5wofes`xv3^u z)Ct#x`la2)Iow*IDleMK?2OGd8b-TIXk9c+o>%~JSJ!yV7pW%K>D;23L9 zX``;2JIFV5R;=qU8rh1-8J6UYhU?DJW%Zp_TQzM7OMIKwS5ZI4d$e&cjbhb7W7W9& zfj~3A3a`=Eh&-W1eoVXtXU*J|TMJ}OI@lTVwMZGWaErAnrl}M2Tk+-7t18iO%jAFm tA(Y1-sJspD;*nidcJozA(8R8wJzcG5O)LD7kcF31cy|zgL9yMQe*p^)!!G~; delta 1825 zcmZuyZA@EL7{2Gyx^|EbDD!fMgz`1$7#{^nN&FaF$|#*oQE^Lj5frl~(+qG~Fk2ju z{n-AP)psTs`2mS0)u^F1izI3+5trgj1_^#7QUPUJqq4G0N8HTuIrn2R#5XzTIp=wv zbMAZJb5A=NWsxYmP{~qJx5Dh*Hc5-_SUam_Ia3~edKc-uyp(tO)C&hc>i?o{?c?f& z=$5sz^#gB=#7<}ID`VfpKC5`0Wd^Xz$=n;;vc3E18FvZ0LL=^B7LHkV4Y16e_n2Z? zY`E&F3^o@_)*O|s&kvp$=%G%}sWYJ;I1e#N3N3Md0XPVZi1{+-_sNo!|0Cy*Vs871 z^Efa9To%4n&L!v@z&>E*HO|ih4+BSm3E+D||C#dyF!T%Oi@->V^9^9?SI+Y?q%+dF z-#Bm10I`NdfX&xAKL;EIMu4_7=br!rz&T(7xGMM?NWcRBO(X~m0egX!e{%j7Fa=x| z^9?-63jb{+2pj}X0#m?6YbiFq!}(1R5nvYTmH!XtyMd#?0MJH%)K{r-)T34$kbg_I zfHJg3v<>n!RH$=F&NW&{h&;3tXbI|XP*@9{Zzy7MdIxtO;JyyvoH^pFUL#@I9&4VR)?)EQ(JWrTqT9!IE%Ar)*W^75*+QBQa%>U zfQ!&{V*&e$l8vP-K+Idq2Fc?sViD>@pQ3)R)9wGAbMa0hL_T9Ur#^5mYYZv_oCLQ> z?|TbmX^p=09^Af+b1F6r4*=_MHg~AHX%9P1FE-sTOY8J*Q$5R~WYcj_9lk15qQh58 zV?LW|`HS;IV)1c@>p6!_t6Ln0_Aq_wQ`klN+E-M#3eSM>1RQm85GI5lO&n@~a+=#L zeYZHL^%iF=ZlAZrnjiem!lo!^pTg2H_r7nL{Sw>^dp}Kfe+B!TJbp!8&^Sd3bYSqG zNKy~fw8l6k^Ddf(3<^Vi6R#*sS$dI738>PvUtw-qN8c)X^$;qbi(0l6>b57aQbaEm zw<>B9wRA};4qj)?en{KlHLZV}hT)tt_DPrP9<$&Hinc23s^%=E6^xg}*mK+Pj~D3v zQOreH@kEhN_jY}r&_ODqz55mQAyci<>5!owp?;{x40XIhr&}-=@d`~qebrEh6rI(+ zR17DC%0ATkd17sf`aPW4|MS)<@<6=>HAhw@+oqaWs0XSO^%MEWjRKfotBb-=YfW{x zo`aeH9-3}btU;ktRCcl>v<~-4!z~$at9^%97^dQYVx73_zC@h?MZF3oTiPMzZ_4X3 z4MSZq_FCSlKRKp@v_jE<(th1gC-2p1^UnWm@Z;4wZ)V`Y4G?cBmFT>A|5VCpSJZMt zb>-@+__Y?Xi}toF_+=4&1@)uv(#A(=0;^s!R!xdaj5wx)G(z)mj%m&hhz0Sj8P0K+ zZfP}~Gvo;>)&-~~S{2jO6I2-2R&Jwka7O=Ei9LIuW-IPrxU1G~UY{wN?ef{v_4-cf YnElB%nUzxKVW0iVBRaW*<{vBi7Yyjipa1{> diff --git a/examples/08_nuclear_war/example.c b/examples/08_nuclear_war/example.c index df5abcb..1c44880 100644 --- a/examples/08_nuclear_war/example.c +++ b/examples/08_nuclear_war/example.c @@ -1,5 +1,5 @@ #include "../../squiggle.h" -#include "../../extra.h" +#include "../../squiggle_more.h" #include #include #include diff --git a/examples/08_nuclear_war/makefile b/examples/08_nuclear_war/makefile index 09f8b3c..39acff1 100644 --- a/examples/08_nuclear_war/makefile +++ b/examples/08_nuclear_war/makefile @@ -9,7 +9,7 @@ CC=gcc # CC=tcc # <= faster compilation # Main file -SRC=example.c ../../squiggle.c ../../extra.c +SRC=example.c ../../squiggle.c ../../squiggle_more.c OUTPUT=example ## Dependencies diff --git a/examples/09_burn_10kg_fat/example b/examples/09_burn_10kg_fat/example index 72b5d66c55b956ad15cb4a100de2a1d7664ce5e3..55e5d88c1d2a0a9e5bfbcf6b6936c3e75d6f480e 100755 GIT binary patch delta 1865 zcmZXVYitx%6vywKZe`oWW&6PCwDhsi((Oab((TJgXvx;y78+V(r4V9^Qdxwi55d$> z?bZ+}i7{;s#3uRy2p=#$Qe2}orl!Q2tPx`yW9SEpl3{t!=@a2vP(kWMP|>AO#ye)-KOLbm8L zM?Ll1DfZdWn#IsS!c*({hoSj`)7<7tX6*UYTWcH@8)>j`J%5|d6%O&q4|~#@gnE2!a7{4D?5Y z2!nGALezrc?}Qi!GrkwXp+E=o!G5qBjDkDBj71>=;4nA;6%Qcq zf5$?g>kkx|$k-Uz3|jA^ATR))0>j`tiD`^g-xK0891~y^bkSFvOSBO@f0^uzca=jT zA3qO%R!S)^)Ml<>7o^*?bnpm%VQMK?H3#;rQ7V4BL#eY{y|_G&Uq20%`-&LUBB{dk zIk2niR`}B4tEO0aTJ|X@1-QdpdCC{bcB{{(XL;efKu%9uwncWph}fjeBcj2^GLUct zJ{PrkviJ__@@(K?8ugSp?_mGy<9w1(kRy6&S z5b~L&$x3B^m*9Ir_n_Bc2Yh>JOGOqB((a0#Ydg>`r>Q>zMxYPSWW`ox`6m5U@i4+_ zD$Dt+)K%H7EZ?TXUdK6}H-JXIx{sXQdxt?1hbCnbpeK0F4I1!HteyiKT>R{@%po9)Ti=|6vJ3Umk=qtAtQUtUFtLv z*nSzK^_yx?zV^!wVoir;P!S_a*{$&B*ry;4Dxl?9m z^%DSfmM%iQ3e~|f|JT_lE%;S_L$7}oxf@lUp^wE>*Pv>ZI1TbyW*(61F?PrRtEb)u zmAC7Wy>u3l$IQs793w>kI^gmI%|d$I-dPE8VCQ$| z{Lh&=_sq=QWRxeOe4>(1OnG&lvzp1wwwf91BgQJsm9OPtoaM5%Pa4 z*v405i^1I)6t`u?LX8OrkCJnj&XY0ku4_E|62dquU@Mf}Qo%naUkj!-Z940I6c20K zbsB)WU|L)(eP_}Rb~*#~ahwtx%f;5G?G_EX+@f-wk}YLimq<(3-4ShmM#80w%>CpTKway9da zRQU^L{{~IN^Idq#{MWzxhs4`-<1466o58Zyy8Oo(&uu82B6weW0`;I zeoIZ~@1iqpI(O3|dLLbeXP5E}t16|>{C??U$Zv#M2YIW|cB*&zmbSI)#+Xt=WtRGZ z1zf#7P%o(rC-51Nt=0m&NMlk}v2nGt<`IX-7c>R+DpZYa{@>1~XtrJFH_iNo*=ywN z(0K_pcj!h9u7%7tQD`ldzW9wa44+=p^ANoT&u5fp+--Tbs@z6t8tRKmjmWPMTBil} z8SzftxS>={Req0Bm(2NX)Y18g^%oG^{D?aTxA1|U+U)ctiqddTFgv-!ib=+%dfIHf OknZ*d`7!eCtN0f-jG{vT diff --git a/examples/09_burn_10kg_fat/example.c b/examples/09_burn_10kg_fat/example.c index 08cb757..477cb2f 100644 --- a/examples/09_burn_10kg_fat/example.c +++ b/examples/09_burn_10kg_fat/example.c @@ -1,5 +1,5 @@ #include "../../squiggle.h" -#include "../../extra.h" +#include "../../squiggle_more.h" #include #include #include diff --git a/examples/09_burn_10kg_fat/makefile b/examples/09_burn_10kg_fat/makefile index 8b512cd..9f5cdc4 100644 --- a/examples/09_burn_10kg_fat/makefile +++ b/examples/09_burn_10kg_fat/makefile @@ -9,7 +9,7 @@ CC=gcc # required for nested functions # CC=tcc # <= faster compilation # Main file -SRC=example.c ../../squiggle.c ../../extra.c +SRC=example.c ../../squiggle.c ../../squiggle_more.c OUTPUT=./example ## Dependencies diff --git a/examples/10_nuclear_recovery/example b/examples/10_nuclear_recovery/example index 2ec94199d2f8a4f7a60efa9ac4ec9a557e60174e..3d42ab57d53ca9df4564af10a9ca22a96866811d 100755 GIT binary patch delta 1971 zcmZ8iZA@H66rEWXvlNPNyWr~+n(nq$SgD0&7Z%g6rJ;P8rVtfN+NO(!)J8}tqGJ5$ zl18HmX=rZyqfsLme`un0>GKCBmVkj6qcw}EDJIoIh1#Z#1+6VrbUgFkJfqxX?%BEL z+`BV#XLc7(^MuL!3i-%jQ0EzO53?+8*70KQO@{30zesPmF6NwBUuv9uZF$!bcfvOo zIz3+5;{DrvDec>}e2clW-~`W1qRMkCe!W{OJ4H7N*YGf{2=?$h=J8-B&pdjUL-v~9 zqTOk{!ffC0g=_gUhn_vKe}7x+zV?Hit@Kdn#lsyx3en9Oi(eF?AJ_pL0yazuQQ=~2 z>XHy~%u_!Jkpj*EXMp}0Ar^r#paxwWxDMC{>;{eidx3Mne#y@Y@rmRwqYjY$j5;oM zn8mIL!O|E@Tooc8=)WdJOwNB1q63%$_5n+72$2N#1IK_;kfzLbL%#fFA-AzYB3i&Tr#;(xLwY3rr6)ru~T>Bai^j0H=V9z}TV?IXK58Faj+3 zONa(wKh2gF@ow^lbv{SIZ~-5p#<1R;{6UB*yOoyL;CnF^riI8=@f=`3h8w4Pzl_yp zYkRXjOlpTP@)0*=942F5V-(V8*q0jtbDs>uHeuYv(CBJ-Yfu9dlwp|6sYO@TFNy6z ztd<%hzE$tZI+)>`{jM*UWqWEet*l<_n%f10&E&lj}JyyM0}V7i0h?YrT(H8@*kY$NT8h zvYojdXlB4-?cEikp}n-Kd@IkQz2zIBI$0j(Z_(NEgNSU77V!r7wbUE+7{}4r$7Sxp zZ2yxuOL@jaX!Hg8D5~>yG#*{Os_T{zol;YqUE->T2v&uWg+5Obuc&b|Tnn0y`OHMd z_ii(`IpyX_@@~`lf*IU)o@bnanxpm}%BU*fUs0$^H!fH)oi*&hhyU0twSZl)B0lE4 zYe$et$H3mg4qYtEJ|c$#257WO=OLPh-yyxR59huDCz;B(Wsf3LS{ntn>xPDzpW)6l z*ipy7ZsoqIa!1zN@uw7hih7Vc3|2#~wj_7l$}N()E-%|v?9{aJJDT3E^E=iGbIDt+ z8>`Vxxx)AcTVb6vK5n5(uzMAol#Pd3cMJG59jey(D>MOrlm?(2P)h9{OURu2e$LX& zN*{7#zw*1ZHMV9WRw*qTak-bJ=a5IC8r^sRtk-2Q&yt-+sReAcs@V{*YdN>~5jqC; z35Q*BhMhDD_GQKPt0!)~YLpqKd9V|T?R(I!Y~53QyiS2yoi9oa*Ql{pH_jufv3uFd zB`XY257vVkwqCI@b#BhD!DBQH_JCsh)b5;j*hStt-AE`FLhaP~O}j<|U~elnrNZchWu-Jxr>9rqo%w0d<>R}F*Xu?* z=5jw%ep}UQ1ACrAV2>!aLv3VIt%;}w?8k~tsN6=CJ1i^nZ|H;ivH$zpl-juq=0sDCi(ew6Im+Lq#^!>50Mv}!f&c&j delta 1934 zcmZ8ie@q-j6rMSt-dV&uezaMrv$|jaX>0Vr&bi7_nl;Z+2%5;UzQQ&iB3d zZsyI~y^z6|KjPiFd}P?GaaV(rnbu%b^L*|J`>f^vNUu9?B;LQCeY1Y$+FV)l7q$Ml ziVx3D)D9V^qQ1-G0b_s8+kAZ(Sx&_N{;<1nh!%1)c^<`kJ9)(D^|tf%XV%%`YlbK9 z*(ko%IKJg;M@&<&qrH(zeJ4)`e-a|d8Ed{F!~ie|904}W2vO`{Z2qPYhq0czCB!6f z88`>bofBdOSOs*$uNjyP>;ndY6Tmlt%fJDt|18AEQooHnK<6*W<6x&*)w~caim|R= zg-8YF{w73;T;CI-6*vX#1{N;}aRC?xjsxd`Q^4j$A?`>%B7`#<{(lJ30CX-1aSS*C zJP+*pQ;2!F{tLeo1ONNjU`zpH$^YQQAi98az7iL6^5unrGOZ^4f&TJ^U zQe^xkjIC?98E`wmZ30T$fw6>naOdf` zKP71tclzQgMfO1|_4`wJ34MzBC|&hu@frHtpU>UoEldMnU6|$#;i{Tcocxs#?)67- zvJTQD*DLRudI}RZcH9wSJ2JDVjXW;>P@L@kr!dCh(MMy2`+1N&fdt-5n*zIdA~glJ z^FA636!7=xYM=#7TTzxP7ZDw}#s;kN_`B3!r0H|G+IsM;B`*C4@}}Z(5Tnt*J13)gm^@_~Uo^aB*SPBwgmIS04w9=phkr@Fa!vo< zBBih7{lLsvRjtW^hF0_rqYu5m9#FjvS~uSZ$pQLah3 zbJ#&dN;^s!6`JnEDxIM%YAn{CLuM?g*wM`v->l>z>O|~CsBXl%*TjBq#%9S_hle$o zoowf2>@v+(Xgp%>@FDW-)^rV*BzJgti{;g>oC8z}^=YMEkbMO!MqX)0sBO2#PtX<2 zXJ`S&Q*P#ybENknKK)y;%&xGo6=*+q1r1{hc z^+~95|1}v_PP;|-QV-N;Y;{cyU!XClFDZ3Ey|a&6DcD7dK>bFk-H%(e*@$?Yql_wz zFG(Nnq}nP?{}!y9ZD7f3cBoS)R6iP4?yyy*H`K4h(lFFArIx6=*)R7#nuXe^)NXaU zmsRXB@>FYjP^n07+FPivv{$LLTH|NUIV@-WGvyglC$&FPw`dURf>I|HZGWg9qbt=~ z%oF%zrqi$^fgd2gN7I|ImgkvCH-C)TABq<8K|QI|R&|gmwWl|z5$gL&4XM~#D+MZ! z%=|0*V9&Vq7iPS&_x6K$iyQ0mUG_^DrgL>guElLu%%br_U8RFxr;I~Iu6I=BH_+gL GwEqCD>d)T* diff --git a/examples/10_nuclear_recovery/example.c b/examples/10_nuclear_recovery/example.c index 06a026f..abbfe8e 100644 --- a/examples/10_nuclear_recovery/example.c +++ b/examples/10_nuclear_recovery/example.c @@ -1,5 +1,5 @@ #include "../../squiggle.h" -#include "../../extra.h" +#include "../../squiggle_more.h" #include #include #include diff --git a/examples/10_nuclear_recovery/makefile b/examples/10_nuclear_recovery/makefile index 8b512cd..9f5cdc4 100644 --- a/examples/10_nuclear_recovery/makefile +++ b/examples/10_nuclear_recovery/makefile @@ -9,7 +9,7 @@ CC=gcc # required for nested functions # CC=tcc # <= faster compilation # Main file -SRC=example.c ../../squiggle.c ../../extra.c +SRC=example.c ../../squiggle.c ../../squiggle_more.c OUTPUT=./example ## Dependencies diff --git a/examples/11_algebra/example b/examples/11_algebra/example index b57bc51720b59e8441116c17946fe1314433490b..c880c3b9a3d26abfbedb8d62537b20a21b3da925 100755 GIT binary patch delta 1708 zcmZXUe@t6d6vyu^G;8gKEkz#>+)6k3(G`W#7FaeTTfi0qff<%LHInJb*knQGG{m_~ z64bY38pv^x#DBKLnEs=Iy+6b#3W~8tqu`HhONfKHA^yNolmxdW*YE9nZ$Z4tyPtQ@ z_ndo9&%3uT4RLLV_m}Yaa6sWsZ5>MwO|R!=+@poerA0bryPR_(_n2$Mc_es+eRFt| zU;pd{Z}XS>iy7zryizYKJi}dyI~aRDd+APh^d0)PXfqGeQc*8Y>BowXa@Q*kOYGBA zC68tBa=oealgtgzc0YIM;K9!Jwj*6f+sP9;esb_9AzCACEB2M^KZF<%08g9;esB`FA~o-aWla$weQ( zrqOUdU!+Tzb7(odh4+&hDdS^QAMwF{DB=s0|0YDc87H%>Anr75kyW6xFSD+R<=~$P-(28uh4doebt%#JPll*mx`T?3!z*NRs468M3 z>Daf-*t1&=dxt5%N4<#s7^)kw?lrNWr(=UM*5+Z=_gQ-y{4uSj%$?mxEyp0%a@-`( zLyDS*s$|WRLBne0-9|g1#!S^+Xs9(<%ke06Lp^M&i#dk1(A@ciRQc=a`CXcV=lk%K z^{@Ty6U1YR`aM*SO=XTXzix&?P_LU=%6&!_>nPr${ZL)#v8=y*P2ciqAg1slN@3nc z?J=c2UTWM##qE^Z^ z;tTFJQd(EOj=Jj=d)saAZaN3=|N9XodIqz>ajCtgL*!M4n^Pgt` delta 1742 zcmZWqYfM~46rQ;(>29~dyDawhwzlkoJXWymvdhERrb`3z5K?NWG_ikBnrM7;v-JNW#2H`? z_%o3GD#Q{n0dy(gF9{Igh}KQ2gxk?#XdSdrU!|+4mg$xh ztORWY%}v3m#&dL6v^12%3?WIvq&ACoZG&$PJ~vH7{W}Ly-wIjJj-r4vySd2S?lq%a z@QuE67F0hA-!rC%nRCgLtEIEC9lVzoV+U>xqxeCa-vdm8@1~xHef)cRx#4c8 zW*egX2(339gXi(a8bw{DCmPFWrqQkUtqRdEgO3#j9x8I1MGE6YPSAx$jbEZ0jiozd zIIUr+k(=s*2-b>r9J(orG_||3P|$MRZzMgR6&mrqITufoZ@qDfpK?=5M`ZP)vU^*_E<#qa`8B2C-`VPzguuZ>96Nvp3tcqB5 zL+qDkY`Kh8e60CSXHE;xn(U%Ivx=pqO<^qUI{EI=^kQTsbI#RRUT571wSe7cvucIK z#xa(59}R(h&}NrPEU$T8@%fZw`3q+M4xNYcV<=_*8}~j#yj|131M5?C=H9TopC|(M zs=Z3M)LO;4va2)zwg5Gj`G+^u%}qCOyKhanvkp=tJ)PdUjW!yng%-uR%P4& zcd~g}=+O9OGk;un>_R19r^d^urBl;)<2A@#2ew)(K57BmOGD7~o61M%Z783#mFg}_ z(q=2i>3pYF_zKuEnpXV$L*iW;|J;oHmLgr>SbqhEa_~B|r1$%qcqJ|LSN#j}|EXyJ diff --git a/examples/11_algebra/example.c b/examples/11_algebra/example.c index 2fde7ff..a6b6fbd 100644 --- a/examples/11_algebra/example.c +++ b/examples/11_algebra/example.c @@ -1,5 +1,5 @@ #include "../../squiggle.h" -#include "../../extra.h" +#include "../../squiggle_more.h" #include #include #include diff --git a/examples/11_algebra/makefile b/examples/11_algebra/makefile index 8b512cd..9f5cdc4 100644 --- a/examples/11_algebra/makefile +++ b/examples/11_algebra/makefile @@ -9,7 +9,7 @@ CC=gcc # required for nested functions # CC=tcc # <= faster compilation # Main file -SRC=example.c ../../squiggle.c ../../extra.c +SRC=example.c ../../squiggle.c ../../squiggle_more.c OUTPUT=./example ## Dependencies diff --git a/examples/12_algebra_and_conversion/example b/examples/12_algebra_and_conversion/example index e2913ba467f9dce28985599828bd5d8150012598..8aa45287f36a1a9e5af086b614aa94d54c6e17cd 100755 GIT binary patch delta 3337 zcmZWr4Nz3q6~1?MWfzcLe&6om^0O=;E(R9)kq8kKWdRMFC>2vCYO07W2C=B5Y9%qI z5G4bi&S;ZKYTC4+Q|*w@POz=18k?cbWJDWNGt~-K$LRDy!YMv zopaAS_niCl+Io3=FYmHNZi;5AlxV&>+P%HSv<1Gt92hD zbr>$iOuT($zNdMwGvtHnYvbL|+&qw7_-fydDdSV@{us^Pw^T!u2F%*m9r8kG>K$Ld z&X?3%W`0=jvphTC+x>+#;CC=qZ@GO7&lQ>*<#M^*F!@qE@lRqK3=&Z)o!8jf1e>!>2y z6>=Z$P6w)Jb97F5!#6^R*abz5jduAui#MR*>oh(ip>V7v7T-^h?LEg^%wour*e0j( zfsU{*RPFO}=w|c`eveEs2^sh1!DNf4#<#optZe!^uC|2x_7;DNPT;d~Ap&dh$q$Vm zQ*}%~zeuLoRQ?`465GVf>5W)-=DI0kwS#8f5zHOr_#T9yb zOfxO8Jv6o1V0x1-+tNZtp|vEI&}pTFFD1V{oyStEJrVOeXitk;tYA*wL6kxZYWi#% zwEOufN_M!-1^?C@|CAngc&2TSgU`olmm`g@pkF#F_z}9}a4Q3`j9Ff2GsqIwO}~L2 zW@x-Yp7?bBGA)aD@g~|DpBPaMP2lo9&0{6~JU%r%Q#D?RF9+_^C$Jx;@%W2|uo(Ks z42Ss|*11emB7HN%=BOW)BN3%lOJJZzC9KXPlt$X=uez%FGP>caGt_@cR#!3YN!iAGX(FYFN7JM3+58+exVJ_x4rlD>D31XIvdOvTYoimSy z)nn^wgV$1NhBxXs4u&P2#$N-}*aE+z7c=hgG1@Y#iMP{LylqtDsl-Y-9;C6J}s@O=(tz9ytHGy#@9L94SLy)pPq^`Aock^F{BLbL)~fnC7b zAt8Ez1H(eh1@>PSVh|VrUIE(vCBzu89T<)^-G4=hnZTKdya?Fvxe&F$o@+w10Daem zI4Jw5+bvWIhHBM{I}5T$av1B5#>umu2BhVSfF7M^}}r zvb zgZ~66%i&8(BPB0V>_?IOB!)ZAud%^*yBu5bnm%@Dmc}>e>fh-6p%jfs*7^6rTj9+* z$=jdRNIY_sA(FM~(dvWPIjP+>qWknC7%2zQm-0a8+cLGjT39q4h+NLys`J6v3Uz)E zH>VVJc>~LJ-k++{tOR{2PpLekZHpuA-_>ohaYsr~HxFohf6D@WN|b*)t{cStawf2U-h zva3Va4yI_@KWM<-()liV!a@2pV8?6oK#t~npl@YO Vxq*L9Z>}gXKT@rc4oZG9@jrztS787E delta 3274 zcmZWrdr(x@89!$cWf9n27P#y#kL9_ppt$nVAhHOCMM)$Ud32ZtZPa9v2ubmk>bPoR zA%;Z#Y8$6$UNLs40ymr@wRW-AspmGw1%! z`F)Rb&Uaq7r=JJ=`L%jcmy_d{8)AiO)vhgDG-U)hZ??62-;!*ZV0UoBxTo{qN1*l^9o+Ft9G_VU(jINw*I?rell_%ssGu!lu}~p};|d z_b;>Md%XH%y$pV!gPob`M+4LNg_gUO6pHU&*` z_1fbvpoIxWUm%yu!(XBrS2ll=mbo$$s-RKN-Pa>NLgdPeOVfTJFzJuynFooIly zH`2$dHLdCK)Sq5EelQWksG+aZ3v4ZSg}A;&vw=&D`g1DFc!|f+z6_`7j&0yf##R&W zrnani`0FIHUgZ_^YW4zNLl?5!P0hDr3p%HPO%){R@CLHgy+udxyD7ODA{oHS}kEV`y%{JZzM01yAye zG+a>0t7vLrO2MS7MlNG;*w5j}4dO^1!;+sGvHT!@6HX;keq65C3hFFOFCEnwtXC>* zU?&$vt%wAXi`Xtz`nGF5ErY3PbgVFtm*Zxvy1Bmhv+70lz4xn|s(T+U3iM4$0{y)P z?>D%3V$`DpQ>Pp^{eD^@k6yZ_`^CjH)A!>I!7qepM8>-=39$wk1a1R%3<Nd2EZ|2# z>rE`AiEUtAsKi8}BVZcPeM^XGz!0!j^0$TP09r?c=m+|NCx8qaaUAj$2Kwdw_7yq; z4&mrt0XE_)utq}^t#$mM#OqXh}p&8GGQchuuN!CI3Lc^RbVew0z# zSZwzuA+uhzq)5%*P^N)fA_)j?BQ}ik8XYNiC5MpzXC)1h8aMiRNH>dJ+)d^Z7q6wf zk{s;n`jR3(OlwOr!S5=`^mhD9h^3mB-U~zS4}+6)k|KLf0;kgD5_@{nmqJv?8APS? z1b3S@@&+_(VX=m6r3-i~EiSd=gs&{E;`iu4X$6kJozi0dGUb(Zg4tPCz-Q1geAm&< zGR1iUH%<#8u+9Yc4-qd7)kZ8&+ITBwF2W_wEG#`M5 zvn2LQGS_KU`M$nSvG#3zcj*DAhd>_8L4oh9@4 zKjJ|05u51-m`m3+$=wWjin8V^j(teAo8i%F)Y-^4D1Gb6 z@ExA4^G_SCKQr<*c z%3XusR;agM)B%z7xw{QMGB%&V58*A8BCiuERR-UYr?>rROIfJ#j8;Etb1X4z{CM@G z4irXzD0h0??i0enhDc3Fsi=;FXuislZT1dDUQ?7+Dr}>GbS_V$ycW=zGlP> zX6i8`$K_sx&(irqw53F04YhS2vo3an4<+e#kprJWcj^?M&(MYobggz!P;D@HtFbPT z1KcjX99@RiEw?))lFv^lE1+!HXlRFWbnW{(u(u38ByTjxfDY_HWJbnW(k?&f-ZkvI z#*F-c!FP-q^T#?rhlP!ltu;FM6bdVI{@)fHG6ErQnrJsCYFFhXxzN5=vehd*o2u&- z$5h-JGR0lSHj3PamGlB^TBPM;&lomVV+@hR{m9@u@MkP#t`2O2!G}CLao$+YH^67p zK9k+?Tf?H?@O;AXd{6dgK4oYJY397c`l~u%n!n7Tq*i2N$_d fLX@?r+#H^+#|sZEUQ}n|U(jz_%6UFrZt?sV&GSK@ diff --git a/examples/12_algebra_and_conversion/example.c b/examples/12_algebra_and_conversion/example.c index 117f5ed..9300561 100644 --- a/examples/12_algebra_and_conversion/example.c +++ b/examples/12_algebra_and_conversion/example.c @@ -1,5 +1,5 @@ #include "../../squiggle.h" -#include "../../extra.h" +#include "../../squiggle_more.h" #include #include #include @@ -17,10 +17,10 @@ int main() printf("The 90%% confidence interval of Lognormal(%f, %f) is [%f, %f]\n", ln1.logmean, ln1.logstd, ln1_ci.low, ln1_ci.high); - lognormal_params ln1_ci_paramas = convert_ci_to_lognormal_params(ln1_ci); + lognormal_params ln1_params2 = convert_ci_to_lognormal_params(ln1_ci); printf("The lognormal which has 90%% confidence interval [%f, %f] is Lognormal(%f, %f)\n", ln1_ci.low, ln1_ci.high, - ln1.logmean, ln1.logstd); + ln1_params2.logmean, ln1_params2.logstd); lognormal_params ln2 = convert_ci_to_lognormal_params((ci) { .low = 1, .high = 10 }); lognormal_params ln3 = convert_ci_to_lognormal_params((ci) { .low = 5, .high = 50 }); diff --git a/examples/12_algebra_and_conversion/makefile b/examples/12_algebra_and_conversion/makefile index 8b512cd..9f5cdc4 100644 --- a/examples/12_algebra_and_conversion/makefile +++ b/examples/12_algebra_and_conversion/makefile @@ -9,7 +9,7 @@ CC=gcc # required for nested functions # CC=tcc # <= faster compilation # Main file -SRC=example.c ../../squiggle.c ../../extra.c +SRC=example.c ../../squiggle.c ../../squiggle_more.c OUTPUT=./example ## Dependencies diff --git a/examples/13_ergonomic_algebra/example b/examples/13_ergonomic_algebra/example index 5ac77593fe816687450787adfe464b2118d7d39e..c882715c3ea3236495d8c04209bd9087c6941181 100755 GIT binary patch delta 1734 zcmZXV0Zdy(7{~8QD^wW1Qs(2qu$^P`R@plcigM-pDJtOQ|xJtE7{*OZhLgeXueW_-e?zZr-OZ zH0?k2-u?&l7c~VC+zEX7{0S|%Kz!aEcgML{EKiCg$2Pfx+cnD+*LiBa=1K17*!4w#m_C+Du!Iotql3+hL4aWWw!fwZgSA~dyv43z7=)H~v!9h@Q zK)->6z;>_|oCLeT;EE8hIv=pAZ5>YIksYu+79zh?cj!?PQ|06b) zX0zpkz36>38d7hKj>Q>r<%m)3+#I zRCYTxhl_YS9mM!D9S@gqM(>9!d60exdtkpF_5?D zh`adp--XzQomoaP&-Lz;9|_xu9*4&`^+a~@VVa7#`NwoVavzV-`s!_boOV}-`7|A` z?uNw|Ephr0aTPD15336P88t^$&HlF#dtqnYx!%XI?*>d;@Dg^?(Wr;NP47gDko`n7 z!Tma~sku#$-8*CF3b}TuJg5hDT;R^L2;nTB<&!gB&cCLrxT?vbai+4CW=w8rm#G8l zwY0^}tczngWYZATN0Fk9Q!w5 z#qlx?&tq7v@kBcIlo>m+$*@0Z${*1HV$VTU5UZ?-{URM(A!BVWR(p@Nr@`}Sb;;aW z!O^k}V=dbXx$alBLS!X#o~bab*121$4r;kM+4fA$_zyQ=L%_RsK}Tc7c2is&>*;2TKg=rv})& zv>WPKD?_(oPG5UW&(MHW%~-{(aQgFxI!j|vFG5vV;s4(30?jq3{EE!Yk%=l}Y_nS~R%2V(U zz?)RZ=d01*QB~9Qe}D4z8%^_0+`GBfN~d*g6w>z8ID;W$*Py;{Pr}CMX>@OmbIUHn KSV+DHJ^uofNRq(- delta 1723 zcmZXVZA=_R7{_OpqwW=gdmOrKTV4)?yOZj@LP@0Q(H!1^Z3LwrjWsE16B;!Y#D+!_ zz(j)yjgTiMeCUTZQG+&(;HC{~O-keg^(CbViGHvJ)K-Ym0IjBK%=n+(J!8&EZhpJZ z|NqR(GdnOc#fPT&Sb!&{gF1I>cQLDJW-AYIj~cOG|0TVtES03n4|;dZ4j%t_xp`A` zv^;+JwR1D(t9c*!_ysdm^ENLCY-Q|t@#fuHeJx$7t>R~Cvv!#Gn*IJhUa&>YiY{{_ z@MIpJGWYLHx$=(;^!IhsneZ!vrAtDzbH>zVAqK!wa16WyPJ)5&g=m!VAB0!{)8LQb z0C)#n1q&7EH-rd)BVZFae^ZDqP+b+GADmnhVnV+EBE&q{1+FS=kj>yh&BH{$3b6z1 z0mI-bn3VB#Ar6CGn?g*1Bj6mEz9odqg#m91kpR=bVgOXg9@UMZ>q0EsM`QK(p&!LBO|wyd zFtH*;&`~vT9=}65vF{KYAWzI&wg{yLRb%O*O6Bs_A~jXOWLBZ9BsIg4L_KA_;Rq{B zaI_Y%QoJ@H)ID+ z(riP@6~^JwM#5_jxr1BG#O?(bHt5-_^MD!L`we%Whnr*ULUJel{Bw#Vbz{+r>8yP} z9{$s=Q8(0eE8=C@+mtor(Kys6@Bt~T&@NF{0u7o?>O4pr=v!oOWKj2FRB~#YZR}if z&95zW%^6w4)Ur+BUA9}~d001!u`0Rdg*rQ$oi{?wQ1>{hR%5FPyvz0&^+J8xQP<@` zqFG-n__9>_8&>}=U4`>QIOY0t_kNLhN;kfQ>QM})=IriUia`CznI&9dO~SHY>}~3X znui+8^@nrn=B4qJ&dX^7eS~J=+~+ti?X<@^VuKx$9^*wvUC`~Yb+7Pvg?wq<7 #include #include diff --git a/examples/13_ergonomic_algebra/makefile b/examples/13_ergonomic_algebra/makefile index 8b512cd..9f5cdc4 100644 --- a/examples/13_ergonomic_algebra/makefile +++ b/examples/13_ergonomic_algebra/makefile @@ -9,7 +9,7 @@ CC=gcc # required for nested functions # CC=tcc # <= faster compilation # Main file -SRC=example.c ../../squiggle.c ../../extra.c +SRC=example.c ../../squiggle.c ../../squiggle_more.c OUTPUT=./example ## Dependencies diff --git a/examples/14_twitter_thread_example/example b/examples/14_twitter_thread_example/example index 100c1dba5641e005a5a5ef19438c0953b8f0f957..d13bff556982ffc7e4c961aa44054ee1dd2f6a50 100755 GIT binary patch delta 1866 zcmZXVe@t6d6vyu^uu%|fDempT7%dxv3Wi@Tj4Whj=~h74I%U~V6N(Gj%%;FLj5^K0 z7{d~yki#ZHN=b*4Q81siV2I07BjOyBm$EeoPuRDy1AL__r4!Q@g(&F2dvZiQRN)-uh;!nM4J+nptPcZGD?GLyc2@x|RqGanAGd#7&q zt4rT}@!bBWPKTe5yXxX^hnsWH@MK#OV^62uxYy=QC9x%k6XoP}^QQ2-dB=G25~k3_ zU&Ai=7o4m>eqxA0|&uN;OtLAELhkn z=3Kx4ag0TN79t;XE@DEk9ef6if&-v$Nr+*v3ygs5Hz6)de+&x&+iwWri^l|DBN)0V zL_g^KU5Kdc|ABcD5PusB1kZtk2?YrF3oC-73!DdM!MkAaju0ExU;*G(&_@lW1!@=S zQY1Ibzt$$P8O?*%Lw%)rYVZdkG`Eys>1Zd=YG|rd*~?H%t8~L;)F9ejjF$pRlfF^3 zTkxsU0h7K-w0Pv2K0o@?Xc4L`3-C$mE_1l&k>iF>n#`%k-pKhLmk!u^v=Drc(S@?i z``WR4M>M~#^g_8ri)EQSMpjQIPp4eZCf-Z6o+2KhXFb{QzwXI)7he~m)yR{xv|}e< zflpRIn)JN{-x$q#99f%x5n`KMM_d+9bvC6Y;%7bDC?aae?%l)lsm1Hye(LmY=M(g? zcN?#vWp5d8q}=j0c+Qj;@I)HNvz`{q6}2CmxgR62wp8aqjJE+lBiP(&%Bslbg;Z6M ziB&gM1o&8ZsN!rw*jE*e=T5TkPMhOVVCDri1Cpr^YA4Q~h25jSyD5P#8uu%_gqHDakWaN4rAR}GW;67#MtO>1 zN6EEQQKKk|lVOX4y4QU6Xt{41xzYP||6xP^h`N#c8B`l`ZL4y>)N%`CuEov{KVXij z^E*vlHb(Xtr%U??Am9$!cPVNHRwdWW3iTXw-b$*58ZgwDLs!ki9i)z33O`6wcpj%A zM80f97Rws}Gmmn=7W1C=oFE=h)UOdK-(__jzNZqX*P+@iDob4Trhifk)HSH6Tx}>@ zpT#_u4(fxNW2&oaSW4pog;$ZQM&UtPM&uDAGG@HBdE`&Z81*$n)$SA~+KLKFyFz=R z4jO7?lkPpQgPo^tsF#g8Fr#AHrvwofX+)|t%o%9VZ{b)f(7O23tcY8ACZ_Ay>?oi-ISKL=ejh3Gd{qKApsDe5Oi zv~Qyxy;BGKoJ#7Hgm0ndXmc-73;KVrWT#MH-Nb+YcEXQ5xFrd9vU^{V)x1(p`gC7~ eHB_pP8VcXu7qD;_RUfFZUfiQQGidyw?0*0h#>puF delta 1862 zcmZXVZA@EL7{~7^?QH3WEuFi)xXD{s>3~2>3m9F-2&|ON2no0*XrzuMn8i$RF&Hvm0a6S$$f^HKy%XtLtYjd2ZL>#;h zu7FFR`xnm5@YR4FU>A4{jDvlkb)NIHLchWJMQ{|n0xm9azG#w8O2v!lAVZQ;H#si` zi*I8ySwBF%-O2n5i5wQ0z=e1@G0Jef%_c%WT7T@Q5QndfT zI2QOHVuIjBaM)4;!(W&Y0)5~-xCpL-k-s_Lz6lcmYrsZo^Ovwbiuq+WKp*%$EJ8`Y ztTg}3`HX&aTJ1o68b2#7`(3-u*uO1?DwI#eGh)iRSPIXZ*Tw45zK&mt_Ev_xlQ;?Q zI(H3r{nm!q0mQ77sC4b9=*EE^pcBD8>f9ZH2b}i^k62U_OekU-SK*6O zv^r#-fPZR47?5GcPTpZV{I%#-lCH0#lHeM-wEBX@F_9`7>bk0^%R&!9Sx>)4QcS<5XHxhAL7RhI5k z=XaWV)9AU@cvHp4L6m#s+$Ss9n3b5bRH{eQMw|eWaVo(#acG*!w=+xItSHhQY7n!mENH!)PIdpI&$?< z(yyr2IyiHPSMihYaVEvFgKmchYOZqr79N+6{oBT{7@{ zYJn=gVPcetLOtnoBUhyuRPjmF_S4w0azjm0La0V=Ek0MGXtx2Jp;@TEL3Kzu|2ySB z$r+Z}sy6>^v^OkUe7FtSlrXti9d)C #include #include diff --git a/examples/14_twitter_thread_example/makefile b/examples/14_twitter_thread_example/makefile index 8b512cd..9f5cdc4 100644 --- a/examples/14_twitter_thread_example/makefile +++ b/examples/14_twitter_thread_example/makefile @@ -9,7 +9,7 @@ CC=gcc # required for nested functions # CC=tcc # <= faster compilation # Main file -SRC=example.c ../../squiggle.c ../../extra.c +SRC=example.c ../../squiggle.c ../../squiggle_more.c OUTPUT=./example ## Dependencies diff --git a/scratchpad/scratchpad b/scratchpad/scratchpad index 434102f43c0cba5a119a25a5aef28e7a1ae3c29c..84baecacfda789d9cfd733c936b00726772d0423 100755 GIT binary patch delta 1768 zcmZ8ieQZ-z6o2<^9c|gxc3b!Q+KqOzU0sIj#|q4l!n$_rtHaO@rd@t$S#W|(}5 zVLDXCsOdO~s0#(IDa4F~KSm;Cn(2xP6oPClBMxL-&uur1p5(sYIluF9 z&$;)e?e8W1y(FR|eO=<1qA80@NE2v?O~IumEiM`$HlhjHljb9Y4t_Ler=9N}IDE~y z{Q5UPb+sH?bIm^59^I9)GKECoVwymL(Hm)pl=G$bTk@|77WkHZ90O8#LGwJ0i}z4U z(P}>@Kf7LK+>_V=Vj8pmI6A17U&3*d5h?60MnwwC3K={()vA>`Wxu*ne{-N!L1QXo z8_PU9gBX90Il~Jkpe8GioP-To^NLR*#l2EeFSWZ5FjeZf+L|tPy5B`3-tdsp_&VJ3 z2U!?SWc8Cvup!$*PQW|ao5@mmm~B=nrzxFKHOTaNa6%{Mq;A_fp;G(Ia>m^^U=7PO zG~}!&VHn7%;T;CZ&~_7mUhQMb#=n!PoAoRe#C^e1-L94GyUj^JO4^ntb`Q3CEc6|ZosYM0dVQ9ydoE#(~s~e zT3Bq*D^*%nt3hVeLZd;@pSsI(u~BvM6ywJdggXBcL<~l94EhXp^Va6D9L+Ko6#6b+ zlehtO!c^y1fho_IHk^%(L}6oIiRPlH+61C57K-K%3ltz@9o+X<4Ua?+*p$*z0!>j#4^>#`YMcCVcOE5z7%D zzd~scF@zXHzw{fW8_?d4xC`+(Vgyn5JEcbvr9UVgKQVHI1j zRU5X(`R1q@m~pvq4MMHMx;u!2C1~bC!Rz5#aY@McAkGTo_v0Eu-pWWRQ~i9VoMX91 zaSh`x#f(Q`TtBYK|8WVAocKR4^=SML@NUJ#W}hD&pZjdY4p)5J#8BaX)3@R%SvWuhUak^| z8ak?Mqy3gGAJQrt)3w~2i-4JKX` zCLfr|=z&_lz>nv{M*l)$g(LoFNe|rf`$+|OBmw(wkZgP`5B5o=go~b*M&lh^N@?|$c= zbI-f)cHkHpI7WI+B-&>lRqfYviLoDa#HkV$Nly${5GT=9yOQpGgb+Vu*s#6p$s)^Z zmns*GWi`x`-&U*@9N`yJ>QYDqE~H8%7`~bMrn<>ncUpH7u!oI zmA~X-DI6zW)+QUZ9$gl+%%&8d_uqAELinf zWG5`v=QwsE#ce69mpeUcnJI^U+ng@%_OzfAbNoYTY#pZjLRbYI`T=qX7H8&@Hdvkc z9GL~*XXdG|Oi>!wHVRj*&|xwg6m6|>t?18FGVZJu*SIqU4nqrB1-*t!e$oQJ7!Hz^ zu+8{@+WB`fbdiOHLd2M!YO-KNC0sOaB=14l?5(`j4BL&l>e0!h^sec?^s))1X`q+p z&QknEsn%8o)L2F~LQpCo3*d-kBS!d2nwy!5LfJhS*XojGW!#d0n3jt#W*>rPtBq~WTATA=B1TumL=9(RmG@YTm~h4H47hFer}k%J zA)W9@R-x|IaY}D?B{UeKjC}&FS=&fDjAdE)F?~2AdpA$^!2#Plw>@VX^32#shrz{_r_qZ&8UkHyZ6htSxA z&t>FSGqPMG?%^NTn7UHD8hfXL_iIc(jkrX^?gShnKBw@Rz$Q2tfrD{__!zJe|L3kD z$C|Vjkqtb>Zp!t~9|Uxh&*j$ZehGSS2px>cCSX2~}vdLt{y$a1gBqI9lQpuAvnSkCm)ZsUp*N za}d^h9wXi1qn5-*+}Dc1>-_$)y4OCFO1A zXm(OJvsJbwrjJ5jxx{msaICzD7jxlCc@gGO1)RF5E*asRPP7*emrKwbQ1bR1cqXur ztcJsZ6?nuZ0|BxLyt0HfH_A?4%!XZZ5pji2%0o(C(7_uuMXH&4yWv7j0QY0Ab*ldR Vld7p*q%*mbiDqyje4zF%{$IarG* #include #include #include -#include #include -#include -#include - -// # Key functionality -// Define the minimum number of functions needed to do simple estimation -// Starts here, ends until the end of the mixture function // math constants #define PI 3.14159265358979323846 // M_PI in gcc gnu99 diff --git a/extra.c b/squiggle_more.c similarity index 88% rename from extra.c rename to squiggle_more.c index 94ae431..e670be2 100644 --- a/extra.c +++ b/squiggle_more.c @@ -1,12 +1,11 @@ -#include "squiggle.h" #include -#include #include +#include +#include #include #include #include -#include -#include +#include "squiggle.h" // math constants #define PI 3.14159265358979323846 // M_PI in gcc gnu99 @@ -18,7 +17,8 @@ #define PROCESS_ERROR(error_msg) process_error(error_msg, EXIT_ON_ERROR, __FILE__, __LINE__) // Get confidence intervals, given a sampler -// Not in core yet because I'm not sure how much I like the interface, +// Not in core yet because I'm not sure how much I like the struct +// and the built-in 100k samples // to do: add n to function parameters and document typedef struct ci_t { @@ -303,3 +303,37 @@ ci convert_lognormal_params_to_ci(lognormal_params y) ci result = { .low = exp(loglow), .high = exp(loghigh) }; return result; } + +// Paralellism +/* +void paralellize(float (*sampler)(uint64_t* seed), float* results, int n_threads, int n_samples){ + if((n_samples % n_threads) != 0){ + fprintf(stderr, "Number of samples isn't divisible by number of threads, aborting\n"); + exit(1); + } + uint64_t** seeds = malloc(n_threads * sizeof(uint64_t*)); + 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 + } + + int i; + #pragma omp parallel private(i) + { + #pragma omp for + for (i = 0; i < n_threads; i++) { + int lower_bound = i * (n_samples / n_threads); + int upper_bound = ((i+1) * (n_samples / n_threads)) - 1; + // printf("Lower bound: %d, upper bound: %d\n", lower_bound, upper_bound); + for (int j = lower_bound; j < upper_bound; j++) { + results[j] = sampler(seeds[i]); + } + } + } + + for (uint64_t i = 0; i < n_threads; i++) { + free(seeds[i]); + } + free(seeds); +} +*/ diff --git a/extra.h b/squiggle_more.h similarity index 100% rename from extra.h rename to squiggle_more.h