Skip to content

Commit 3924095

Browse files
committed
Make event_correlation() work on fractional counts
1 parent 6d29e0c commit 3924095

File tree

2 files changed

+20
-20
lines changed

2 files changed

+20
-20
lines changed

dlib/statistics/statistics.h

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1827,20 +1827,20 @@ namespace dlib
18271827
// ----------------------------------------------------------------------------------------
18281828

18291829
inline double binomial_random_vars_are_different (
1830-
uint64_t k1,
1831-
uint64_t n1,
1832-
uint64_t k2,
1833-
uint64_t n2
1830+
double k1,
1831+
double n1,
1832+
double k2,
1833+
double n2
18341834
)
18351835
{
18361836
DLIB_ASSERT(k1 <= n1, "k1: "<< k1 << " n1: "<< n1);
18371837
DLIB_ASSERT(k2 <= n2, "k2: "<< k2 << " n2: "<< n2);
18381838

1839-
const double p1 = k1/(double)n1;
1840-
const double p2 = k2/(double)n2;
1841-
const double p = (k1+k2)/(double)(n1+n2);
1839+
const double p1 = n1 != 0 ? k1/n1 : 0;
1840+
const double p2 = n2 != 0 ? k2/n2 : 0;
1841+
const double p = (k1+k2)/(n1+n2);
18421842

1843-
auto ll = [](double p, uint64_t k, uint64_t n) {
1843+
auto ll = [](double p, double k, double n) {
18441844
if (p == 0 || p == 1)
18451845
return 0.0;
18461846
return k*std::log(p) + (n-k)*std::log(1-p);
@@ -1860,10 +1860,10 @@ namespace dlib
18601860
// ----------------------------------------------------------------------------------------
18611861

18621862
inline double event_correlation (
1863-
uint64_t A_count,
1864-
uint64_t B_count,
1865-
uint64_t AB_count,
1866-
uint64_t total_num_observations
1863+
double A_count,
1864+
double B_count,
1865+
double AB_count,
1866+
double total_num_observations
18671867
)
18681868
{
18691869
DLIB_ASSERT(AB_count <= A_count && A_count <= total_num_observations,

dlib/statistics/statistics_abstract.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -108,10 +108,10 @@ namespace dlib
108108
// ----------------------------------------------------------------------------------------
109109

110110
double binomial_random_vars_are_different (
111-
uint64_t k1,
112-
uint64_t n1,
113-
uint64_t k2,
114-
uint64_t n2
111+
double k1,
112+
double n1,
113+
double k2,
114+
double n2
115115
);
116116
/*!
117117
requires
@@ -138,10 +138,10 @@ namespace dlib
138138
// ----------------------------------------------------------------------------------------
139139

140140
double event_correlation (
141-
uint64_t A_count,
142-
uint64_t B_count,
143-
uint64_t AB_count,
144-
uint64_t total_num_observations
141+
double A_count,
142+
double B_count,
143+
double AB_count,
144+
double total_num_observations
145145
);
146146
/*!
147147
requires

0 commit comments

Comments
 (0)