A platform for high-performance distributed tool and library development written in C++. It can be deployed in two different cluster modes: standalone or distributed. API for v0.5.0, released on June 13, 2018.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
BuiltinPartialResult.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * *
3  * Copyright 2018 Rice University *
4  * *
5  * Licensed under the Apache License, Version 2.0 (the "License"); *
6  * you may not use this file except in compliance with the License. *
7  * You may obtain a copy of the License at *
8  * *
9  * http://www.apache.org/licenses/LICENSE-2.0 *
10  * *
11  * Unless required by applicable law or agreed to in writing, software *
12  * distributed under the License is distributed on an "AS IS" BASIS, *
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
14  * See the License for the specific language governing permissions and *
15  * limitations under the License. *
16  * *
17  *****************************************************************************/
18 #ifndef BUILTIN_PARTIAL_RESULT_H
19 #define BUILTIN_PARTIAL_RESULT_H
20 
21 // PRELOAD %BuiltinPartialResult%
22 #include "Object.h"
23 #include "Centroid.h"
24 #include <stdlib.h>
25 #include <time.h>
26 #include <float.h>
27 #include <iostream>
28 
29 
30 #ifndef NUM_CLUSTERS
31 #define NUM_CLUSTERS 10
32 #endif
33 
34 namespace pdb {
35 class BuiltinPartialResult : public Object {
36 
37 public:
39 
42 
43  void initialize() {
44 
45  int i;
46  for (i = 0; i < NUM_CLUSTERS; i++) {
47  centroids[i].initialize();
48  }
49  }
50 
51 
52  void updateCentroid(int clusterIndex, double* point) {
53 
54  centroids[clusterIndex].update(point);
55  }
56 
57  void printCentroids() {
58  int i;
59  std::cout << std::endl;
60  for (i = 0; i < NUM_CLUSTERS; i++) {
61  std::cout << "cluster-" << i << ":" << std::endl;
62  centroids[i].print();
63  }
64  }
65 
66  Centroid* getCentroids() {
67 
68  return centroids;
69  }
70 
71 
72 private:
74 };
75 }
76 
77 
78 #endif
#define ENABLE_DEEP_COPY
Definition: DeepCopy.h:52
ENABLE_DEEP_COPY BuiltinPartialResult()
#define NUM_CLUSTERS
void updateCentroid(int clusterIndex, double *point)
Centroid centroids[NUM_CLUSTERS]