From f65699a688138c024647241a0236e3a272f5dfc0 Mon Sep 17 00:00:00 2001 From: NunoSempere Date: Sun, 23 Jul 2023 13:17:40 +0200 Subject: [PATCH] fix floats.h bug, fix std bug, add tests for std. --- examples/01_one_sample/example | Bin 22290 -> 22288 bytes examples/02_many_samples/example | Bin 22330 -> 22328 bytes examples/03_gcc_nested_function/example | Bin 22346 -> 22352 bytes examples/04_sample_from_cdf_simple/example | Bin 22435 -> 22432 bytes examples/05_sample_from_cdf_beta/example | Bin 26554 -> 26552 bytes examples/06_gamma_beta/example | Bin 22162 -> 22192 bytes squiggle.c | 5 ++-- test/makefile | 3 ++ test/test | Bin 22314 -> 22312 bytes test/test.c | 31 +++++++++++++++------ 10 files changed, 27 insertions(+), 12 deletions(-) diff --git a/examples/01_one_sample/example b/examples/01_one_sample/example index 0395c5c0b5d39ae55b9019189cd89cf8a91aedf4..a8bdd5dfb6cefd749275808afe0677dba0506192 100755 GIT binary patch literal 22288 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 literal 22290 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 D)d&hn literal 22330 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 e|9^oBmmBg&^ecGjA~l)(@1R-%nAZ`L^zdLW{ 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 J1_nb@`VTSf5o`be literal 22346 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 DIaX8t diff --git a/examples/05_sample_from_cdf_beta/example b/examples/05_sample_from_cdf_beta/example index b1afd6f63c6f9d2951ab11adf7b77c25dea1ce6b..8a07292b7ad35d9147d03e8a680d254b9f2a0ce7 100755 GIT binary patch literal 26552 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 z z|7LmkV^6%&stixt30c8kfF7tj;+3~ukVDpZ(_mdgx8R0ViAP5nmx<|P)VxN!rKH2g zw%g^=|1Y~m=_rUl=g4@9u3{(|Qqd9=c{Re6#Zc99$IXJsR@s z;WrULHXJ*+aHB++Q9(j0f{)uE4bXWtf>id(TJCcpBnOvy(iJfm$-g z-Eiov%fSjb^K$5i;D8#YZh4)>ML1^MOq#*r;(uRj3QEL#>Qg^g2JG& z;a0!5KmH0^)Drc4L*c;jt-8g5PP;e1r*6(g1`MYlWa_UkSCn5-O9;I;G5TM`pnpOA zK}0PX*c?%Nzt41V4XQsFP`wO8Psv5t?a=NCLTE{5YajMI`N*Rs(h*0sSc1>;g#>y+ zThjA_+V@8$vETr3Osg}joPP?kuqUf}gOs`!N(o)iGIZI$ITE@InjKH*vH9zW)6pk< zI26QwgHDlfXp=ZDe+F$}9JtAk7z%rn@r~Akq-nti>ubFThaRZ%TTj$3v$4m zQ~QF5N6#Mm;V#Y!_v2_so{hbLym3F)+Tm|gyrLIx;6roio9qo(;=H)(=iDWKh0|td6BuZwru_`_kOS=?h-q=hDj$Dk+a_lrBq5LQN*q~1t?8^4axI84 z`w=lL3*sQX<^UNHqZ+GL?8SWVFwRaQRrFS z=zs{lYFcX!Cc|zfBXu1~xVzWFnxG)#x|Fjw98i{Zo%AYadLiy0o8h6I){8?EX6@b% zlaAORA{uE6Uhs+9$M^RIC)F(<@mQo?4bw8Zf?Py)1EsP4>(HEzcc(T$a~>h}$N>{m z`+f|U={sti?KBTHm7z6?2R0kADG0L<%}Gqf%rtym zGJXyXZ*JH*X2jE04RaUy*%b8OrJ#RgABBsEdk^0D;SmL&gXDwg1~$odgARRgom9Ww zK#1P8_!e|z38Ec}-oE6H*ROLk6$$*9^I#=8V#A9kxW3m|#} zQ=IZe8cv3QGo3Hrh*?47C)o1b?O@Lv;{4IjCms~1UsaLeCygU-i1GN>)%Q4FG#Ibq z^!~4{uO{`S^X_NymX5Yvf1qvGdD?b;iucI#o&7Fm8cy3;b8IKo-`;_el5_T&F$1`gWB8% zt-147fJsVabE{wLZ1=YXdAY8>!MDyItmW3~(gL9%@vRGl+Uh&CRfRWcMXPVpn%lI7 zP+MKFInaiDU4mg*pu?}V1On}yTASZr@2|f}t8cE?+5$nXEsPf z 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 b1uy+5A%0}Ll6G_w{+=bA;<5yWgrf34#{}OP diff --git a/examples/06_gamma_beta/example b/examples/06_gamma_beta/example index 11e0a92f61ef2f8a590d5830b1bb4f0b90484951..a82f6b924e178cce693936e24843f59668552935 100755 GIT binary patch literal 22192 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 diff --git a/squiggle.c b/squiggle.c index 8832c36..b148092 100644 --- a/squiggle.c +++ b/squiggle.c @@ -1,4 +1,4 @@ -#include +#include #include #include #include @@ -161,8 +161,7 @@ double array_std(double* array, int length) double mean = array_mean(array, length); double std = 0.0; for (int i = 0; i < length; i++) { - std += (array[i] - mean); - std *= std; + std += (array[i] - mean) * (array[i] - mean); } std = sqrt(std / length); return std; diff --git a/test/makefile b/test/makefile index e4139a0..50cae10 100644 --- a/test/makefile +++ b/test/makefile @@ -36,6 +36,9 @@ format: $(SRC) run: $(SRC) $(OUTPUT) ./$(OUTPUT) +verify: $(SRC) $(OUTPUT) + ./$(OUTPUT) | grep "NOT passed" || true + time-linux: @echo "Requires /bin/time, found on GNU/Linux systems" && echo diff --git a/test/test b/test/test index f6a849cc61c3ce0206fae4dda622ad76896d46e7..f65f3069c9223a0b49ed614b1a88d3b1ae73a1b0 100755 GIT binary patch literal 22312 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 Not)w_3xlPp{4efUUE=@% literal 22314 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 diff --git a/test/test.c b/test/test.c index 2c8f909..c4d571f 100644 --- a/test/test.c +++ b/test/test.c @@ -4,7 +4,8 @@ #include #include -#define N 100 +#define N 1000 * 1000 +#define PERCENTAGE_TOLERANCE 1.0/1000.0 void test_unit_uniform(uint64_t* seed){ double* unit_uniform_array = malloc(sizeof(double) * N); @@ -24,13 +25,13 @@ void test_unit_uniform(uint64_t* seed){ printf("Mean of unit uniform: %f, vs expected mean: %f, delta: %f\n", mean, expected_mean, delta_mean); printf("Std of unit uniform: %f, vs expected std: %f, delta: %f\n", std, expected_std, delta_std); - if(fabs(delta_mean) > 1.0/1000.0){ + if(fabs(delta_mean) > PERCENTAGE_TOLERANCE){ printf("[-] Mean test for unit uniform NOT passed.\n"); }else { printf("[x] Mean test for unit uniform PASSED\n"); } - if(fabs(delta_std) > 1.0/1000.0){ + if(fabs(delta_std) > PERCENTAGE_TOLERANCE){ printf("[-] Std test for unit uniform NOT passed.\n"); }else { printf("[x] Std test for unit uniform PASSED\n"); @@ -56,22 +57,22 @@ void test_uniform(double start, double end, uint64_t* seed){ double delta_std = std - expected_std; double width = fabs(end - start); - if(fabs(delta_mean) > width * 1.0/1000.0){ + if(fabs(delta_mean) > width * PERCENTAGE_TOLERANCE){ printf("[-] Mean test for [%.1f, %.1f] uniform NOT passed.\n", start, end); printf("Mean of [%.1f, %.1f] uniform: %f, vs expected mean: %f, delta: %f\n", start, end, mean, expected_mean, mean - expected_mean); }else { - printf("[x] Mean test for unit uniform PASSED\n"); + printf("[x] Mean test for [%.1f, %.1f] uniform PASSED\n", start, end); } - if(fabs(delta_std) > width * 1.0/1000.0){ + if(fabs(delta_std) > width * PERCENTAGE_TOLERANCE){ printf("[-] Std test for [%.1f, %.1f] uniform NOT passed.\n", start, end); printf("Std of [%.1f, %.1f] uniform: %f, vs expected std: %f, delta: %f\n", start, end, std, expected_std, std - expected_std); - for(int i=0; i start){ test_uniform(start, end, seed); } } + + printf("Testing wide uniforms\n"); + for(int i=0; i<100; i++){ + double start = sample_uniform(-1000 * 1000, 1000 * 1000, seed); + double end = sample_uniform(-1000 * 1000, 1000 * 1000, seed); + if ( end > start){ + test_uniform(start, end, seed); + } + } + free(seed); }