float npShannon = 0.0000;
double maxRank = (double)rank->getMaxRank();
- int sampled = rank->getNumSeqs();
+ double sampled = rank->getNumSeqs();
double Chat = 1.0000 - (double)rank->get(1)/(double)sampled;
double ChatPi = Chat*pi;
if(ChatPi>0){
npShannon += rank->get(i) * ChatPi*log(ChatPi)/(1-pow(1-ChatPi,(double)sampled));
- //cout << ChatPi << '\t' << rank->get(i) * ChatPi*log(ChatPi)/(1-pow(1-ChatPi,(double)sampled)) << endl;
}
}
npShannon = -npShannon;
return data;
}
catch(exception& e) {
- cout << "Standard Error: " << e.what() << " has occurred in the NPShannon class Function getValues. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
+ m->errorOut(e, "NPShannon", "getValues");
exit(1);
}
- catch(...) {
- cout << "An unknown error has occurred in the NPShannon class function getValues. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
- exit(1);
- }
}
/***********************************************************************/