From de33917f67390ff664da9e261d704597db94008e Mon Sep 17 00:00:00 2001 From: NunoSempere Date: Fri, 13 Sep 2024 17:41:17 -0400 Subject: [PATCH] tweaks --- ROADMAP.md | 3 +- examples/core/00_example_template/example | Bin 21656 -> 20952 bytes examples/core/01_one_sample/example | Bin 21928 -> 21176 bytes examples/core/02_time_to_botec/example | Bin 22032 -> 21176 bytes examples/core/03_gcc_nested_function/example | Bin 22096 -> 21232 bytes examples/core/04_gamma_beta/example | Bin 21752 -> 21056 bytes examples/core/05_hundred_lognormals/example | Bin 21704 -> 21008 bytes .../core/06_dissolving_fermi_paradox/example | Bin 21848 -> 21152 bytes .../more/12_time_to_botec_parallel/example | Bin 27520 -> 27520 bytes .../15_time_to_botec_custom_mixture/example | Bin 27536 -> 0 bytes .../15_time_to_botec_custom_mixture/example.c | 34 ------------ examples/more/makefile | 1 - scratchpad/ai | Bin 0 -> 26264 bytes scratchpad/ai.c | 51 ++++++++++++++++++ scratchpad/aisfield/example.c | 33 ++++++++++++ scratchpad/scratchpad | Bin 26832 -> 26200 bytes squiggle.c | 4 +- 17 files changed, 87 insertions(+), 39 deletions(-) delete mode 100755 examples/more/15_time_to_botec_custom_mixture/example delete mode 100644 examples/more/15_time_to_botec_custom_mixture/example.c create mode 100755 scratchpad/ai create mode 100644 scratchpad/ai.c create mode 100644 scratchpad/aisfield/example.c diff --git a/ROADMAP.md b/ROADMAP.md index 2226307..fcce1cd 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -7,10 +7,9 @@ - [x] Make README.md less messy - [x] Give examples of new functions - [x] Reference commit with cdf functions, even though deleted +- [ ] Figure out fixed point libraries , and overflow guards for operations - [ ] Post on suckless subreddit -- [ ] Look into instead? - [ ] Drive in a few more real-life applications - - [ ] US election modelling? - [ ] Look into using size_t instead of int for sample numbers - [ ] Reorganize code a little bit to reduce usage of gcc's nested functions - [ ] Rename examples diff --git a/examples/core/00_example_template/example b/examples/core/00_example_template/example index e4195e1241e8500236b425adbb9a44dc7113a36f..e7bdae30e8f0932081d1404a5e75e500e9a40fff 100755 GIT binary patch literal 20952 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 literal 21656 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 diff --git a/examples/core/01_one_sample/example b/examples/core/01_one_sample/example index a65e937b1e702b891245e9b0431508f4d4bc0cda..f5accf36f6d7a41aa9e98fbfff107045606fe9f0 100755 GIT binary patch literal 21176 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 Or9w$uU{SC%#eV{-fU_Y0 diff --git a/examples/core/02_time_to_botec/example b/examples/core/02_time_to_botec/example index 3735046491ec5fad00697dc7705005dc00593a75..2ef9150c3542492d1aaadd863b9e6a77d1a7dc4e 100755 GIT binary patch literal 21176 zcmeHPeRNbsmVezzBz&Y_gG3t`pkc%$#*UX4d2AF6+#h*>QF4B!GcIC*a4R&PqhZZctz&V*D6-f48b` z_e+zgJLl~Fvt2pex9Wb?ty{P5t9p6;zE@gNX0=!}E*aW)G-~xvlo+=n4Be_K0B&ue zmV@t^+6?Uqv@-=x(%lk(D$8-}aG0&|8Gt0`pvnmFTN14?WD5zB+-PNBjHEEs?6OUA zSyWZ+RQS>)$;XiCiT(;CT}y%clrap=a^#!HA}JSHHXL>-zdWKK%Tbf$`juS2l4E#Y zIf5bklgyycLgmj?=md?5Q+#V$s$8{_ONAwhpCR=@W##+9`ah+=N+s8&{Fn-lNc9>+ z?(cTUkzc-P;b~r>`WtN?+{*t9m3y`8ni^{t%)hRweqK{!OGoFt&V>u+EtsF*9>~95 zm_T+>9~4tdZ(F5Vw`&o?u{_l$<3nyG`u;6tZ?B*K`=)PS_4>cR@zCm}&ECqxtb=5T zhYIm?NKl*VIrtEd9RK%GlQ@D${Vz8Y9IdPdL521(mJOresUPPsPT5!qFp{2Kqu?oB zjKn`3cqcxoWjzoh@!vTL{#xLj_@tKGfEY)_OwIkYrwod`b>D0!USW#39l{*0)O0uA176c?*S8@)?1<|dq@YZ4KCRxJgs9cb`xG) zZxq2{!pn6m2~HE9eL<8w6CM+iC&22ZNFlz zqCFSwhAy;4@!VS~vRCYBaycvZ)VtjJocXTkGIaTZHtAl?cu|XD5Jvbwv{53GgbAN}M3Ktsk z^_e?_@5pY@%D+QBWEB%A8Vcqj9R3-M6b@tK1NzME#N4YO_@@Z|8z&K%bIAywH@eR* zHoAv049h{|=%wIfDA=kLWXA^@^qD0|`H%G(pKo9E8pvA5w^tdVMR!rv2)`ekVC-J> zD>R~0U~9A<_8!c78g0v3^quIRACTMWdPtdaw{tU4cLX85b&j_E==VZD-r1&=WY;ifM zvv+alis=0f`s9c{r^IEaRu3c_Nm6g>CZtm!MW6uHL#TqNgQh&R-=J|DyT=&e9;5qY zj#1bzYNy9=?c_vJ8`C+JyfA3!b0dR#P1a`g3{g495D5)fh;AG`ZH(<9uAV`?T5v8W zPSaq~AFTxYH|SKE)MJE?8r?CNbXe5hfk~)c-5Fq$(3w5w)HIrbnr@7CTQ35uvy;hW zM|bq~FXC}B{UG>2Inr8ywpn!PlF-aC%J)#m+Y%CRyQK(Xy~LG zXUrITl*ZXjISV!)qaOQVWA0~DX|QYh zP(KU{x|Mxu9*!mF;TWjL&KxmKKtmV#--%AexRFobzKIns$5#fx*UiOu+1X+)?h@vi z=3)zzHrK^YgPT#c!*_~Nre4YMO#@CzR9l?K HqLL-Y@lTSOM(%P!)J*8SJU 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 Dbx{|X literal 22096 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 O_pMVLx7Y-1Me*Ox977QR diff --git a/examples/core/04_gamma_beta/example b/examples/core/04_gamma_beta/example index d38f27f459b28ec281d0134b9b43d49ce6713ba1..4030e6aa88260d303e614ed6c575f6dd34d482c0 100755 GIT binary patch literal 21056 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 literal 21752 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 F{THXhjl%!{ diff --git a/examples/core/05_hundred_lognormals/example b/examples/core/05_hundred_lognormals/example index a25f8bab3a570126752fe925878a54b2a492ddb8..10080b132ff7b20ee7eb14fdb820588f0f4ca2a2 100755 GIT binary patch literal 21008 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 aD!E;zorz2aiL6>gHzp+7hg(xdQT!LI{uhn_ literal 21704 zcmeHPeQ;D&mcN}&AP97K2GF1)Jxna)2Tg*&kg*ujkig3rG+gxv2gAGroRd;SEc=Eg|931f+6>} z5_061Z(2Cat8{;3#i2+0ks-yK%ABUg>IL)WG}X>-YHVrmnBB2(!R!U|JfWaxuB4M) z)Cc9%@;g>jSb7Pk-6&%*Rkw*g{=a>{pElvyp6#IpHMcC;@$ajD^Y~8IL46Vr6_V!= zQ=96O@gp8J{zp(#ID!L#_nHZgRbB!?r*;y{M6}#V7}Zz@kcz)@4E!@=;BNrlji0qV z1Vk$R!7=duG4Kn3cjIR*RY0WDUoi&03;0=9CDcaznZXA3`Rbd4Exu6L-xl`y6l+SxKu4=+3f7Cz18rf^8r&d4jV;tijqbzO z+Sb?-uJhG2+%KB_O-;cX=&tGT`|287{7sENq^^ivch&5NcwJi{AeNVxEm`WD>zV7B zKT^I?Q4s$tZ!cSsk8m2vv_CVSLX%D15koG{@11UW4C+BtNjjqqL zjjdT9EEd9etT&tyKWKFA&fX=tZpd1Kfr+i=;IrLfV7& zyWc14M%sHU?Kdp#*DUQ{TiX9@Y5$X@{j9mY`c2xo-SyjA{3TyTpNFN!J`u&ZjmREp z7ySFeb<{jn=RDP0XE5tJpKLn2GeGu+CVQYUEywMq?3Bf4ry=UDn z=geX`-ole*k%9F_Iv~d=gdxYE}&dO@c)H~-SdYD+<4K53>kf2EH?Vi*$vxXW8h+V zDipk?6=cT;>*V-Yp7Nn{5s^jv&8v;BMbA*xh#U(~GPW*y4vlEh#dthg3lsNdb)#*g zfhGDU`Pc>!wLR1}wvIO<{YKxB$wuKpSvx+SYe#ZqZG6X-Ffx(fh+*zG=u=zNZ$t)+z8EZeOV<7f zi%`3&BaB`TP=9X?J6+R$jyqYf4E3DyylgmM(i0Zq4{{`cFJzjnCi1U!P1*bzhcjTME)2npTCj67D35a{z6UjL27*qi#7bv!gG72Nq#f z10pjIZtaUc2Ar|g4mA7~=?CsDn!j*0+`SevdVSU_SK+!)2+w1d)0#H<1wxR=Evq{? zkZ~M}F_zmY&Mgt^6fb~6C{{}@`P#Xqd(<31{AcCwiC`YX-y28#eez29`;ZbDr zv5!Df*ZVQ^wwnB&xa445sjpA5_2mDDq3=Ye)&Fqkeieg)I_I3MRv6`cv=h57_;&Jr zXu;qtf*2649kl!+o%3-u!4)MR5m%x?Fe7p*^Rk^=UR6Gn`-A<^a0sKH{R{k$ z0R&NBGdYAh@c)52txhryKaupcQ3O4@ zFSx0nU0{F&h6~v>Gp<)XmgMCFgG;X}(3u@A@{~*a}qozI_2AkjRNZwdf zK}mGVX_;;b>!2w0L^|DzJO4Fi%SiG;oYN#E z?|qyI(-hL}nz|2b{6S1hERt2fM?W87jr{~2V4+y~{)QsdXrnDCbon2ic$+MVJvg$i z(Euf7H`OH9?$|QW>CgiL)(2XkqM2XHq(_ww7g{UkKl#slxAz~)BJX)umqjjkE4`8b zT#X&UpGd)D?>nD7j>9Z6!@2njRLGI14$Cv-kxWu=*oH6T&yvU>60@Xe(7AarG$@bm zT2b>gEW3Ox+H3O`o!)c<6qTI8c{=k9(gV|KPTzx{lt=#TjaO!g z6FEK56@CT$KrM||E;`3cO!Paa4tt(&oP?ZO%~Ie7)M}o_+cz z+&L+~k=EPnXz(QRu+ASQ$h>0Z ziJ{xHM|yK-msEcB?dcjnxcH6x>L;vPc?I(=UM!;Qo(&uS!_RCC2Soo+clHMXZN5_!sGv5MF(u3 zLmVaJ>9JRlhu=K>4*mfTMG(T_TIR_8fpg-9>`t-x>hIljYu+qEll)rz7Q!b|kdP>Z z593z=d?z3m()$E{+kkH(WU0gTcm`B=*~=X6jJq7UOC2t+Bb#)+ir+!lRZV;-_`e~s zAHQ4R-z?ZJ3`o3ug(G|UMER`lQJ~!L_5FZUi2odZ4*_?*;xEV;Q2a!j3S19jl8Q$0 zdodZllJLAFc&%CvdlcU)X2Z9PTv^dIH42Zy{(OA`dAa#WIKM zsf;C#+$Zg&4tIBEsU!c1tP)4TmBHcLJvJ=lP+lwq&<-KK-vRo52QVi_CVSL ze_s#q`)~Zd8*L$}SRwCACn<8`g*$#X?a(Ymz%y&I@OyUG=r-*~sodU=zv|pW zRemQ9PhrX8)(FPms|{hhdo>@w8^`_Q32IrG56?@=@xi|mh5we6ZK3tWb(`(Ne<(}( zQ9XVS@U!&VJDHSE!FyM`8Zmu>QUmdlqe{hm92 zb#;47xZPdkndd2(UDz&Lg`4IUcnaou=H96AmsN?kMs11r`_0_+9xA_|o{YB(e*Zif zpD7+n5db^hQ{}u(<{u|GUz73U1?P1#K3j0Slkvzdo&Y9-U0fkJA5CbC7w270SQEi6 zFpE>f#f~?--6`=7u_GnkDSA`lU7}cjuffzU?8y;q)~wxqw01sMezIhW~v=` zCvpqT80Mdrc)!<7wd1Z2uQ$o~t3;}Nx8u$OuMf%mSluej7*)4pRdc1p^XfMuL+fg$ z_%c3%Q8ik(QsL=-RR)4JXz?elFNAmL_mq_uA#T=qUe6itMa5>alh=1L+m^yV8?+w2 zKCqrH$v@i9KLb9M{bP;m*HX_^ar#!)JOWec`K=^R8x==d_ibWy9Dk?z`8vefqp~tO zufCFcM#udQEW{Zp=1UG7_$~PV;4Gz?uT$Tac2@a_?|L~U5& zN9WsG;9X++sC=sd-jWJZS4iSrVu%t6McxksyoT@@qvzujn!i9_z~ntL@IR;VJ#=Fb zMc#7*d`aRZD(Mg1A0_{|@N6U%dA|>E-x&O#YW^X8!Iby1z&`{$jn_KwE&%Ta-C8Cg zUO5@l1z$gyKArI7A-&FIYC=BnWM_fym+!UBXS`c6%KK-imT3IFvlKp{fT)ys-7tX$ z&EKmxBJ8();BjF-=33T`v)T{*y_-2&*G8?URol5y9MXq^!*ST7q7!jn*Uje z*9{Z+w=wX&z>`0%`sp4X>38dVxL@l!47}TdOV`byNb}#T`Q?39Fc=bV=2UgMu2a9;^`xn0mOzKUxwR?asS!18;ZV38&vMm> zk*{s|!p*)K`rbweAHb*$`s$m4)&3@5Z8+E#^7-34L`{&y!+~1Q!h!{bshQ{_8jU`G zTbqBQFVGTh+lWtR_?rX1+V+DE7W#b4R(V&H`bzI8p^tqe z^VSMq$(lR7E6SE8Q{=ZnfWjAEe5HogV3e#9zUAe2F7cN8?p(I)uF^_hrFThrDQT6T z`KSrCORMEaK8lOYU-<}0hxzLL&CUKxf1D&x>ks?sYa=EFMMBHB1l#bT5sW?9>?eUin4ppT^%P%iDCleOx75;? zRm$!JS8Zd9uRRo~)f#Hrn?vo*Y+iF?N4UK$@nsZp8AVTjKPA}$J!lL?TdYiK4)|MO zMs+BpO_Cp0@tMBHGNOh)rGl@vj3DTfD?T5-2cr{0_W{4u!MB(A7z}*`CRvSk(8$=T z1BhJm7hsYlctHNvCVx#p;QKNrdLqa&Mr@Gqgf=#Z{ndcsHU%5FhL6t#+FFIDB^VBP z>RZ}9t!=^9KwEgD302+Ri0>ga)@qb@N!jeMzg|f827jnQcxpGcpbG`VZHn?>pe@uG zY)NYPKx+#$`AI<6TARYcBg5xG)l(ltlPaM=jqrp69ca=l26s?qwI|S^=WRnRv~f%6 zP!m{5a2;Lwn;W4_i6i8~gThQCoUz}yQq?j^^OWdK6fju;^jKQ@8CyA z2bN!`bNN$K#lGN zusoj!8FKvCe&%Di3G#Grf!m35qZYVV_ryMC`!!n7i)rLjmgn;&!(PqE{j)re|9LIH zMDw|+BNT?cvZao*Bx9BTDRATy){jfIDjHf(R@V5xXpwhoIfgx29RrJc@e7MQpMM!L z|5)-nEb_ftfMF*KYRLK+{>CED`#6TrTF!$k$7X%SeyjiXXnBr5@0%G` zv7m+=KSsZ6k>_(f!`GQnLu>zsE%JQcXE>NJOewJTe++260U_rgaqu~izq@DU=QhJH zA>%a3^ZkR4MWk&cUsY?Q&GHvOpxo8VUgACje@BrgmYx=g{O36SD`YAE6Y_VWfzqj; zZ0VG(kw4ro!*LKc%O}oH#Y%?zVGS(D?MVGtBJlh;#P1Gwynh2u``;yMjvFCn}6rR}5UGGXP#O zS4_a~baB2Ig>s(6sd}#hs8#7e&Tv?u@wtG+=cY^sc%DKFhO8k$;u|Tsbps5AOHmSE zK4o<|9nPPu=ooT+s=ZQGFVf%+tqemuAK4~8U-8A44u?CmU3O~7d{iX9e$Cgf`4}G4 zhG59{BsJ)otL>Q%J*cDPk-tKu^R3c+>9AbWGo&^st#~Ke@Ly?fx#k`R&&W;KOdIyz@{&Yd%B&g_!*NXeyA z1=5S!pqN^6^-7V`CE|o*e#)PPi_A*(e|+_~m#sfpIRD0*9-n3${;Oq|eRkE;EQ5H6 zh7!?pNKl#bPFzHz`u_vu6prA&;7iQ}M@j)yOv+G6OquZ1jwb{CiV^7V9sy6&MJD;v zfcM}^Ppg5*L?0RffBgvfZv*eam7cB!B9r{ZBj9fXenz?wD*G#|m--umZNYWn_GqxJ zdg-F3NK3FfP}dX`e*e1WNQ=Kc8fc69{faarVX(7RG)2~l_VsO1(Hhwx+QTgZ$mTK; zY6}KMbD*gyQV)5E!g?*QIRF~JzrHiz4~1I-P2ukaMQdBQB^nZ-YNpVfL%DjDTT)fI zaFPGgl1oc26RG^XRQ5ZwsWUlatkhMV80$B@W zE%5)>0%rI71?IN==N1TIZjMKDtbVh5cfqbyhpo$AK$SJ~Mf@7my~t6yk?NBJ7ShaK zD$~*@*)PjaQJI#H$+#>(N@ZGlB_EOHhp0?TqU26l{xy|pDU{qU%fFy9ErF6DUn1DO+g%o4ed8`;dbyMcMo7djBpRD< zfqsL(39&w9A5_Nn)ta$GX7}M^%d0EO;$?dwc_wwW(D<$pABReqmi&Rbp8#v#m47FJ zc_*WVaOY7xJs@|Eu?CFkUDQ#uE+OaxlK!$A2wZf^j2$z3jxI2JPUf19J?6es(X$}n zSuLQz8h~ohoB2O7&i}k?{xtB4j&H3ryXXG`lrZQ!(edWC`KM4wgwg3l1N7aK{|U+t z>iIDKFM{s9Oxb`Vs1VYIv=s*ERIRh4%P ztAs^WExCmp)vBtcv0XsquLB}676AZn_Y1rT)RJ?$tH!=Dv%lgQ;b;3ck6f&;wNj&kTLcGL?`+%TMCFjDlp`j4jPUAcAGk8Q< zu(!`a>eqsg#(Bu7?%6d&4L_ONMw_u-v**wRv#ej{-W$!iLlb3gbmtUu+HupkIF4w~ zuYoWq%j2oHd%z)`y6-)6OfOMU|0LxlL}}9w?X7@+H;EOf~gtn9Y zJ!n)75^y0?RpkEK063E`Zee3fUtA&8v-x5ZS1Vt<{+aT{6wsx7adQS=I6#niQ&GcU z=q?W$7yRNmlV9lW5!#-zOMJ*KGCq?L^2c3Ly!6K%(jWix_L*{STCAqo=c$v*KA*eK zV4t@^ka$K>XR=Q+j=GWK_8Zx!S&FyY2eS_DiWGgTuyoL|R6C&o%204tONfwi!SchS z3Xz7}YTD#76kD(2wuEth+>9Z21mhgJb2@M1;E}QQ);Ys%XKdYsd7Md9e0}dzWxuCD zn<2j3sj>b52ojqVwTvvp7ba><$~5lJ7++1_B)(=z@vxtJP{o(;x=^KY>q{%tEwDK8 z;tA503=DkBp2RaKo7-|RsZ~LZSTC8I%t+>j*)iqR=AS$pvw0bcV1vRng$D^i=1!Zt zwZ+*HBTS}~jjda3R+NVBfJ8`6O{m7!ZX1a*^hBw8P5w2YO&R+8sewFX=(!+BOjgvV z8@hP4uQpkTS~VYzIL`*pVDCm6&(D6M&FM~lU(&u5!tz1&$u;d9(3sn9M7j0=Xx0?Dl7A1g(EWj9 zP~Jr@Cs}aw9^8tIt;saY<-1Xxc==-$rju2>AE32_amO2=g*G$um4ucPs_B{|(%H12 z*qzubIVnESDBadD7S$S~hVDrD>+ydG^z)?g!-J4!#txW01Gu{%$P^)FY?s;dC)DmT zW3Q|Dd0FP@-jCdk!iZe}LlQ3b8g&xWX!qL=bIc2=JAHBt2+p`3Nam1#rYYU0%_JQW z@TXM2&k~GYNRMrna*JOB3wl}nG9YF-y1%*#FF+mg6Min?ntf=$e*?A*@V_T9UMfrj zTsom3@x^i3gK2|!fQ$2Fl^R$(!U zDw=f=6o}>*hR@V#b99C1oXPQxhHCP!hmgeaKT~7Fl!UO%i=V;0i3?$u}5eGI%JAlo5UalYU(}kdu^Te*QI0+g&2>DQg z)?%Z&KX=@Eer*5mX=6?EiR45@-X2JIkl+ub9OzR``mFuS^zok9HL+inQh56>n-##xvYU1QDeURTIi^M{a81FctK z_!UZM&ijv!gY))8CsVIn!}){@_E)+U~pFcU@)dCEv=**jK)4U+fj!IzFLWhkNsWN~L;3{fzY#|97@(h23yiKX>lswl7Qc{jHzW+mP}D&u@5#e^K0m@#Vm zLF4juf9Wvp-Uky`#16|4Nj*ORZPjz&sHFuNrmTr)?V^CGnm5pKxN_UsW=v0u8TWRT zu~Ej>Mb~3^FQ}aNd~`Y*%*(}e)pPUvRk2Tf zR&~A@oHR5Bfm>u%&p(+OWr?Rgklj*~nH!VY8XqP!pC8`9bB4-oqvU;Q#Qi69r0#b- zNcYm%3OVb8FE!Qd9a`7ZK;N632a+LuPP6hYN}UW=PTsG!&GBSFXUgJ9nvmgrntE(c z$zZZ<%32_6fvg3x7RXv4Yk{lygvsXU;^zZ(5lDAO8oVXMwD!mFG zTcBWRe5du}pWpew)VQLX6kq+&uP^@9sLLf?*X<=fMOP!s$akqS{~o(i=i=^J<<(zY zaIROC2Npbg)4DO&UNhFaQl>xZ_GWmSpF8#FEys5*a7@j;@-YzO`Kj<8v@Ci_a{#ay z@EG7Gz()ows~`0{-?l6-%HmI!)c{xu_#42TfX@)!Vapl-^t@wP9|L-iSe6^+Tl=nM z{Wajugk`M-biHR;KLUINTg!exfsOo0z~z8$JU)H|@Y{d`fL_40c+gM{=sjjx@=Xb_ z;CZM_j_+M79Gx!5)bXPWwmU|<2#^1wiUZJnh9Z%_ndyZn()4rRvaFp%>2xi2y00?E zZ7Apx3#MFo@pp=(7~;n^T081@xhD6KIW+$m$SoO_KhQdz7H7(5Mw^%hqYH) z$BZ&Y&O*$ILCcb_QcJ%rae6jLi%WaYMtv#jZzMTLE?g#Xn}DPD=qV9y4RAYvTQ4yR z*9u(T`<6xjQlMnwx*fQF;AFe7!;ff0|`*dg&ZU$f=HT?o94CKG>`H&vH;Pk?vuWa97hXfHyE>pwYVMX0=!*0)If zja#YC@V9M!x}G9vnS0a68d{QEIDPOeF7!k2k|$3c&AGyuSPJw zODn>9$2A>)OULcwZ2;LHR7+C)`%jiVn%~l8)&pBOS^uT(FWx7VW!76a^S=)G`|8Fi=F9tqG7$UCEH_&3l#TtJs4L@Jwd3-Vb z3S=B&ideN=VR)SRCB9Jb_+WZ^qmJ6;@yhsnB>h>b?_e4KJ7hB1VWfUNBjrpM_s(Vs zLokz^7bN}JB0Vl%mTZ#*f0xfvj!1fUYTPlN_TG5==d?5d2APEZ9@7(s-0y;Fio~Br zE-nY&b2?glD)HwEQ`?zIR!BL9=+ceLXA`Il1Mk8t#(rV?R!PsLA$XgXn!Sf<>{7Tbz>4{SA`B6#x`b>6sTGI=>^GHcPYXICk0{sD&uO~A3+ynH38t?U> zfW-UmPk^WXrrRe66B5~ffCdQCg$ju2z^A-I(2@h3kD z2Rctz(X#?-cl&gO;O7WojrUxj@bVb}vYjKy-^TQM0%yDZ5_lKJ-P*Kx_yTs2?dtJ6 zL+kT^mJ`?dtk?K|)^gJ0guWdiIsJNGlh3Wd^Q^>cW*hhe@MO1iIj?Cs+w~2sUh^b? z_t^M3n}c~RQ~XSpctezG{rOqVG>zYWzLMb6f-VAn1`D;pa-z?{-Cy^MtFF>=2DBXc ztO%7g63lxC)&a}dJ*KwDd2 zqd(XZZQF>$69Uaae?v!e^G2}PN`6pAhmp3g?+CA3C)M-&7hmgJTH&v_x|~jJD6hHN zx3qE*1mI8(e}$=Q&GKu7e@WG{g}y5Pvc-#6R8;$`eG989{PM^KZ|aN%oVU;}JMLc> zXl@QbOxht1DN>xl@O7t2Xeps!TXWct(<0hi1NAs#BG?d!2I$a;l$=ZFaf>aHHXI#+ zjz^mP^Gf~oVIghA)zOGPF=B{yNL$5A$5IT{rUZA8`80(xczd*gyaHX+`4rp+{%PRf z5cJFc8Q8Q=I~l{@&>rzO23i_$YKA=bVyI1Me}12*78&hoW3zkg5Qs0J#;u|X)r(t#{HTz zJ?JctVN$f6hIFnA!g0e-@EFD*gOoei6liTCf5SRMM8o~TI*F3@jm^;A zV*`Y6NwKPdt2j8176Q%TdNd!2l4K}HIpA z81nu{VHGXs30{bc_8iPVSMxLUpw6CnKf<^<$k_Q;X?}+E{{Va9`!M4wk+Jjh`kA4J z2{laTzaDseixFY{d0)qn+t=Hn)IN~K29TjW9rN?Pk6|Mj7m0MFEcc)HUt!>=%goRF zNQS&`1c^*q92W)M?`e<5{Jbw?sBe4vY^9-gnEqDq)1HsZyzgVUR=319X8ko<+=UF; zl=-`~p%}(BVY>ae|3B0G3pJgW8bV@tKote?6A!n~{0{&}Hevax`@dcX=;akCR7&^% zFM+o6do&-zotlpUFE1GWV;X;4S1@FKnV-uHA4%iqbs58kv_%uQ%kt>U4!i!mo@dDW zeWp+EzuH#~`H$DT383=HMqu*qP%G3rfZ z=)595ZKU>@d>&dlJ(n3Kz-!p}d0*Q{8)GDCFY<3C0P#U8iM`%OOIj?b~vVV#o4 zcKj#slKq%Jz6=GV_yPrs6-fPZy9~cVjh&yL8znUV+7zeCFdxHFV7Bw~KFjnfde)Q0 zFdvu4gPCxwKkpM(c@;%EJ+);|6LtHgb|mu5ueSxMTIRPyj=dBSGM!#k>etVy=(z%I r6h{_~Z`w}E40B9du7+!8+T%LdPRJkN7@LD$DDB|}Xr-7yY6#6i65a3Z z?)&`dvrM?&&CSh?)+4>$-@f;D_r16K?SB6BeR+M=h60B}aB_-I3o3apR!BfsJh(|` zKmuZ=D8~0f@li1i+#0Fq`l2rZdBXRPM=lk z1ygQs3*^WyA2zX@x9aw$^23ALj!enll&)%Rsb8`Ds@BFOtu1Ydt|eV7S1ehv+~3*m zUnc9RU(^Q0)W#cX$SnheX){V+P)Jdk>UZ?M@M7ZH?q^m$a5$2A;Rl}|eXiy`)RF^M`G2R*0r{`MXJN~tq~ClHAmaqLY?t&EFKCe)|`xyt`5=K-YhzAkHtkt`!3Ph z(k1{#mr_d&x}{J@tfej96l&Ocn}~*6TiYAZLPJ+L)YQ@zZf*GjHAw8b!DtvtnqrZN z*jQD$c3o(hf0_T9iTo-vd$oT#hD0&u#2?W@e7j`y7D~i{vI989dO1Fc%Ufm;*H1N; z{Kj_>mQL{m%9M!zHc;ZH6u*r4UE&b(gemy~DNpsh9`bs0N;|1TuX~L5YrJSPNlmO@ zTt0TA!fB4sI5>@3aJl~Lij)Oc^Ga2mvfwmFIGwTJG#@$jX?!{WvJ!o(FL)^b*0^VORcTSG9##d@^Wz>b zicOxYhVIxp?x`()=%YgPj5!i7j(c_#{|bdBPubv;_#`l0ZqaGUCDpV zH;G(v-bkJ@2H#v`44!csjzh-C`S@HYsL=|FGNUjJ{K)bYZ{4e@S|mPEWAv=LZ$8x>8pX62aM!7_@*3fU$Fo-H9T!c zQg6Y6F#o)TKwv|18JtsC3X2b=o<}9Pomq7i@DxM`Qa@9o#c$vSmhx#usTaCjuL4L- zgV&*Cn1J5^An$ta?!!n38CEj7x$4rgR1>vjcA%oPgxDSdBR=Cm$(=tG81il^p@6>J4-QJ%G;;K2k5feTb9tTL26m=#xYJI4t_MXHRhm+M7H# z52g;CRlp4lJPd#al)fIOZJG!#xjxYPlKNZ3pBmB75eIeuH}f$jtTRoX>cInM{F6V7 zd#4-8A!G1(v9WYm=1xrK-0|5mH@)i;a@x4zxpDyU?s^f*;N}3VG}JTdpgLpZgfU}? zIB0B=>!-wJ>78EBXik2JHg%7NjO2(hm`0DDmbu@fN61~;6_>+9drxC{^VXp)^bC2L z&6o_b-t6&ED)xRRLtS44Mv{d2jx~AwaL$&OA@q^bU18~`B4ToZDb=kc3QK7olgThI z(1o7kG~T1eNZOb&LgPh{)*h8X-qbgxJ!E}qHB^p0XfcVlKl$>)K3GI{Hhr+=avJe= zjJR$PJsA36e~dkAt~aoM8SF2E){9o9$x1%Z{}=FuXCJMmS^oIP%S?aFDup{d`@W)B z%mECgUilB@lCOg|hf6Sfc17WnLQJJPR}4(4lS%^99uUtTFZ@$>LH{(-|w z??eCCeRlu+Z`iA+XY-bDD}&CsmHV_0U$4igQJARfP%k3P`KDtGlW$WR2X2@2RlC3@adMC~C_fIQ({}{|u*n9Vc zy?eoxDv|?M)7xrq-?nrysxGh&*OT4N{T9ZR`}&mLLH2(Xy&LPc+aKmUqI^(}oq}sW z{;}ZsYPY5ItWP_lyFs@>mJEMev(EUwHeXXjQZ5$?6e+={=3(Sfnpu08!?-w&Pl)?$wm@0Vs>?Dk!Rn}lnsy4 z)$#~597BvP`8VvRA&7ik@f(RCw)8Ko z!{uA zralaYK0niyy|Fk0C8?{&N$*7OpeXl58hbX?4Bqr!*%4aSQ#VUlTCvja(MEM*I?DZN zjoSO8|B^ci7CC|fg7N>j@q z&nE$x!s~iTR$=K*T{_XC)(vOvpfJJCc%rkkza{;5y}M^~&v{3Db8_5Bo}rlw*9;yn zG#u~sK{4DnAbo+nafX~?tQt!EA$h82^nA}B95^UF2(a+5+@ImA8=)!Z|AD0gq-^XJ zOPkal^w8#PTF-lqJ&Sry6#POSHhYE&ux?0As4P5$RvpyPNo$v-ebL`q>TlzJy}yBX z4>{t~b%)V8Y;CW64z?Mz^cy>8tX+&#Vd((vF6FqW|A0=S{>{7I_1ymk#)`gp_MSv0 zIgYB=V8f9Uu=PQ0LmBrMu;Z#jp1t3I2Hi9C=qVcEZqitG3ZLIOHH16l9KgaG2JwWbbIF>#sV;mz{et4`x~_LJFKyJ7*E1?*Xo z97SMOtQz&~T>}luq6aoLoJG&Dj#Uo+krvUy(yC-8wc}0M%Q-L%c09?aK*54B!$PyY zmG@3Fmls?ThK<1#PH8GPO6SI4&soQwJA=K|rRUWR6B)zOFVHmWeJDBtGh=n1U40IR z)58ep_Y$vFCa2NH?MoP%TEF3r;s*S;Z0Wn;er9YI>~HiOas*esv*+VbRB;;jLkdqL zJm_jRc*m<%$v+1()h;nMyAQhJkAol3x=i)zGrYv4)}53?Q-`~4w*!*B+Tbq1ki~X%lix*#EK3aH5 z&Cj2B?6!*o^CT@8kjg}5K+#k9w>+itf&H1UfA?!YoIjxWE*{wSqld2i!L(}wRNKAR zA0#S7T|g2*nrd?DI-MCPSyEB`{>Ls0sPgEVUwyuL#?~zt1!`n^QMb1!5PjM8+0zHIE8+J2L6=ERDgEird}WDDCjY&N5YL%nH*o(DjZ#2$NX8-i~7(P z!tu{o5x`ikB94mbxV6i4uR4LW~JxRgb=dYqN+@`5`ra+j==Dn2_?J~R9dSW?hYPrOLv z%ObQ{0YAB@ZNu#=cj-V=k?`=DO#J(~`MON|HA;9EPbU5y9qlbCasBD@ znRY7g*XIh}LzU|c|0eE;uIB^a^CX0X?W#<)Z={5WPqLC06J7fEWwdRibW9QR9K*kL z!_!YP1vJ2Tx9$k{dqDH?Z{E0lJnt+M^WnKhIX>7|Lg#har}g2VX0o39g>9rN>v}wQ zC(Aqzt^R+En7`+?X)LD=J5oT?&6?h-X@{oWn)YeBU(qELJ( zC%?;#-)#PAg5x$DpDsAQv+*KPzyWWmaEcj%@D=w)QWzBFsO} z{Qa)A)+sI#yzXSpEt>m&q_U${rIBh=j)Ly;wvRHljG`r;8-0d`Tbj1 zkPF1*`7#>@ycqT$(APh{UVTjB+}Z@aTJ!JMAtCR-pgI8DH^FA+iqNi)uBx`U+OG9r zYRDw-bs-l6?ghU+4tGm_Q>~dvYCWU+f+g=Kp>{su1(WCLLz>^GFXZwb6Zn6k@ooxK zBzeyY^q(Xyp{%c`H9udV<^3{n{B8>VvzmX@r_{)MLC8*neQ3OP`^*7Oez}!y_94mp ze4ypho)XIXS_6D`!DWK4H(XgI^>Ar|hKS#?UKQ%9Hp%Z5KA!?OtiQw)0`|crmX_Y;iJ6^LzFBaFy2eq{eUcDPXt8p9W5P z?D6w!=GW`_k2U|x64wO_IXwkVzc3;@+x1@zoc!h0@pGHj^)cW+i(bxNC;7QFK{shV z{R$OM&@I^XrC12M3n>D|@uL*|xC2r+Z`5$QhJ{@oM%o6DeM>|?0 z{sz$yi+9Eoct)r}OuU^V6pw})=>HgKNZ-9}3&9E*i_hazq9*lxUJBOHx{8WYjzZirY)A#ldCSUYb|v@|!%9)?02 zwgxw?53RqUf?f`i&D$tK6?HcRH&w37u95E&0faZjgw`8cgHf?ngf>>)xHec7x^csX zo7Pu{s)K8*){|EGLXd{egzU9^9Y`QxeIH1tG+3xP9F2xQ@MR{Nu_+RZwuJDqlFp8B z1Kv0iX$;51^v)8C+Eqd`x3$Ocq7qo7JsMh79%^Xeig-Kc6brrmB$t8&*-x`fdbx>3 z053LC4(W`;av|!IdJ76Sga2ZMc11$+pIDaO+g{KTYV2$e?F_dy;^i&!^()y;geq@@ z*2b2$P@*%^s9S7EL^~5vZYSE(6;H&>H?ff6DF*cWTC&w?BVp)zglY)UNVpASsPF95 zLy#|W30dC$GNFcE-GX<;OaSzXmrw|Aq0wQb+khRL;ENA<1r5D=CR>d*=)~CSBk*+g z8)vd5ctGKfR*DT+&{A&(h4d+RNccN^sAqJB7b-cN>~eG#*nmcSK^HE$wYtg%Iju zk=8H?=v+r@T==E?{K)#7+fk%UXQV;+a2;+-Hfe3#wuTnb(<1XeHm6DzWKV&KqWF(c|QL!^)aKScKMru$o^L|0O zk{D${P3`Uf3vjYO%kzB&rgV<9CVTrYqtYtR_aB)0^m@WNIDWYNIx_U0E@tC%DZdBM z&d+70e}b&XBG30TI#vTjVm?)xC^LQz6%@PNKHvA?_d2p+^t3Sbu^nmOPvbY`Z$ts9 zYmK7&6fwWKU8d6@Y?U|9Z2=|1?XUut!I9Cm(c%bMuCPM8iCvx?a^RV`U8lRB4~?zycKMti}D|^@r{cbKjMO`aWVP`nau<+htxle%V-L)fcK1 L$K^HwTT%Qcy>9`& diff --git a/examples/more/12_time_to_botec_parallel/example b/examples/more/12_time_to_botec_parallel/example index 7cfdd49f47a997bccb9033420f72823e4318bf2d..648c88e260755c7df40b361d2b1ad865855ff441 100755 GIT binary patch delta 1524 zcmX|>ZETZO6vyvcU6r6S@IK{g@TNQ}q-ZNZz}`@8p?|2_9S z_uMW%CgWo=;gjanY>{p$qfNS`&DWAy{!cofUC-+}@xv76xw1nB>0sqYnkXV? zRiTVguxg*YMQ5v;Ekk)ijE8P9Z_xXij!<#6+ZHRxL>L1RVZk=qRNWz$(C5|f6intT zo6TQZ4v&ej(%&{kX|*G)HRn^Jx{}U2x(Xg3Xj)aIRL8M`s)yQ~Vfic#I1gt($W5Ex zqGhgLxySg%^`=&}+akn>hAYtf95KwtwG^}8`+RBMNCm84Jcl7CkktF?*HU!p8fm8Q zmaZ^oS<^|D88okMyL^{=>RfU)4b@f3tu%%)mo#^Sbd%TZux&+D^+8`{=y--+c86@X zht{qPncY`Kp(;QEUyhe6U)BLDeWmW$oa7rSLK<%9oMPwSLxTjg#=#=MiIYrkz zb@DjPYiy8jP+MbI*3v-Z?s=DI3E@95i3k@l3-y%^Q>iy7x6lr6gSv z7E3Jk19LAD^Zm%206W0%!NH%HL%3RNl6j{}{2X%%w1W4+MPN4kNw5^002`J5Jaab~ z2YbLn7nu7&G0Hpy)?7q;5t<%g_6k{h?4kke#=%ZKtRmJ_dHy1Vw|13N&AxhER=pA&% zZ!hk}EvL=Og@)%XqUdpwfx?O++%+nfZb~(Xo(J39v_%N~EX4_QD=iO{D(P<3R4pf3Vl2s;OHRX~VNE*{yTZ3O{TU zsPqoC8%>?K4z>`gT9(n*Xy-C|<%_}=AsH-@QCfhppS;1v+Wm{PDd?1?)E8VRJL$9F z!luKh>J}9dO{LO_(oevqu0}OwQ_p4oW#&C;OXhI(bb86$S|W$2to3Pmh<0J@q>~tr zky&4bBiHM88K>8Edww@+{?fzUjbIJxK1wI`WwM+e=pLD*+O`<9!)@DSH`TW1nvSB- z3Cs$Mrze=hYOlHy-IA?JGYYSdy4nk6FYRe>l?mfayInJ;Lq#U(Bioun*>6;=*{{hf zG~9Vm`i$jay9UqpwRf>tzivP)e)Jz%MOJMuLfW)k;WKO-R?UUBtJ`IMB=XS*-5ztl NKO^loE_HvR{Re|0>MH;M delta 1518 zcmX|>e@t6d6vy9vP}h#FwES*hTa&SrUxhjf1qlRPTUtc<5r~)}V+Iwnxv)rt86s>! z1Sc8GSvE8-5Z#c(MImp05VHkLG+WGYurY8(w@z_`3?rzCBr`dFZ@YPudq3}f&*{16 zopWEi7e)7?7%vuv+09CD%xZp-CCrXJq3!>qe)Vq5zu%3XY^gjy_5Mmb<-YyVvAWY+ zdbQ55$(`b=mSbBLhDR1f`7_d#Lt0vDm@uD7P?WzS--&$yLbi8NQCg)aq7!Ln)wOua zOph1sSMVVAl0^flB2%eYK0JA&4DLG~`73xZ*`s|uAOT!~_VY_7tjLk5{u&Ou;GAPvvczfVdc(+cW#72%XA*LJZ^ zcU;-xJVoW@ica$9)rxc)&U-Uzev_iO`_~cSI-bf0kZf|kSL~w$`MKgDeUhJ+RIFE& zhc{n~O!;=X_6KHU8C!_cK>ICP&Oa^gYhBM23Q?zBF8DQ^MvEIYeTh{i$DX9FwQJ0M zNT>39=5eqQyb6wAXD&xUt+ULn*qi2<1E3ZB8+3qr*aKj)Ec^}TJn0WMgM(lvIC7JD z2sF(zUjU15AwJl;z`Ud?UCQ_(vl51Yw-E>&{E4{+41jH5@z2bsz;SR4TmvtGt#_Db zrGA%r6%5=%0^zX#!rTK6F2N4Y{>E(8!H#R{1J@qlg}~Nj`04f_^A+Z4>9ESY0h-pC zJDx%%{=plA)8GbZ-C#DM1>Il@7yygGN*ZvdTgFhgECf^Bn@kePm`=<_nseJML#T34 zmL?2bYNZWxkj$R=)D+Yj{R$50HG-K8ZEH|b6nu=zMNBJIc@kqU!h)|hIHdOy<}@Ak zL~pB~VSYvG9;2yORqKto7t$j}_LC+&(a&!|H+9%4KBHBg*lg67Mg%?FQbQ*X0CLC^ z>!8&`+ZFP6sB2>3>Z>v$ zhD@aftyg|zmZgzHYVx{dKsyptLWj$%GenlsL~)67N}m%WbQEh7&0w7*i?0Glw)kvf zkWTt+u^s67TaSO82RhLAC7SUSh&(d*UHG>u@pr-ZYyaz_gG$Pxb?4CNX*|VS^k{dj z{H-jB�HJnTNHK4wuD?A?hzH71P>WnN6i>)ue5dC+LKO%+>LtPfM+SPZif_qUMBf zXeG5a6_%D4|G?&@x?$Dw5Nb{YEIA=f_b IcJpWIf2A$vdjJ3c diff --git a/examples/more/15_time_to_botec_custom_mixture/example b/examples/more/15_time_to_botec_custom_mixture/example deleted file mode 100755 index de627d4e907465d7dac0be3e9642db29dd1247a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27536 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 diff --git a/examples/more/15_time_to_botec_custom_mixture/example.c b/examples/more/15_time_to_botec_custom_mixture/example.c deleted file mode 100644 index 47577f8..0000000 --- a/examples/more/15_time_to_botec_custom_mixture/example.c +++ /dev/null @@ -1,34 +0,0 @@ -#include "../../../squiggle.h" -#include "../../../squiggle_more.h" -#include -#include - -double cumsum_p0 = 0.6; -double cumsum_p1 = 0.8; -double cumsum_p2 = 0.9; -double cumsum_p3 = 1.0; - -double sampler_result(uint64_t * seed) -{ - - double p = sample_uniform(0, 1, seed); - if(p< cumsum_p0){ - return 0; - } else if (p < cumsum_p1){ - return 1; - } else if (p < cumsum_p2){ - return sample_to(1,3, seed); - } else { - return sample_to(2, 10, seed); - } -} - -int main() -{ - - int n_samples = 1000 * 1000, n_threads = 16; - double* results = malloc((size_t)n_samples * sizeof(double)); - sampler_parallel(sampler_result, results, n_threads, n_samples); - printf("Avg: %f\n", array_sum(results, n_samples) / n_samples); - free(results); -} diff --git a/examples/more/makefile b/examples/more/makefile index 6b4b7dc..3de1b6d 100644 --- a/examples/more/makefile +++ b/examples/more/makefile @@ -52,7 +52,6 @@ all: $(CC) $(OPTIMIZED) $(DEBUG) $(WARN) 12_time_to_botec_parallel/$(SRC) $(DEPS) -o 12_time_to_botec_parallel/$(OUTPUT) $(CC) $(OPTIMIZED) $(DEBUG) $(WARN) 13_parallelize_min/$(SRC) $(DEPS) -o 13_parallelize_min/$(OUTPUT) $(CC) $(OPTIMIZED) $(DEBUG) $(WARN) 14_check_confidence_interval/$(SRC) $(DEPS) -o 14_check_confidence_interval/$(OUTPUT) - $(CC) $(OPTIMIZED) $(DEBUG) $(WARN) 15_time_to_botec_custom_mixture/$(SRC) $(DEPS) -o 15_time_to_botec_custom_mixture/$(OUTPUT) format-all: $(FORMATTER) 00_example_template/$(SRC) diff --git a/scratchpad/ai b/scratchpad/ai new file mode 100755 index 0000000000000000000000000000000000000000..30d47df17874e50ca18b5408bdb06007e6545de9 GIT binary patch literal 26264 zcmeHwe|%KcweOkyfbb)81`$mabks>Z(j+7nZK86SfeD<@0jUIy?CG8q!} zzWd(&<9^tDX4c+ouf6u#Yp=cb+WSln_Y}JqrI<{LOsUF0DO9pv!Z8j}(YID)031r8 zl8NuDm8+BqD5o(TuXk{OTAun+M#Bt&PX(lQS(F(A&g5uCLMb6ZYByf8Pv$ieDi&U* zcIlKA*M`7czt|eq8t+aNtoD4ZLoLZ8XdiaJVG_N^$%?aD;EWatv~5>g+OR{SGW`G3>ja?!40A?K3} zXNvJjDEs>&+L2y9X_C`?yXbGcd2k5*ODMWm=2Ta$yJ_y6>dM^es@le;+@`{ta&MZO z*AUFRfr&tJQ6FSeidCAw#ru0AZ zS;>Ri5Dg`wmnK1F%3p>L(XjEG?nO>XA>8Ho9Psb2DH>{)%Y^Dir2tA|DUZU}jf1~u z96a@J#V0v=ff$Q_`8fC|#=$Qi2mjzW_{YYR_$E)Vr?QuXsG`Yl5|&hLE>Dxssg$(TU&{0 zUz67psH*i=SKZ}Te7sRzeN}BJpw#$le06s!flc*QA-@7XHMC4`qMVQC7Q0IpEcD!v zcSGKdN<3c_&lb#$XFoR=YDvMrRIIoZcvSvL!8$i#{Sl;E6Cl;mKc0wsFS6tl^6_cB zqG}R(hgSqn|JHZ0eAARD%9Kp#;Wn+)v{3 zH=VGG(j)c@iH`_lYOP?^albFi5f8_cZz10!Q%?e({FF?+3HYfJ3D}o_Pqg3u1U&gH znWX)Z|0F*aPZc~j5x^8jV!ukjOPy1-B>~U&cS0g%RWP6s9~zrX)(V~@Jbh%cSMVI+ zr0xilUqRoT784pzg%vzY^dbac2uA{b3MXOTS^_>Z0lz!}Z%)9MCE(Qrd_@9Y+74B3 zNWf1cgh+K2JVSC$7dQe<6}&+BOL>-kZ>``3!q4E@i{BSDa8UynHE>Y_{{uCkh2PB3 zn$x>(Qxt7mB$N{C)xw<_9r2OIZrq2eSoYKSRpwoEB}(p6jDTYvGT)IrmZ{L%F5rTGHuz>t*rcQD${lptz+eXrZR2O z(F#`n29;@RjxJ~AyQoZCa@4`f^;D*SBhucI<;$x#a{f0@d(6-O0T zzMaY{l?TrQk-db8Fi<1M*3V zmf|%(ypl2a5_&N1MJ;2i>90!8kAbt%hk%TDRwVMgPVoE!kmzHCtx*D=cN9d{I9GQB zS_@8==m*wn`Y|nhd~kVbaY3YDFC?Bps+n;QE-Bs#Z!YQEMsoT{0+wFBovmx4jAV2}~( z52#nWM%urvUUhcsyjM`IG=6ra7M?emvYP&n&{VB?-mg(G$}vKt67qJZ{~l%28uT6S zpV~(^p;E}RLeoFMny?J1mP|{oq5!57G<+~2LQX*e`WjNFrP-)5l`0pB%JVqZ@k*C1 zgKEzJVc2LKTFCgZwqMZmJS$RQ)BL4 zq<#_A)1W%EtL-3yMi3agIW_QdnjDyd1L0$0oKbDk0U9T!vMdta3}YG@;<);VHh|7( zVXUdkfo5jcpFkB8o34e-2dT$i$T*{IHVt-l5AypUK^x|RA+p<2=06uOmzAlx`=Hgl=Ucy{#meqVN&c4s*A_a8ux!5?yTtu(O zT;!Z()XcogUA8O?$z`)(UaYiyK5AZQ_XxDc^^$C#(ICyoIVKF7kNeqt{QuWa3WkNL z8?n_S{k$~H^>fVrG5XmH0%I!I=2-fP=A&+WyZuD^d4&m+s2{kJ1Kj$`5IP83TAS&H zFl3y!G6<6*+Zt_Eur#=&BTYtwkfOS5k>Bzl~b&lNSP4`ISVYb!%nbEpacWj3D zmn7W2zW*NA-@~9C!@jcOYh4F{@ieDqmIeF5J^=fob^o#URsBiq>xYaz^p`cj?aR3; zP@-M|%IKu_Y9sh-MJD ze8wI^kh+t6x6rtph;f|hbalt}1T8W}uK~wIBUN{V6G*tC3z+ET=|!N8EBfyELLO1H z6$FNlQ(vfP`yI};(QT;Z{%~AB>;D*iZ=m&@%X%SwNAG6z(6?&uU8(8kXl3UI)H&(D z$VO=Ujpq@vLZLH$f)Z`I1Zfl)HTlF+o1HcZ_5OtjW%-yavx1<}n%AJbwhuI`ZI4e@K`THe)r6ul*33V3hXf0O93mf3?iG6LrXE>I|+vfc|?oeVNU_)yR2UtY7R* zn1l@DN`|n^TF9wa(=4&z5B*qH+pL%&%u@NR>71*}W(TGNJYloy_GO4&86#lfj>r+^ z-?7HIHX+`^Jif#y!azi#P3onIh=55XdINNV*6Dk$C5bUqa%b(v@Q376ih;6ZKFX>r ztctu2i~`oYZ?vaQ^3lagQ?|5kbX1-`A54r(hN!bqLW0@Y!QjAN<2xXa{t=QSgd>Q5 zNBhGp!%ecXa69f2i-3aY4D*tXH(r6Vz(o)Ni*)KEr25-sVeHsch+ zuQ+$`OtTq>SwtqdTkaUe8}e;?cZ)lG-V}1{*p7xt3kY-Dj-_d)v&>(CUeUr4QnX`O zD{5~%r4NSt&xc<(;Xv{ruxWc(oPw{dFgoTZItn7hXy6F=LkNn+CWOzLwp^tj+)W2- z@+Yh%D$=^a-9(H}GCq)}l;o-S&&lI>x7!q&CF!|X4VL(m%=GpCTrn#OF&)yOh7G%)MZ$HGZ@s0UTi#4)E$~mqq0mz zTNVt zvP3`UEOqM7W9v9WTSwNmgX+##F+G?m^*+kL5cEOf#O+~dEPLo}Jmq}16AeOW;L`hH z8f+3=UCL75hnQbjc}d$Fsct=H6rg{MWF^@ITbb|}YiXCaIKv;B)SU;Q;$rA`Hc6s4qj0+Vdq^Cx7a;Wz$__ELQX^ZIBPcQt!Q&O5Zw z_eP6AG9u3fT7HU)GlrIyIv()W7wh|$QTYs&j?Ko!d z4YCj;2;Oe}m|H)k>3fVXqU6*MA?plBVFGVK(dv#r;v2Ura{gTUz7pSF*Y)l0mP?=2 zdxxB=CFQ`d%M{Tb)LPQ^K-(FZR0a5HlZ%Vm)Sb_veTlC}GwnnDvs%mC7hQ-F<99M> zfZ3eWv+**`w=djo(psiI3*0m?F_9_3I5M=N?#36Xr^%YHUG&0wNC8Dg(F>uw?k;q- zEQz7NP~qlD&Z0x=1EtU^?rzTDhX+sI3lX%I8}CKFAYxqcChoal-HOqQoU3Jl3GEtt zmiqQCfq-HFaNfrM9vJ1v*O2=rV_<#_gNW9$?F(mz3}f4Pw0aM%P`7XBA?JJNohzNC zD`{~SF4fPJ=pSl&$Y#~uHoK0^)T#cayQJ;)39v}L)RqI(Ok+RTGFdgfOVi=~?*^j8 zgy|Y6-gZ*m`2!4t-!~bl7>pL~a%es*9a=7rov1WV72gvk2qcawByc8#v(Y79Gq899|wA1$b~p${uM;C@&vh-eqiD7+Rsi1IMvc& zcTQ;gFg;sm$U-ai4v|G;|3c0tkA zs;7q3oU;_9o`MaN1+9oj4Ghb|anQVP+)NQhxD$Jdz2^>g=t_*Q=)7=x?@HPR>CB+N zP2+|HGdiwR6pTN83dT(m{R(9Wj_t^faICZsf)8x`ywm|gSIayH6WWfEuRKPAgT@YB zwhxi;??D5v0`VM#f1cd#SHKWugr9<0TnmSRW?DF%#kA1In1Ru2QVTDG;wdnK{~oP{ zrSa${Nego+61qSO0n9(e0G1gxHayF$PE4UbM797K)7LTqNa3aXFyKRcrZ7tsP*}2W zVgX_8B^7V=)^Hb5#l4w8Adq6bu;fDITlZJ@Ki1GNlF8+aXR`3I1lq`&~T80fqF zC~$9rDO%>evhhYTEDDVf5@8w9;yQ+(SAgp~#MJ=Db8=yoodyk9uEL=)XIQR@skptK zR*8jiGrKXeAR9LcY%@6@8rSfOsWuv-P1r6CyAQg?o&2BpbwWh7Ac< z4l)THkdR3S!gG*tSW37W60SN0Y!}$ycrWLB7JT0V4tO!>LK<{8W9d@u-NZBVP5ej! z9h~Q*cB$=M69UC*X&by|8HBN)0cR|&k#SejA&5KzzC*Sw;}&+KWkFVIhVJ!q&KuYA z3Px$kv4Phh4SoO9j% za1wf$+B^$Xdk>R*A0%J>K78UTw72hJio1u524wqCLMKkuKEnH!p%Tfv7`~e5XT6AD zbU+I$dsqj=`$fk4Inv5m;{86cqiK%YLnR$Wp%CoHFV^nh}3ReM%Py0jC_KY zoM>)*z;0M@UP435tx#QgrbgZ4x}%fyG=NEmu{=O?uUd$w3T1;obY_*R!ip)yR*~1o z4O_VSl?SNL^hsbx1AzkVeK4Ct%xsXu^C|A^5$NT-F9qWR!F;kI&_FiB%1a@p{wh2I z%Gl?-aQb9LwhtIL;gAl;&hFffzz?iKm(EhixY?G4K6-a&zyUGA?f9;S;B-01#*mM1 z+-@4zy~Z4HMtS0FU$Nh9tOe^BTye0v=rlrF}sU`A%126R|`LH(m8ZB;tk+kG+#N9qAt}% zQ3m1??LlYQwN1f6^lanv;mx+0DeCr4+@R?v+&Y%s>4R-2Qs@}uHo;#}T>rKjWar|5 z8te(E0XY7{nB^mYL2Q`=y+Y1lyN(78eHr0nA6`g0fTl#=@KPEwFqi;%97cR{1aJW5 zEfL4NU8$kZYrY`_y1$1)6=!qk_e#;A>h5l-Hx-?_`$`}((-mXNGVfpU>nWx>Yk2qu^_x2o$rcwJ#}4x%D%gIAQzBU~Q=(IyjgV!|AQX<{bNSz) zVfL7g8E|K_RD8y<;1d{i`Cal4n-rbWij`vHTwdTzI zbD&>R+h0k^77wnBbbB>XR zh#XgRadIEX2Y$-qgM+lRS#$yiJNt!|`U~PdzYJPQe+ZO-vyO5&?_LJWVXiE2LL8L$ z{^-Cd_cE1fq>nTLo2O_m9^$Tk8X7?(3Y^MkxCHb2ILx*Iq7Lh-lo%i7jL{c8MBI&?*+On?>WCYAVGFsjsc|=!{rps>v`Sl6c-X$>3bAx%6vME@(&>ek zO4+W>HVisj%^7B1EBAY7jM8cK{z|x~JuaIz5ta{_LkXVGf|EG- zYCPO-neiJi!0LO93*ojo+$}c}Q{&uW1l9aV0W2h;+jbm2R4oS z&;|W&<-LMPxXWa8prsRsV4UY*X%1}OE%WAsC4P`{lDE-XW_^zOc!>2O+KbLYwhWw$ zt!OjMevC1@iv(xR7fx6w-wij1M}3f~Y!Cz5Z`=+xMb$P-vM=re1M61J?&zE`$AH$0mQ=Z8B1b8utY7$LAqOn6bf)g2^ymf{Q^{h3dAY@W+r$ zBVm~`$)L&Tq1_yJOZr#P3XSRaOi-x{!1yIv^HI)r+1x?|HOGJe(*vzse;pZv(1he#9MZU+Pz!1AGJ6x)o|xB`S2^Q_;32jINh0Z|Qe z#k^bLsz97~cGG9cWDK^qINy84S=8lJmvyyhX$WPk;m8Es`p^}R7F`AZEq5E*x#vAO ziMc=KTd@wwCvxBV1{?_8Kaeo(1G}8fX||DVpoNdL2Aj*MZD2LTk50p^#r4H*rNNj& zta8j=8TsM1O_OlzOfI+`_pxtMPzm>q^_OA%^C96|*?lM~$l=r7^j5Ne@Sq#){{+9A zKa$@Hgxp&wZf>KC4CC%T>YThKh2kAX4J(r?2MK8hQm#gLy*Bgf2!SC8d~137dgL*^ z_{9?Y{fGs)%(t=2b57)kk;CJazj1DK)I@MVU2MU6FT>_!Z!;c7B{4yvhjo5O2gXZL zIIs!7KqM_(Ocyn9Q3Dq>a8UynHE>Y_|1UK_f46v@)mgH_S^&5r+8KWqVfjWXG8I$U%utvRy)#O`__*KADiX4`S)-Adgp>7NBd=af7iSD#Qa0c?2lc( z=~IsEpMU3;pFb6w&)Plr7ssK3Ury@mEN~p%(|(Eli<2GKRm?nh`e>%3qT-sLOgwIK zaQ=h0h<+kjxvtU=uKAR}_s{>2udJVRJK71l`72p^f%8|cb<}j7|Lxa@cFoVro73>M z#;Wz}tNosuV7))jr(_3mtoTyaD0gJf&YO)A14_2Rt2lQA%CSc5UjTb8f$%_s$i|P4u2|J#d1}( z*6aqWJ-d?bC6vuf$Ixz-&$`*V%3Iy&w{D)i*_xZ1i!%F0X{p~^YqbKAT^(T6OZ}DT zECI11R0)CvL{WZrw$&G`4OCV7Ykhtz{xsHKztLMQNJ7Clufk7EdE+Of#JH9<)~xf_ zTY~}Xx~kd+YfWQA$hyvNU0?5qZtAU}4UoPdZ*l@%gSV!x+CM_Np=$kxL`tscrGCuf zomTb-zh0(KQZwr#;H|3mSAr*{k^VoDZ@wVs%$59w-+zeGFXjhWIyIk{|1|%ZrzyQD z?5kHmL%(=~#^ZQl|eI{ICRY5YPaO z?2p9?0Uv)h7JCFRzc&`^p)z0=4&c@Uu~-gZ{=rymIp8ipI+#bEi^X;T_CFtsJql?3 zdo0!q*!p5D_8}mhPaU|%*a}F0fzu1P12F&PSnLOY6@ZTe_5*eTMqY`<`lx&)7PI3j zrs8NU76ObMi^U=YaU(rQ@OUg{#Z7?YAFd z5#MgWR={4se!xLMO1Nle$#mE4imAzBx^n8oj8@Y`3*qr(RoMz1UCT+>_t^A`ViWYs zpMq@Aonp2uGG{GOr)*J(_H4|sZXR#Hd~#tP05s$2NTQADKxL| zfQJE_b|OEjzx;KwA+wd4uz3qkl}m|E&fg}cIi|N;QSU%KU9MB2IiU6Q0B|&aln6&_ z>k;6-#xNY$1l*-KSsxKNH{b)n^#gY)Aj$R3lm+IjovFoUYfDLhPkdempU1IAw+g+sq(D~>kgm3;Ei~K1>C2$u zTyU{Fna&om_Qg}yj7BhCcIf*!)^#cIa>ZpUA=ws?Y!GDo1SglRE;Y|ImS|{7dI^Eo zFnq%>^2!pL?~yrN0_%9jYz2Z#L-aodeGe{o&l5ef4@S?{!6MKfPM{}!KM(o`;d7+E z3xP9$OT$h5mN<_k=ByUd?E`60;C7NfJRzmbYzN!8F8SKF!AEImdov)P7ue^{)J5^O zn3wQ`Mdpgs7gEg|mYM4s*`z?JBaCRRSEIcHzU~NQQN9q@Atq1gkj<~q;Z{>>3v9X2 z)d6PRnBu3w?ioz-e$3Ld<_!0gls(Y#IJN7{TTS7K+b2Ab-jcR6^_wY5CAxeQ{qMrB z5GIkYWcJ0z!TM+R1!ZoZu#o0(vANZh`bZk}e}RFyr)(M1@Ze3j|HV)C6b(MR1Z8Et z*;)=KMSijx_^nBJ@`LvQzZ>}5h@P#prDp3re4SDKPf>56eq@N@*$wd{aX{Q7x_#ixB`|kM7$?}(j)45^p1C^2tnCqh!*&D4NJ-IAQ8!tLdXfNYKdSFEfzno#IRR}2YyG2II-6!ZK2`KyjAjZc7G$X}xW;QZVGz|&AxzC`eUUzDZXg8hFxknfL6?)WC!fRPpnxJtl)fExweF5q_s{F#7%5U^Xo zzYF-ffbR-80neo=T_)hC1-wZ>UW<6Rg69@5TzIq9?((mrV{ZYyx+y=mVD9xIE2%Gp zWCm%{? z4tcIn9;x6MxlX^#@H67?apJX#axXH}@2Hpf0N29kFO9zsO42`y%vkdOaUA>};EBJ3 z28hIBP{8r@K>ox8Vd|C;_2@KKzeho0!kg@p?eGL^dWj<611LG2WAs_^buRJKp{OJk zvnm_ItID8oQ0%;cnu2lYi^svQ1Kuh-OMpMZ0=L3D?x;vWBD-ZAKHmi10{RD&=)XG- z{l7Cj^e-F_JAZ*c{gCC76pJGLv+TW7&~FtEo1Mi_xnJNTHcrXne`JqH{$!9yEH(o? zFYtq(XK3X%4wP9K?^t@yXL#5le$PjVoh1SPN#HHCppe)Z8t@C_@cFW!-zpq7JMV(N zW*qu^#=(DE@Nrnt7)hSbegHh_KY6}>F%F+U3qID*a6atpg6vbkTRCdf_e;P}OZimX zU&+ch#^L`y(c_=u;FJjMS;~Mvx&-U4^=e+G^An{R0&l&Bm)RK;S)0J`67$7kcHrkr zdON588VAa9h8Kkd;FI)XgOu|~XFZa~QNW4W*#p^D;4Sc1k5?oxLH1!bUN!!{*lR`g z|C0Pa%@M-_|FFO>Pm=!+0v{22kn*>Qev{YHGm;NfN{QXM03H;0>-7w+urnaC#~GgE z62IRO^t*)K*m;u(FhOiylI%HC;45-D7j`y8_Bw{=xWw0oKFTwKKf4G7@jBUHg|9wTkQc-&A-(IWJR$FT#ao3- zeqb9yjrijMpEB|iOHZiAHeotj%P0gKXl2G!1GBk=*K8S!!GAo}+;1PxIs}25Y zzb^zXi*9!=E%p>IbJ5E+UFFN1OG_34jd#L&iZxNIxo%fHi`};^aJoIWEn2jqxYSeX zT;MMDu$O8&;;*&DD=zsBxM#h$rp7B@v^k34g12qPYw`Zek9rX(y~Hz4OK;Qk_$$33 zbQ0V&f-aH*)CTMEdQa#mSmP|ZoY9D4kcma{ZUkExP$%rmEGugAZs=-r0uP7ZMjSJmKvna{w<)b4sVCQ2G zB1WOOao}~OWI<2{e~Br74eA(#>-{0AjHI`!dMX=&9y}+h#2Z)nJ5A%w@rF`Q$!*|V zSyk(4Z17hqyjNdiO+#ai99B(LQ>d}tuXwB1``6WbJ$3cL%0^#;G8;rQlA(q@Q4;T8 zjdw(ID$FN71)>pCE*IUiA^vy}t3nDxTro$ocL*l*D7&q}Q!OZIT|N|&X2_~`en7F8ZaLr$58F9tM>ZneYkZaM6g5l;@c6-$c!-4lwvA*4R_Xr zyz2l%^&D=HIri+YPRXkchWvT!Ya8=m33XUjcP60LHCEx})>V}PP*?A-_EH0ptE&zvdE^h3JY@6M2ayT+oA6Ek6huMh zHuC%%ga_SF2_~|{n{rpmTgW_m@YYoM(0wpOoFN>!pFEh9k_TsA10O9nivJp;4Ug`&NLR@5aXc@H6RHzAYQzD%^2&?X55#CAC< zQCyhVUY>g;w2q=?;m#<`mr%l=%mk(U@;*mG5iTk6J||gzFWS>xj%+XQdn9y-3X+lZ zEZd9Yk5UC34OzCA_eT=S`y!CAL_87`#gBA1BiqaS7zy(Qv6NrZNl0-Z-Sx<_yzh~) zPPCUgmhuZUJD1a($oBHSNy0usDEpV~<@mpcdTPHw(8>EN3FUnkwWl`8?SBj$=|u96 z$8REz6Jb9ncuKaP9{`=$-YVL~VUof{b-bIOC$)EoI9)<1ujoE5zr;VD)PA{WFX6n; z$d(++{w4MgN$utNS;9$@P{8Ez|3$Qy^QSljp@0=)Jqm1m+_Kz>45>)Am-ibI%KzU$ z(kJ(SFsc1k7pIi)9eJ@T7)ZTIelH_~znfrdh;Z^gHzES{WO`Ya&_ElU^5gC0eQ(bv zZ2u10lI=+~$$KC9|60iZzk=2eCE2f>$6oDb?oRoi81+RHD$ICdJlw^OhUr9^L Sb*%P(5(m*Mk{ToxmHz`yAt5dR literal 0 HcmV?d00001 diff --git a/scratchpad/ai.c b/scratchpad/ai.c new file mode 100644 index 0000000..a270418 --- /dev/null +++ b/scratchpad/ai.c @@ -0,0 +1,51 @@ +#include "../squiggle.h" +#include "../squiggle_more.h" +#include +#include + +// Estimate functions +double sample_ais_1(uint64_t* seed) +{ + double num_arxiv_ml_authors_2024 = 7379; // Number of authors who published in the stats.ML category on arxiv in 2023 + double fraction_of_ml = sample_beta(7.41986324742243, 114.487997692331, seed); // fraction they are of the field. 0.03 to 0.1. https://nunosempere.com/blog/2023/03/15/fit-beta/ + double fraction_of_their_research_thats_relevant = sample_beta(0.8277362357555023, 25.259989675532076, seed); // fraction of their research that is safety relevant, 0.001 to 0.1 + double academia_adjustment = sample_beta(1.9872200324266, 6.36630125578423, seed); // 0.05 0.5 adjustment because they are from academia + + return num_arxiv_ml_authors_2024 * fraction_of_their_research_thats_relevant * academia_adjustment / fraction_of_ml; +} + +double sample_ais_2(uint64_t* seed) +{ + double num_arxiv_ml_authors_2024 = 7379; // Number of authors who published in the stats.ML category on arxiv in 2023 + double fraction_of_ml = sample_beta(7.41986324742243, 114.487997692331, seed); // fraction they are of the field. 0.03 to 0.1. https://nunosempere.com/blog/2023/03/15/fit-beta/ + double fraction_of_their_research_thats_relevant = sample_beta(3.28962721497463, 17.7686162987246, seed); // fraction of their research that is safety relevant, 0.001 to 0.1 + double academia_adjustment = sample_beta(2.23634269185645, 3.73532102339597, seed); // 0.05 0.5 adjustment because they are from academia + + return num_arxiv_ml_authors_2024 * fraction_of_their_research_thats_relevant * academia_adjustment / fraction_of_ml; +} + +int main() +{ + // set randomness seed + uint64_t* seed = malloc(sizeof(uint64_t)); + *seed = 1000; // xorshift can't start with 0 + + int n_samples = 10 * MILLION; + + printf("# AIS 1\n"); + double* xs = malloc(sizeof(double) * (size_t)n_samples); + sampler_parallel(sample_ais_1, xs, 16, n_samples); + printf("# Stats\n"); + array_print_stats(xs, n_samples); + printf("\n# Histogram\n"); + array_print_histogram(xs, n_samples, 23); + + printf("# AIS 2\n"); + sampler_parallel(sample_ais_2, xs, 16, n_samples); + printf("# Stats\n"); + array_print_stats(xs, n_samples); + printf("\n# Histogram\n"); + array_print_histogram(xs, n_samples, 23); + + free(seed); +} diff --git a/scratchpad/aisfield/example.c b/scratchpad/aisfield/example.c new file mode 100644 index 0000000..9362818 --- /dev/null +++ b/scratchpad/aisfield/example.c @@ -0,0 +1,33 @@ +#include "../../../squiggle.h" +#include "../../../squiggle_more.h" +#include +#include + +// Estimate functions +double sample_beta_3_2(uint64_t* seed) +{ + double num_arxiv_ml_authors_2024 = 7379; // Number of authors who published in the stats.ML category on arxiv in 2023 + double fraction_of_ml = sample_beta(7.41986324742243, 114.487997692331, seed); // fraction they are of the field. 0.03 to 0.1. https://nunosempere.com/blog/2023/03/15/fit-beta/ + double fraction_of_their_research_thats_relevant = sample_beta(0.8277362357555023, 25.259989675532076, seed); // fraction of their research that is safety relevant, 0.001 to 0.1 + double academia_discount = sample_beta(1.9872200324266, 6.36630125578423, seed); // 0.05 0.5 discount because they are from academia + + return num_arxiv_ml_authors_2024 * fraction_of_their_research_thats_relevant * academia_discount / fraction_of_ml; +} + +int main() +{ + // set randomness seed + uint64_t* seed = malloc(sizeof(uint64_t)); + *seed = 1000; // xorshift can't start with 0 + + int n_samples = 1 * MILLION; + double* xs = malloc(sizeof(double) * (size_t)n_samples); + sampler_parallel(sample_beta_3_2, xs, 16, n_samples); + + printf("\n# Stats\n"); + array_print_stats(xs, n_samples); + printf("\n# Histogram\n"); + array_print_histogram(xs, n_samples, 23); + + free(seed); +} diff --git a/scratchpad/scratchpad b/scratchpad/scratchpad index 964534600bfc838b207052aa971df797c335c3f2..15ed753fd19b0ed599d3813f7ab0bb8a344b2c5e 100755 GIT binary patch literal 26200 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 RL-DT`2hSUl7?O(0zXPt`!U+HX literal 26832 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 diff --git a/squiggle.c b/squiggle.c index 3f2f4d3..ec0d4a2 100644 --- a/squiggle.c +++ b/squiggle.c @@ -50,7 +50,7 @@ double sample_unit_normal(uint64_t* seed) // // See: double u1 = sample_unit_uniform(seed); double u2 = sample_unit_uniform(seed); - double z = sqrt(-2.0 * log(u1)) * sin(2.0 * PI * u2); + double z = sqrt(-2.0 * log(u1)) * sin(2 * PI * u2); return z; } @@ -90,7 +90,7 @@ double sample_normal_from_90_ci(double low, double high, uint64_t* seed) // 5. If we want a 90% confidence interval from high to low, // we can set mean = (high + low)/2; the midpoint, and L = high-low, // Normal([high + low]/2, [high - low]/(2 * 1.6448536269514722)) - double mean = (high + low) * 0.5; + double mean = (high + low) / 2.0; double std = (high - low) / (2.0 * NORMAL90CONFIDENCE); return sample_normal(mean, std, seed); }