From 68e7730f24c33268a151dd197534f8c28ed376e0 Mon Sep 17 00:00:00 2001 From: NunoSempere Date: Sun, 16 Jul 2023 21:08:05 +0200 Subject: [PATCH] reformat squiggle.c, remake examples. --- examples/01_one_sample/example | Bin 17648 -> 17648 bytes examples/02_many_samples/example | Bin 17688 -> 17688 bytes examples/03_gcc_nested_function/example | Bin 17704 -> 17712 bytes scratchpad/scratchpad | Bin 21984 -> 22056 bytes scratchpad/scratchpad.c | 2 +- squiggle.c | 65 ++++++++++++------------ 6 files changed, 34 insertions(+), 33 deletions(-) diff --git a/examples/01_one_sample/example b/examples/01_one_sample/example index 57b62677c294e5590afef0ceab52330bc4d3ffff..90e4a1fb8be49c4b80b023f38c78649bd7a5d9e4 100755 GIT binary patch delta 549 zcmey+$@rm@aYF{P$kgT48yt(yU0DA*Lgl%XQO(4wd}f<#m_-a36DChIiDzP9n*7Nm zZE}IB24myogC^pPb0-IyiZia9ywOx#auXv1gAjuN!vtXlFwlok4Ew+;&wfdoX82~@B1qM1Hp)nrCt;d z(gYbq7{K5Vgkq?f9B8V~*gg56i8$l($s0|@B{wiKFbFXSFia4JDA9+i+yho~229=s zk&=IaDg_uM85kU(N}v?yWJfb`NeLzf20vIf!+;Z&$>%H)e?`ivEm8O_BdnV@PEgdmbIceYG61j_b7WecFbkb{~qb8;e3 zb}3XgK@cK*04lo*Z2J+Ytbiy)_y$z=(&U3cy;q^KAE2^#pt8?EdOg2GWgkHO1 z$Rx~|G5I2pUjgG!GMA9-0das%6M#BR5~@{fvZ1-Sv(n}+&C4u_ i&&w~$P0ZQcU?s-9d4{b5J7e+Woi65#){{TFr~?2DxM0`- delta 459 zcmbQy#Wa;B+1xg91c53)B?1$qUWIS%ZPHLX$T#2{Wcm zz6j)(!T6KRB_z8*9H0XPL?C)3p;|>I8=8wtPJ_x$5QhlM1Dy*33nnK5Wmf}b1sJ3l z1RTJEaAN!9iRR+0dtlZuUYmRnsQL+z4|1e~0z@Iqk^%5jX>32P}Luxs$sqe-MrCaHX~en7laqZnz){k-h;{#Rn7@1iH>a0V2Qx6&IYWXd%w31kyEmBa<+r z@#H`YaY<{CYM?*SZE~O72$W5P+Oa_bV#rFUS=pO6THIiqJlRT{yEHGeBt9>{C^s=@ f^IoghOp^~Vv29*qtH93KKKZ1JIivq%MptzJI73#W delta 469 zcmdnc#kiu2ae@Y8#zswhW)ZDr=T7u4n_2L5@nBT?2{4|Xe9}~(@z!KTQ*p^}j0_Ay3<3-RA`D=l51|;CCOevmGYWx8We_Rp z#KZtpC&|Fz0968|{3kC2%Ekd@1(_rnIM8IXCtn20Rsm%}wj=PXmNv)v$QBaFTW@^F=ujzmCoh^Rg VZ?IKhXKbB((Z!t6cQU7|Isg&FR!;x` diff --git a/scratchpad/scratchpad b/scratchpad/scratchpad index 57601d606328f000879eddeeff2d00ed6545b073..51d92ed6da4d1b9e74bd3543b57b6f95aa528bd8 100755 GIT binary patch literal 22056 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 literal 21984 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 fP~T;AVL|z&gURhGF5P2g*PpOXNz8C4I8gDw07f #include #include -#include +// #include #include #define EXIT_ON_ERROR 0 diff --git a/squiggle.c b/squiggle.c index 0ca98e2..0c6d638 100644 --- a/squiggle.c +++ b/squiggle.c @@ -3,29 +3,29 @@ #include // PI constant -const float PI = M_PI;// 3.14159265358979323846; +const float PI = M_PI; // 3.14159265358979323846; // Pseudo Random number generator -uint32_t xorshift32 -(uint32_t* seed) +uint32_t xorshift32(uint32_t* seed) { - // Algorithm "xor" from p. 4 of Marsaglia, "Xorshift RNGs" - // See - // https://en.wikipedia.org/wiki/Xorshift - // Also some drama: , + // Algorithm "xor" from p. 4 of Marsaglia, "Xorshift RNGs" + // See + // https://en.wikipedia.org/wiki/Xorshift + // Also some drama: , - uint32_t x = *seed; - x ^= x << 13; - x ^= x >> 17; - x ^= x << 5; - return *seed = x; + uint32_t x = *seed; + x ^= x << 13; + x ^= x >> 17; + x ^= x << 5; + return *seed = x; } // Distribution & sampling functions -float rand_0_to_1(uint32_t* seed){ - return ((float) xorshift32(seed)) / ((float) UINT32_MAX); +float rand_0_to_1(uint32_t* seed) +{ + return ((float)xorshift32(seed)) / ((float)UINT32_MAX); } float rand_float(float max, uint32_t* seed) @@ -33,7 +33,7 @@ float rand_float(float max, uint32_t* seed) return rand_0_to_1(seed) * max; } -float ur_normal(uint32_t* seed) +float unit_normal(uint32_t* seed) { float u1 = rand_0_to_1(seed); float u2 = rand_0_to_1(seed); @@ -48,7 +48,7 @@ float random_uniform(float from, float to, uint32_t* seed) float random_normal(float mean, float sigma, uint32_t* seed) { - return (mean + sigma * ur_normal(seed)); + return (mean + sigma * unit_normal(seed)); } float random_lognormal(float logmean, float logsigma, uint32_t* seed) @@ -90,24 +90,25 @@ float mixture(float (*samplers[])(uint32_t*), float* weights, int n_dists, uint3 // You can see a simpler version of this function in the git history // or in C-02-better-algorithm-one-thread/ float sum_weights = array_sum(weights, n_dists); - float* cumsummed_normalized_weights = (float*) malloc(n_dists * sizeof(float)); - cumsummed_normalized_weights[0] = weights[0]/sum_weights; + float* cumsummed_normalized_weights = (float*)malloc(n_dists * sizeof(float)); + cumsummed_normalized_weights[0] = weights[0] / sum_weights; for (int i = 1; i < n_dists; i++) { - cumsummed_normalized_weights[i] = cumsummed_normalized_weights[i - 1] + weights[i]/sum_weights; + cumsummed_normalized_weights[i] = cumsummed_normalized_weights[i - 1] + weights[i] / sum_weights; } - float result; - int result_set_flag = 0; - float p = random_uniform(0, 1, seed); - for (int k = 0; k < n_dists; k++) { - if (p < cumsummed_normalized_weights[k]) { - result = samplers[k](seed); - result_set_flag = 1; - break; - } - } - if(result_set_flag == 0) result = samplers[n_dists-1](seed); + float result; + int result_set_flag = 0; + float p = random_uniform(0, 1, seed); + for (int k = 0; k < n_dists; k++) { + if (p < cumsummed_normalized_weights[k]) { + result = samplers[k](seed); + result_set_flag = 1; + break; + } + } + if (result_set_flag == 0) + result = samplers[n_dists - 1](seed); - free(cumsummed_normalized_weights); - return result; + free(cumsummed_normalized_weights); + return result; }