1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
#ifndef LIBSHUFF
#define LIBSHUFF
/*
* libshuff.h
* Mothur
*
* Created by Pat Schloss on 4/8/09.
* Copyright 2009 Patrick D. Schloss. All rights reserved.
*
*/
#include "fullmatrix.h"
class Libshuff {
public:
Libshuff(FullMatrix*, int, float, float);
virtual ~Libshuff() = default;
virtual vector<vector<double> > evaluateAll() = 0;
virtual float evaluatePair(int,int) = 0;
void randomizeGroups(int, int);
void resetGroup(int);
vector<vector<vector<double> > > getSavedMins();
protected:
void initializeGroups(FullMatrix*);
vector<double> getMinX(int);
vector<double> getMinXY(int, int);
vector<vector<vector<double> > > savedMins;
MothurOut* m;
FullMatrix* matrix;
vector<int> groupSizes;
vector<string> groupNames;
vector<vector<int> > groups;
vector<vector<int> > savedGroups;
vector<double> minX;
vector<double> minXY;
float cutOff, stepSize;
int iters, numGroups;
Utils util;
};
#endif
|