24 #include <Sequence/SummStats/Snn.hpp> 29 const std::vector< std::vector<double> > & dkj,
30 const unsigned config[],
32 const unsigned & nsam)
40 double * d_kj =
new double[nsam-1];
43 std::vector<double> d_kj_win;
44 for(
unsigned k=0; k<nsam ; ++k)
47 unsigned pop = 0,ttl=0;
56 for(
unsigned j = 0,dummy=0; j < nsam ; ++j)
60 unsigned a=*(individuals+j),b=*(individuals+k);
64 double ndiffs = dkj[a][b];
65 d_kj[dummy++] = ndiffs;
67 unsigned pop_j=0,ttl=0;
76 d_kj_win.push_back(ndiffs);
81 for (
unsigned j = 1 ; j < nsam-1 ; ++j)
82 if (d_kj[j] < min) min = d_kj[j];
84 std::ptrdiff_t T_k = std::count(d_kj,d_kj+(nsam-1),min);
87 std::ptrdiff_t M_k = std::count(d_kj_win.begin(),
89 snn += double(M_k)/double(T_k);
92 return snn/double(nsam);
double Snn_statistic(const unsigned individuals[], const std::vector< std::vector< double > > &dkj, const unsigned config[], const size_t &npop, const unsigned &nsam) __attribute__((deprecated))
The namespace in which this library resides.