ribi::ManyDigitNewick::ManyDigitNewick(
  const std::vector<ManyDigitNewickDerivative>& derivatives,
  const int sum_above_zero,
  const int sum_above_one)
  : m_derivatives(derivatives),
    m_probability(-1.0),
    m_denominator(
      CalculateDenominator(sum_above_zero,sum_above_one)),
    m_sum_terms_above_zero(sum_above_zero),
    m_sum_terms_above_one(sum_above_one)
{

}
예제 #2
0
파일: mp-init.cpp 프로젝트: hznlp/pbmt
bool GenerateDenominator(vector<vector<double>>& denom)
{
    uint64_t dim=denom.size();
    if(dim==0)return false;
    if(dim!=denom[0].size())return false;
    vector<vector<double>> com(dim+3,vector<double>(dim+3,0));
    vector<double> fac(dim+3,0);
    GenerateCombinatorial(com);
    GenerateFactorial(fac);
    for(uint64_t i=1;i<dim;i++){
        for(uint64_t j=1;j<dim;j++){
            denom[i][j]=CalculateDenominator(com,fac,(int)i,(int)j);
        }
    }
    return true;
}