field_test 0.5.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/ext/field_test/bayesian_ab.hpp +12 -29
- data/lib/field_test/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0b7676acb9075e7701de0019e3c7ca18a0242db8c87348d024006ff787c42d13
|
4
|
+
data.tar.gz: 92849469d6ca65422ef3f2a1b77f08c7695d79fa336b463cedf3991770be15cd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f21fa35a6f44d085bbbfbd15e8174e7dd7f8a0d411e3a584097d59793776a0c0bd783cb4a3d7fee7f07402190a1a61487e1be554492208536f375b3e1981c7f
|
7
|
+
data.tar.gz: aeb943baab224022931a634fa190bbb3837856b3f0ee956c919f1233c6c6796a5251216a65334cd34878487e5902a251e695722a8982a19ffca6711e1d6113cf
|
data/CHANGELOG.md
CHANGED
@@ -26,14 +26,11 @@ double prob_c_beats_a_and_b(int alpha_a, int beta_a, int alpha_b, int beta_b, in
|
|
26
26
|
|
27
27
|
double logbeta_ac_bc = logbeta(alpha_c, beta_c);
|
28
28
|
|
29
|
-
std::vector<double>
|
30
|
-
|
31
|
-
std::vector<double> logbeta_j_bb;
|
32
|
-
logbeta_j_bb.reserve(alpha_b);
|
29
|
+
std::vector<double> log_bb_j_logbeta_j_bb;
|
30
|
+
log_bb_j_logbeta_j_bb.reserve(alpha_b);
|
33
31
|
|
34
32
|
for (auto j = 0; j < alpha_b; j++) {
|
35
|
-
|
36
|
-
logbeta_j_bb.push_back(logbeta(1 + j, beta_b));
|
33
|
+
log_bb_j_logbeta_j_bb.push_back(log(beta_b + j) + logbeta(1 + j, beta_b));
|
37
34
|
}
|
38
35
|
|
39
36
|
double abc = beta_a + beta_b + beta_c;
|
@@ -48,7 +45,7 @@ double prob_c_beats_a_and_b(int alpha_a, int beta_a, int alpha_b, int beta_b, in
|
|
48
45
|
double sum_i = -log(beta_a + i) - logbeta(1 + i, beta_a) - logbeta_ac_bc;
|
49
46
|
|
50
47
|
for (auto j = 0; j < alpha_b; j++) {
|
51
|
-
total += exp(sum_i + logbeta_ac_i_j[i + j] -
|
48
|
+
total += exp(sum_i + logbeta_ac_i_j[i + j] - log_bb_j_logbeta_j_bb[j]);
|
52
49
|
}
|
53
50
|
}
|
54
51
|
|
@@ -61,24 +58,18 @@ double prob_d_beats_a_and_b_and_c(int alpha_a, int beta_a, int alpha_b, int beta
|
|
61
58
|
|
62
59
|
double logbeta_ad_bd = logbeta(alpha_d, beta_d);
|
63
60
|
|
64
|
-
std::vector<double>
|
65
|
-
|
66
|
-
std::vector<double> logbeta_j_bb;
|
67
|
-
logbeta_j_bb.reserve(alpha_b);
|
61
|
+
std::vector<double> log_bb_j_logbeta_j_bb;
|
62
|
+
log_bb_j_logbeta_j_bb.reserve(alpha_b);
|
68
63
|
|
69
64
|
for (auto j = 0; j < alpha_b; j++) {
|
70
|
-
|
71
|
-
logbeta_j_bb.push_back(logbeta(1 + j, beta_b));
|
65
|
+
log_bb_j_logbeta_j_bb.push_back(log(beta_b + j) + logbeta(1 + j, beta_b));
|
72
66
|
}
|
73
67
|
|
74
|
-
std::vector<double>
|
75
|
-
|
76
|
-
std::vector<double> logbeta_k_bc;
|
77
|
-
logbeta_k_bc.reserve(alpha_c);
|
68
|
+
std::vector<double> log_bc_k_logbeta_k_bc;
|
69
|
+
log_bc_k_logbeta_k_bc.reserve(alpha_c);
|
78
70
|
|
79
71
|
for (auto k = 0; k < alpha_c; k++) {
|
80
|
-
|
81
|
-
logbeta_k_bc.push_back(logbeta(1 + k, beta_c));
|
72
|
+
log_bc_k_logbeta_k_bc.push_back(log(beta_c + k) + logbeta(1 + k, beta_c));
|
82
73
|
}
|
83
74
|
|
84
75
|
double abcd = beta_a + beta_b + beta_c + beta_d;
|
@@ -89,22 +80,14 @@ double prob_d_beats_a_and_b_and_c(int alpha_a, int beta_a, int alpha_b, int beta
|
|
89
80
|
logbeta_bd_i_j_k.push_back(logbeta(alpha_d + i, abcd));
|
90
81
|
}
|
91
82
|
|
92
|
-
std::vector<double> sum_i_j;
|
93
|
-
sum_i_j.reserve(alpha_a * alpha_b);
|
94
83
|
for (auto i = 0; i < alpha_a; i++) {
|
95
84
|
double sum_i = -log(beta_a + i) - logbeta(1 + i, beta_a) - logbeta_ad_bd;
|
96
85
|
|
97
86
|
for (auto j = 0; j < alpha_b; j++) {
|
98
|
-
|
99
|
-
}
|
100
|
-
}
|
101
|
-
|
102
|
-
for (auto i = 0; i < alpha_a; i++) {
|
103
|
-
for (auto j = 0; j < alpha_b; j++) {
|
104
|
-
double sum_j = sum_i_j[i * alpha_b + j];
|
87
|
+
double sum_j = sum_i - log_bb_j_logbeta_j_bb[j];
|
105
88
|
|
106
89
|
for (auto k = 0; k < alpha_c; k++) {
|
107
|
-
total += exp(sum_j + logbeta_bd_i_j_k[i + j + k] -
|
90
|
+
total += exp(sum_j + logbeta_bd_i_j_k[i + j + k] - log_bc_k_logbeta_k_bc[k]);
|
108
91
|
}
|
109
92
|
}
|
110
93
|
}
|
data/lib/field_test/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: field_test
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Kane
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-09-
|
11
|
+
date: 2021-09-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|