From d10796cae2665a5819e16dcaae07032f90456f13 Mon Sep 17 00:00:00 2001 From: NunoSempere Date: Sun, 16 Jul 2023 21:28:03 +0200 Subject: [PATCH] graduate scratchpad to its own example --- examples/04_sample_from_cdf/example | Bin 0 -> 22456 bytes .../04_sample_from_cdf/example.c | 2 +- .../04_sample_from_cdf}/makefile | 6 +++--- scratchpad/scratchpad | Bin 22456 -> 0 bytes 4 files changed, 4 insertions(+), 4 deletions(-) create mode 100755 examples/04_sample_from_cdf/example rename scratchpad/scratchpad.c => examples/04_sample_from_cdf/example.c (99%) rename {scratchpad => examples/04_sample_from_cdf}/makefile (89%) delete mode 100755 scratchpad/scratchpad diff --git a/examples/04_sample_from_cdf/example b/examples/04_sample_from_cdf/example new file mode 100755 index 0000000000000000000000000000000000000000..03e23d9d29fee8c498194405321ac2c71bbcb16b GIT binary patch literal 22456 zcmeHP3wYDzx&PX| z=oD1-aeW1%o+ZI;!v$VJBOm#uV5X=qn4buHrC-7lDn2R_pHuQVC7*&!(MzcONj{-Z zk@ROWw4#oZmH%ffnXg>(CBqU)uOR85wCF8=_1~j!q2%i>6mpVbHaQ$gL8b3T@R46W zYf{~Olhl{0A9|!86_n~(ew}Z{^r`uE)syOc4T084twqx(O`qy$X>?5HCXijEgJNpl z4U4H;LWGlUc$CzTA+Ni>v*Uv)8+DL)1u zq7m)C8##d^xZnF?J;7AzDO7xJh|0gFz<)IbeiZOle3H`xKnx|nAqD>DDe&7;;FqSr zdsE;Kroev@cq=~1sSJpr?DwR=Kb8Vdy)u-XmK69cDe%*Qx8jqW76LJp{N2D`kxWcw z#BV)?>vZNREt~JD_BMN0`da+n=Cb*->lz!pWtA)Hyv*ZSS>M>;Y4KM!`#l~(IwYaD zwTacOtgNrEWOa=zS<4;G{u;{FFmE$HtxYwo#n(VutE5&>Q?swZU*oB&y&d&FKWhs3 zTc8lSs%|H&r>4?Z$ExZYt8QoYm34qr+hAbxc&b_}JvF|D$~xcI$XF6DjjgYQx|(LM zm(6pR7SHxfc1)f!n4K}0y=pM)m=@1ZjpwE~rovt67TR0({}&2F+8(apTq@uc{n>Q%Nuw(lhIO3Jb_DmBWT7}^IRGvua>j` zY_!jpLnA&ff!@UFiQj)Q@u#yZ$Ot60zNmS9Ax%C=MRNU6c#Fhmk4Ps^!n60cfrz#HeqS_5A72{AMo z@O-`JQW$GB;7PYi>kN3gl=G^44S3}vs@Q74qXXh;n*lGkAiQq70gn!iryT~oIgVxQ zaRXj6;CCAE)c-1l4ES7y1nf58jq^s20WU+rz;!-*-UH`7aNYywJ@Eg<1O3|AGkV*J zEPZ3 z$c^zbEx^%;D_*7zOEgj#FVjXP8u@&@Obc@~k{d76f*g&c#mgEmzxSzZFTC;eSI8SB zjQa!SoTPGQQu!>7^G5m)lFIKSmETG#zm`<~b5i+*r1I{h^3zG>CzHzmo>cxxQu+Hy z3wt}=b|vfxU~c zE4Vc?`zgN)T^YU~|4M_qYIwis!IR;Ih?};)v_L+Idjj2#Fw*xgPA)ZFE*z5TE^br3TZxM^v#(o2+SDpkHJtKOL+{{5wTuv z+&b99Ae%$b&*1daCKI^wQ$2V}?|65X-Z5a()As25KlP7>fDf(_0dQ|S!^1D~(pfcxQPzlOa!!&zGSIt)N_G?SJsSqDOG+&Y9 zqv(WckcS_FMNzFh(}O}(Tf!ktVNnou)zmn&ardAReEwRb*#~OoXeZw+(d^-Vt^6av z_xek;Tj7V3duv>p9RYFjh<^8pg^1CpW|?paxAxY<(Gtya`PoZ(pZ}>^-Pw8HfxQpHS|QaikCpz88#C?41kqfHta*b0RPKuS#b4| z=i%xyn?m*WtH zcc5a~F7(F$KBqvvcBWg{n==}a*x^P3V{F9X)*AjoCBF?`xwVHo7Lf{L-4GDc#yQb# zOAvO;_P~qfVa@)UODj7J1CP{{Pz*o`@TYhXly#Ef+J=8a_<*~YD7wM=mS#V(ilj~} zyBLvU-$Pw`403nlGaws_XhtAI__K(?Zf(N^Oj>QBw3&Np6x=fprC=w;Id$v)Gf{0K zjF@;7zB@tz{OXRhz|D}l2SK(AQW41ZW2mS&1`odq1UC&4j?TO_6tVN+F5`==)HXaR zVt&$-d5lHM4fT);JIf)pyxLY|kX;^^t=*Ej2W+AxQpIjeiDI7KTwz;C6Tt6i8ZHcd z^}0X4kDMNS{kH@$mlj<_Am@t!;bjA{m&E@00;zq;Q_RK0Ihum{5>?{B0=KA{4DL^>I*})>!E|&#_fV3Kft68 zvmT+jJ@|U~xesHpC43EmMav?yX)?VCW*X+pMbJw#5MBNzOf&;%Kq2PQ!>jYO{4qD8 zg{!sjL_~C7u^Qic@ECbVTJzQG22Fu-SYr{^TmTSuCYYjc++-sKm_oAo6cQML>4R)o z+7%9fG(P`o_8#&MS<<=sB1EECzjmVKNb6>4`8}(K7aqWbP4RBYc>>BJ<9QIEJob#M zjCg(oY-#WlJ@{dGI2PXaP+*GQ5w=3|UU%>)UwJXkGampMX1yM)!gaVXa#ievMHC$S zB4j_O13jvLh3djkc%s7c_6_QrJgDy#YzR~78$YP;6I_rO_4S-i(B~5Rey6Zus^|J{ zDGa%8c5j~MA%ho}2G6?6N`vpiL)avEv0SAiSX;FCeN#F$!ZwrzH)$XOK3;32;yno$3fFC}WiC(T z0?3El!jL<7+#Nj4MR0v2`u@Hj8{*HU?EfJ-z-WI15Gm~cHEaui%Eow{lVSRDivcr*nT6vdbz6Wp8=%G1T zvmeqNSS@Zm0-_3A*6PVnTVliZYf0vlpd%4s%li~gVsi!rra6e|KnL(;vnw2e;J#-Q z_fK*EVPdT49-cyiUH z+_oh-8*#ghuriKGEjQant@|v4;{s|QI!O$Utnl-vgoh47Yzhx$uP%lG=uZlPZJ^^W z>IY*&2xKRO0NPrfVM7F1mPU#|8h!x(`hLUbi}usnmQ7fsHqVW<4Wx?$KrpHY2dJ$b z$J6zWqZxYI8NQxs7KBjZnF*Ek8y+Gea*$o(V>tG7CJ%l{#DhyG!uhTH! zqxBe#xx?Ddq^-T8?RdJ_owRkPgPseaeq9eU)ASjgfp?52D&Ah#Ev}nOgD=ub@qw$% z6+F0DMo3=!0d32D*i&pS7M>V^wHpqA1xNU~^k{}=e@Rb^4$haF1uH@l{ z_VkcTcy&1hq@E%m;!F8@O;l26TvDimfcy#$jUi zOIl@Io6BsUiUk@T+)6S^o`#TRh}!C}-J!4RMIDgH*|?g@ll zg{S*+XuRodd(e*e*U~o2{Ui>G-K$QxgCE95_xEK}J@Un|vX2LFe*xJD;_%nr;lokR zPfKy{Aa(#^{w3GL=c$_g8ZrM}&2IZ7P5VX++jO)^YxiQeM=f)4PsCd{9orddUF336 ze*}9-`%96ze0RT2xPR;!5k7aHup?T~?8|Ghi2%&W;M{0rcEYYW4`h%d;+&5aeukx9 zwZvWmV;%Jx`VONE%%in@9K5=m+C#fzFKPLFHW!uX=g}a<5msA&0>(J+c}KhF7&4mu z4dBO|!nW~u!pL$ua2?bfFKG{lv^kykgtYeih|sZ5d$?080V44A!grvr0{ZOedIS}z zueM!=|Ik2&;eeVAC(-1|YheY98_+hqPNMRkRkjQW6Er&xY2`=Bk{Vbd41hiuup9bv zG{<43+~1C4N_XJ_aW$~XMlOo)>$Ub5ArO0e^6yf*y(!`T_1m(w{OGE$L&*^>Kj*v9 zu__nZrag$9mfx>!_#yg<4m?)F5u^6k5H@(qz!75x$Z_C#9JjJ`;5mFe;lNWb&H!)!9MVRW{ z?AV_{QKmwz9fwTZ)U*pabT2}Vhl8Nw6AATtJ0fQXi0J48{yN)ey6C}y2h()Jb6Wmx zZM~1$O=j)jaex4z=(A*2!oe~em+aCUJ%ge6Ga_^xQqiEbe;bH+^i|-3N5vx|klQUr z0k;RDIR$rm`(@HLic?rbOSqe&^rO`QE&os2`a8KzhtMOuFX>uP##8wLxNtFS)HZYs zj_-K*)P4-kzEyObP8p|eU@te)!<)H_qF)xHr$7 zJsxK{EYmN?m+4Oy>zgM{1$vSD%Cr0odh#ud?~b!3|G2^!73ywNB<2u zFx&4Dwh{HZS<8!ml(R2ddIw|QD+Xc~v-wM3xaO{!A8bF3FF{Z`C1J0G%(=a@@6+q` zCuUr|so?0AHFNOzKc3dbbI4#DaaU3qs6m{=k&i!k&bM+U?-CFn(Mp}LEB}bL*SYn+ zn<)PbSg^UdYps+OO1so_4Sko?3Pkx|VlgN3wXerwwScXF>j?J7V)W>6#~ZPj9p!CD zW3g?3I{|+Q7zPXh+KW7vBh+F`QwF#Luof^c5{umfcrV~~KplJU6M$KL zsE2$z;GKZwfLj5#0X_;?djj$ScK{v)ycdVfQ-sG^J39mAld)IQTTf-1fc+xD7Y_CHT(BA;5CLJUl*W0=yS+Cw-R$2^Xw9rG4!tmey)XyEJ=v)>gEM z@OYrheUVQTCBt#!!6_2Y92ct-p(5zQui2H^Y44Y=*dXP_UxByq(51U^>aCKFCKTfF8hR)XyFR0RGz zXghP6Ep6%b=H86-XGfYXE_2p(qfC3#&Ebqv^QnwVz`0bn92vJnlmfwjwlW%aZO0bx zVTfUKNY3@)^@$Yb-XCc#!a5j#U6x1Y8p#=9(>= z((fE;&bna~)wQB-(-3t!>K;U0FY10P`M!}}V$R!QDm7a-XUs9%H)URLE?7UzZ7ymX zUTSux&mU&uAUBJ|rN$Q12a zV9r}_a+$4d8K&GcbKY#OnXKkMsQ~>p=pM^40@noGqrmZ)l5{jiLcmRzbmX6Hz?}fD zlW@A(n*JYf-5lZTCs4N?W9%9OeK&B=19wQ#cY_{%L$cmP-BygjSB-U$Wu-F4RT;+R zIBFB`>v?9YX;_-*+&QBtE^VM$h_U%|qDLYe%?~Glo60dT5zq}>9>#1b^pStQk&fQj zVww~0w-V|%7xmjb^Fq_VLP?Q}cU-ZdoSb@Ye^RDTA%JR=e3!xGlw!v z%fXn3_(o9A9o1~^Mg;dDEV~hwAqssOcZY}{^Fn)^A2HNsnn(QK0e?3lsVAd&RINc2 zR0wpfly%b}UFl#}v>%Gxm~W;)7bO~(Zs1xCIKr3UQw{uf;Jt+4ekmQoFS_uHvtcNw zaGk$|9Gc_g)J4+Hr}G{-?}76kIPZafG7qTVRjJ=m(eg?u8PadLC}j&E7FXoytHzYd zCklwKaPg#mzjdiB<2sNhe65Tp^*gT1WLedJ@M)}(P}{LCQc`QkA(_EdCQse69!Dyk z9MWLi)$>IA2}<||NkWor%(+0IY1yT;PV&?GND0@EJmEV@Jl!h|RQPV0QFezU9qxyD zQu@`NO3~rVO}u?j$5A-+@N$uqhqDteE4#2Y;N@Ym{v%md?U3sJ*FgMt*+~)$XfuW6 zlyISh%Oz}*aGiu(CEPCI;}V7>?2)in!c!75JT|9fki2*1X3xIbYG1q} z(BKbPXE>%h3MLf>c&Tvh9VjYOFD_3*)~#O~hZsh8iy>oMzPgl1Pu)aiI|-@+Ni(vkZw>v*#cWO;Z`{ zz1Sc|U6Bs{R14r}iQ1lZd{dRm~$(X(<@jXfSt0i8o6N-n-PBYjqr%~qN z_;dY6UneCy)w-kPe3R3k>;GQ?Ka~Bc+Vux6XEb~8DkXUk4kc$FuO4$w{~qCT&h6hf zCB0hTl=KgI=G=Irr)Zcp&WQ&r#(z4krWPeZKr84!NB)uPsapREI6jeX%c}{(Olq zP9f(eNnap0JnFt_X$tzf6!?u&&N?}+)&1JTz?0vS=aU`4TcvGA@S7C!_W_@qelb() zrQ&&o)58x^uXG1{o9GSmEspv;otE_KayoL43c=Jm7FQlNqTGB6+ zQ=*EWm%(Sj{F9e7e?B7ZQSbdx{dKdHQ(zSe`F#?y%O$=?_OIHv-7fLHvLBlS8(RlF z=}nH?O_F{qx`xuj0;mk0dg9500$z&<5k8qV+6 zP*3+u)L)Ml3S!k?M+@1w<=PsI4<|%U(yXTNp{_c{hmH@XJW#gMpoKE!;6M7p7z13t8GZ}9!!8=wG z5r6BQF7ip3r>3s4((l28IR569M1FcL^Ltz1pN49W9}o6CO2mrBR_5_mSK>ik zGgWet;*~81ZWu_ljrHmYAhj;xEiZ$_Q` z3^i9NUy7I3(0gDEwXh}m(IWy34G^!50dK+!Z|e9fZ4CTVKvCV&=&416@P3@+$C{qf z1rSv2Yw!eGywyy^UR9vJB~UNkiDM82Qw+UM0VrQ{lSnhP=Y^-GTm6l!6$7KzSL2^D zS#*_8Je#HN_3&QutY~SGZIlD>TtXp~zd6Tacss0dTWXo3dQAgV2ne#s=9=pK%)vv#fvjU?BZ`!1@m4X1 z-`k2JO>UrW4u$6y)C_h;!54S0n|0mc*~_dlXc3N`xva_;?b(x))NA8>g57 z6`z819x&Rk_RR{8QI3`}6rU3LOcKAkXHrnzb1VAf@v~dQ;ZZgi0lJ&oU zIwDd0>fTC0`YwzyCF?(eN+Z9z-%>D?#Gv9w$$SeLdQFHN_VIf#^`6OOdR12NJ@9G< zes#ZJBoDrd4kSFOvVv!UrPx*a)xDZ}Z>Vw%%^#E$pYr1`fTQ-u`4fEm?6u%Lw z*ikeDola3w?~kQ(Jn2yOs9`YzIAy!w5dZb-1pH=F{3yMOHW!(p_z&M8C@x82NGh`b E1~()T5&!@I literal 0 HcmV?d00001 diff --git a/scratchpad/scratchpad.c b/examples/04_sample_from_cdf/example.c similarity index 99% rename from scratchpad/scratchpad.c rename to examples/04_sample_from_cdf/example.c index a7a6506..c99986b 100644 --- a/scratchpad/scratchpad.c +++ b/examples/04_sample_from_cdf/example.c @@ -3,7 +3,7 @@ #include #include #include -#include "../squiggle.h" +#include "../../squiggle.h" #define NUM_SAMPLES 1000000 #define STOP_BETA 1.0e-8 diff --git a/scratchpad/makefile b/examples/04_sample_from_cdf/makefile similarity index 89% rename from scratchpad/makefile rename to examples/04_sample_from_cdf/makefile index fb1f8b2..69adb6d 100644 --- a/scratchpad/makefile +++ b/examples/04_sample_from_cdf/makefile @@ -9,8 +9,8 @@ CC=gcc # required for nested functions # CC=tcc # <= faster compilation # Main file -SRC=scratchpad.c ../squiggle.c -OUTPUT=./scratchpad +SRC=example.c ../../squiggle.c +OUTPUT=./example ## Dependencies MATH=-lm @@ -31,7 +31,7 @@ FORMATTER=clang-format -i -style=$(STYLE_BLUEPRINT) ## make build build: $(SRC) - # gcc -std=gnu99 scratchpad.c -lm -o scratchpad + # gcc -std=gnu99 example.c -lm -o example $(CC) $(CFLAGS) $(SRC) $(DEPENDENCIES) -o $(OUTPUT) format: $(SRC) diff --git a/scratchpad/scratchpad b/scratchpad/scratchpad deleted file mode 100755 index a689f5e709642f87afdaa537de697140f84d102d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22456 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