-public:
- SharedChao1() : Calculator("sharedchao", 3) {};
- EstOutput getValues(SAbundVector*) {return data;};
- EstOutput getValues(SharedRAbundVector*, SharedRAbundVector*);
+ public:
+ SharedChao1() : Calculator("sharedchao", 1, true) {};
+ EstOutput getValues(SAbundVector*) {return data;};
+ EstOutput getValues(vector<SharedRAbundVector*>);
+ string getCitation() { return "http://www.mothur.org/wiki/Sharedchao"; }
+ private:
+ IntNode* f1root;
+ IntNode* f2root;
+ vector<IntNode*> f1leaves;
+ vector<IntNode*> f2leaves;
+ int numLeaves;
+ int numNodes;
+
+ void initialTree(int); //builds trees structure with n leaf nodes initialized to 0.
+ void setCoef(IntNode*, int);
+ void updateTree(vector<int>); //take vector containing the abundance info. for a bin and updates trees.
+ void updateBranchf1(IntNode*, vector<int>, int); //pointer, vector of abundance values, index into vector
+ void updateBranchf2(IntNode*, vector<int>, int); //pointer, vector of abundance values, index into vector
+
+ //for debugging
+ void printTree();
+ void printBranch(IntNode*);