parent
1d46682801
commit
0256689a02
@ -0,0 +1,31 @@ |
|||||||
|
# ---> Vim |
||||||
|
# Swap |
||||||
|
[._]*.s[a-v][a-z] |
||||||
|
!*.svg # comment out if you don't need vector files |
||||||
|
[._]*.sw[a-p] |
||||||
|
[._]s[a-rt-v][a-z] |
||||||
|
[._]ss[a-gi-z] |
||||||
|
[._]sw[a-p] |
||||||
|
|
||||||
|
# Session |
||||||
|
Session.vim |
||||||
|
Sessionx.vim |
||||||
|
|
||||||
|
# Temporary |
||||||
|
.netrwhist |
||||||
|
*~ |
||||||
|
# Auto-generated tag files |
||||||
|
tags |
||||||
|
# Persistent undo |
||||||
|
[._]*.un~ |
||||||
|
|
||||||
|
subprojects |
||||||
|
builddir |
||||||
|
ttassets |
||||||
|
backup |
||||||
|
*.exe |
||||||
|
*.dll |
||||||
|
*.world |
||||||
|
coverage |
||||||
|
coverage/* |
||||||
|
.venv |
||||||
@ -0,0 +1,55 @@ |
|||||||
|
#pragma once |
||||||
|
#include <cmath> |
||||||
|
#include <chrono> |
||||||
|
#include "stats.hpp" |
||||||
|
|
||||||
|
struct WelfordStats { |
||||||
|
double Mean = 0.0; // LOL
|
||||||
|
double n = 0.0; |
||||||
|
double M2 = 0.0; |
||||||
|
|
||||||
|
double min = 0.0; |
||||||
|
double max = 0.0; |
||||||
|
|
||||||
|
inline void reset() { |
||||||
|
Mean = 0.0; |
||||||
|
n = 0.0; |
||||||
|
M2 = 0.0; |
||||||
|
|
||||||
|
min = 0.0; |
||||||
|
max = 0.0; |
||||||
|
} |
||||||
|
|
||||||
|
inline double mean() { |
||||||
|
return Mean; |
||||||
|
} |
||||||
|
|
||||||
|
inline double stddev() { |
||||||
|
return std::sqrt(variance()); |
||||||
|
} |
||||||
|
|
||||||
|
inline double variance() { |
||||||
|
return M2 / n; |
||||||
|
} |
||||||
|
|
||||||
|
inline double sample_variance() { |
||||||
|
return M2 / (n - 1); |
||||||
|
} |
||||||
|
|
||||||
|
inline void sample(double s) { |
||||||
|
n += 1; |
||||||
|
double old_mean = Mean; |
||||||
|
Mean += (s - Mean) / n; |
||||||
|
M2 += (s - old_mean) * (s - Mean); |
||||||
|
|
||||||
|
if (n == 0) { |
||||||
|
min = s; |
||||||
|
max = s; |
||||||
|
} else { |
||||||
|
if (min > s) min = s; |
||||||
|
if (max < s) max = s; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
TTest t_test(WelfordStats& other); |
||||||
|
}; |
||||||
@ -0,0 +1,7 @@ |
|||||||
|
samples <- read.table("bad_samples.txt") |
||||||
|
t.test(samples$V1, samples$V2) |
||||||
|
|
||||||
|
|
||||||
|
samples <- read.table("samples.txt") |
||||||
|
print(samples) |
||||||
|
t.test(samples$V1, samples$V2) |
||||||
Loading…
Reference in new issue