+++ /dev/null
-/*
- * DLibshuff.cpp
- * Mothur
- *
- * Created by Pat Schloss on 4/8/09.
- * Copyright 2009 Patrick D. Schloss. All rights reserved.
- *
- */
-
-#include "dlibshuff.h"
-
-/***********************************************************************/
-
-DLibshuff::DLibshuff(FullMatrix* D, int it, float step, float co) : Libshuff(D, it, step, co){
-
- numDXs = int(cutOff / stepSize);
-
-}
-
-/***********************************************************************/
-
-float DLibshuff::evaluatePair(int i, int j){
- return dCalculate(i,j);
-}
-
-/***********************************************************************/
-
-vector<vector<double> > DLibshuff::evaluateAll(){
- savedMins.resize(numGroups);
- vector<vector<double> > dCXYValues(numGroups);
-
- for(int i=0;i<numGroups;i++){
- savedMins[i].resize(numGroups);
- dCXYValues[i].resize(numGroups);
- for(int j=0;j<numGroups;j++){
- if(i!=j){ dCXYValues[i][j] = dCalculate(i,j); }
- savedMins[i][i] = minX;
- savedMins[i][j] = minXY;
- }
- }
-
- return dCXYValues;
-}
-
-/***********************************************************************/
-
-double DLibshuff::dCalculate(int x, int y){
-
- double sum = 0;
-
- minX = getMinX(x);
-
- if (m->control_pressed) { return sum; }
-
- minXY = getMinXY(x, y);
-
- if (m->control_pressed) { return sum; }
-
- vector<int> nx = calcN(minX);
-
- if (m->control_pressed) { return sum; }
-
- vector<int> nxy = calcN(minXY);
-
- if (m->control_pressed) { return sum; }
-
- for(int i=0;i<numDXs;i++){
- float h = (nx[i] - nxy[i]) / (float) groupSizes[x];
- sum += h * h * stepSize;
- }
-
- return sum;
-}
-
-/***********************************************************************/
-
-vector<int> DLibshuff::calcN(vector<double> minVector){
-
- vector<int> counts(numDXs,0);
-
- int precision = int(1 / stepSize);
-
- for(int i=0;i<minVector.size();i++){
- int bin = int (precision * minVector[i]);
- if(bin < numDXs){ counts[bin]++; }
- }
-
- for(int i=1;i<numDXs;i++){
- counts[i] += counts[i-1];
- }
-
- return counts;
-}
-
-/***********************************************************************/