X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=bootstrap.cpp;fp=bootstrap.cpp;h=ce261cead89a50335536e1c165dca793f668ea04;hb=0caf3fbabaa3ece404f8ce77f4c883dc5b1bf1dc;hp=0000000000000000000000000000000000000000;hpb=1b73ff67c83892a025e597dabd9df6fe7b58206a;p=mothur.git diff --git a/bootstrap.cpp b/bootstrap.cpp new file mode 100644 index 0000000..ce261ce --- /dev/null +++ b/bootstrap.cpp @@ -0,0 +1,40 @@ +/* + * bootstrap.cpp + * Dotur + * + * Created by Sarah Westcott on 1/7/09. + * Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved. + * + */ + +#include "bootstrap.h" + +/***********************************************************************/ + +EstOutput Bootstrap::getValues(SAbundVector* rank){ + try { + //vector bootData(3,0); + data.resize(1,0); + double maxRank = (double)rank->getMaxRank(); + double sampled = rank->getNumSeqs(); + double sobs = rank->getNumBins(); + + double boot = (double)sobs; + + for(int i=1;i<=maxRank;i++){ + boot += (double)rank->get(i)*pow((1.0-(double)i/(double)sampled),sampled); + } + + data[0] = boot; + + if (isnan(data[0]) || isinf(data[0])) { data[0] = 0; } + + return data; + } + catch(exception& e) { + m->errorOut(e, "Bootstrap", "getValues"); + exit(1); + } +} + +/***********************************************************************/