-
Notifications
You must be signed in to change notification settings - Fork 0
/
accelerated_sequence_clustering.h
151 lines (126 loc) · 4.72 KB
/
accelerated_sequence_clustering.h
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
#include <vector>
extern void accelerated_sequence_clustering_approximated(int n,
double *data,
int k,
int MAX_STALL,
double theta,
std::vector<double> & out_cntrs,
std::vector<int> & out_sizes,
double & out_SSE
, std::vector<std::vector<int> > & out_internal_size
, std::vector<std::vector<double> > & out_internal_left);
extern void accelerated_sequence_clustering_approximated(std::vector<double> data,
int k,
int MAX_STALL,
double theta,
std::vector<double> & out_cntrs,
std::vector<int> & out_sizes,
double & out_SSE
, std::vector<std::vector<int> > & out_internal_size
, std::vector<std::vector<double> > & out_internal_left);
extern void accelerated_sequence_clustering_approximated2(int n,
double *data,
int k,
int MAX_STALL,
double theta,
std::vector<double> & out_cntrs,
std::vector<unsigned int> & out_sizes,
double & out_SSE
, std::vector<unsigned int> & out_internal_size_flat
, std::vector<double> & out_internal_left_flat);
extern void accelerated_sequence_clustering_approximated2(std::vector<double> data,
int k,
int MAX_STALL,
double theta,
std::vector<double> & out_cntrs,
std::vector<unsigned int> & out_sizes_unsigned,
double & out_SSE
, std::vector<unsigned int> & out_internal_size_flat
, std::vector<double> & out_internal_left_flat);
void accelerated_sequence_clustering_approximated3(std::vector<double> data,
int kk,
int MAX_STALL,
double theta,
std::vector<int>& out_sizes3,
double & out_SSE3);
void accelerated_sequence_clustering_approximated3(int nn,
double *data,
int kk,
int MAX_STALL,
double theta,
std::vector<int> & out_sizes3,
double & out_SSE3);
extern void accelerated_sequence_clustering(int n,
double *data,
int k,
std::vector<int> & out_sizes,
double & out_SSE);
extern void accelerated_sequence_clustering(std::vector<double> data,
int k,
std::vector<int>& out_sizes,
double & out_SSE);
extern void basic_sequence_clustering(int n,
double *data,
int k,
std::vector<double> & out_cntrs,
std::vector<int> & out_sizes,
double & out_SSE
, std::vector<std::vector<int> > & out_internal_size
, std::vector<std::vector<double> > & out_internal_left);
extern void basic_sequence_clustering(std::vector<double> data,
int k,
std::vector<double>& out_cntrs,
std::vector<int>& out_sizes,
double & out_SSE
, std::vector<std::vector<int> > & out_internal_size
, std::vector<std::vector<double> > & out_internal_left);
extern void basic_sequence_clustering(int n,
double *data,
int k_min,
int k_max,
std::vector<std::vector<double> > & out_cntrs2,
std::vector<std::vector<int> > & out_sizes2,
std::vector<double> & out_SSE2
, std::vector<std::vector<int> > & out_internal_size2
, std::vector<std::vector<double> > & out_internal_left2);
extern void basic_sequence_clustering(std::vector<double> data,
int k_min,
int k_max,
std::vector<std::vector<double> > & out_cntrs2,
std::vector<std::vector<int> > & out_sizes2,
std::vector<double> & out_SSE2
, std::vector<std::vector<int> > & out_internal_size2
, std::vector<std::vector<double> > & out_internal_left2);
extern void basic_sequence_clustering_2d(int nrec,
int ndims,
double *data_2d,
int k,
bool verbose,
std::vector<int> & out_sizes,
double & out_SSE,
std::vector<std::vector<int> > & out_internal_size,
std::vector<std::vector<double> > & out_internal_left
);
extern void basic_sequence_clustering_2d(int nrec,
int ndims,
double *data_2d,
int k_min,
int k_max,
std::vector<std::vector<int> > & out_sizes2,
std::vector<double> & out_SSE2,
std::vector<std::vector<int> > & out_internal_size2,
std::vector<std::vector<double> > & out_internal_left2
);
void accelerated_sequence_clustering_approximated3_2d(int nrows,
int ncols,
const double *seq_data,
int k,
int MAX_STALL,
double theta,
bool verbose,
std::vector<int> & out_sizes,
double & out_SSE,
std::vector<double> & out_All_SSEs,
long int & total_saved_operations
);
// extern void modifyArray(int sizex, int sizey, double *arr);