本文整理汇总了C++中Patron::setLnLikelihoodAlone方法的典型用法代码示例。如果您正苦于以下问题:C++ Patron::setLnLikelihoodAlone方法的具体用法?C++ Patron::setLnLikelihoodAlone怎么用?C++ Patron::setLnLikelihoodAlone使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Patron
的用法示例。
在下文中一共展示了Patron::setLnLikelihoodAlone方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: initializePatrons
void Restaurant::initializePatrons(void) {
// how many patrons?
if (assumingAdmixture == false)
numPatrons = observationsPtr->getNumIndividuals();
else if (assumingAdmixture == true && individualsInRestaurant == -1)
numPatrons = observationsPtr->getNumIndividuals() * observationsPtr->getTotalNumAlleleCopies();
else if (assumingAdmixture == true && individualsInRestaurant >= 0)
numPatrons = observationsPtr->getTotalNumAlleleCopies();
// allocate the patrons
patrons = new Patron*[numPatrons];
// set the index information for each patron
if (assumingAdmixture == false)
{
for (int i=0; i<numPatrons; i++)
{
patrons[i] = new PatronIndividual( observationsPtr, i, observationsPtr->getNumLoci(), observationsPtr->getNumUniqueAlleles() );
patrons[i]->setIndex(i);
patrons[i]->setIndividual(i);
}
}
else if (assumingAdmixture == true && individualsInRestaurant == -1)
{
for (int i=0, m=0; i<observationsPtr->getNumIndividuals(); i++)
{
for (int j=0; j<observationsPtr->getNumLoci(); j++)
{
int ploidy = 1;
if (observationsPtr->getIsDiploid(j) == true)
ploidy = 2;
for (int k=0; k<ploidy; k++)
{
patrons[m] = new PatronAllele( observationsPtr, m, i, j, k, observationsPtr->getNumUniqueAllelesAtLocus(j) );
m++;
}
}
}
}
else if (assumingAdmixture == true && individualsInRestaurant >= 0)
{
for (int j=0, m=0; j<observationsPtr->getNumLoci(); j++)
{
int ploidy = 1;
if (observationsPtr->getIsDiploid(j) == true)
ploidy = 2;
for (int k=0; k<ploidy; k++)
{
patrons[m] = new PatronAllele( observationsPtr, m, individualsInRestaurant, j, k, observationsPtr->getNumUniqueAllelesAtLocus(j) );
m++;
}
}
}
// set the data for each patron
for (int i=0; i<numPatrons; i++)
{
Patron *p = patrons[i];
int elemIdx = p->getIndividual();
p->setData( observationsPtr->getPtrToIndividual(elemIdx) );
}
// set the ln likelihood for each data element when placed in a population by itself
for (int i=0; i<numPatrons; i++)
{
Patron *p = patrons[i];
double x = lnLikelihoodNewTable(p);
p->setLnLikelihoodAlone(x);
}
}