1 #ifndef SPIKE_COMPONENTS_H
2 #define SPIKE_COMPONENTS_H
6 #include <cusp/array1d.h>
7 #include <thrust/sequence.h>
21 typedef typename cusp::array1d<int, cusp::host_memory>
IntVectorH;
46 for (
int i = 0; i <
m_n; i++)
49 std::map<int, int> compIndicesMapping;
53 for (
int i = 0; i <
m_n; i++) {
55 if (compIndicesMapping.find(compIndex) == compIndicesMapping.end())
56 m_compIndices[i] = compIndicesMapping[compIndex] = (++cur_count);
68 if (compCounts[i] == 1) {
78 m_numComponents = numComponents + 1;
79 for (
int i = 0; i <
m_n; i++)
84 compIndicesMapping.clear();
85 for (
int i = 0; i <
m_n; i++) {
87 if (compIndicesMapping.find(compIndex) == compIndicesMapping.end())
88 m_compIndices[i] = compIndicesMapping[compIndex] = (++cur_count);
int getComponentIndex(int node)
Definition: components.h:29
cusp::array1d< int, cusp::host_memory > IntVectorH
Definition: components.h:21
void adjustComponentIndices()
Definition: components.h:45
IntVectorH m_compIndices
Definition: components.h:97
int m_n
Definition: components.h:98
Components(int n)
Definition: components.h:23
Definition: components.h:19
int m_numComponents
Definition: components.h:99
void combineComponents(int node1, int node2)
Definition: components.h:36