PostGIS  3.0.6dev-r@@SVN_REVISION@@

◆ UF_create()

UNIONFIND* UF_create ( uint32_t  N)

Definition at line 35 of file lwunionfind.c.

36 {
37  size_t i;
38  UNIONFIND* uf = lwalloc(sizeof(UNIONFIND));
39  uf->N = N;
40  uf->num_clusters = N;
41  uf->clusters = lwalloc(N * sizeof(uint32_t));
42  uf->cluster_sizes = lwalloc(N * sizeof(uint32_t));
43 
44  for (i = 0; i < N; i++)
45  {
46  uf->clusters[i] = i;
47  uf->cluster_sizes[i] = 1;
48  }
49 
50  return uf;
51 }
void * lwalloc(size_t size)
Definition: lwutil.c:227
uint32_t N
Definition: lwunionfind.h:36
uint32_t * cluster_sizes
Definition: lwunionfind.h:34
uint32_t * clusters
Definition: lwunionfind.h:33
uint32_t num_clusters
Definition: lwunionfind.h:35

References UNIONFIND::cluster_sizes, UNIONFIND::clusters, lwalloc(), UNIONFIND::N, and UNIONFIND::num_clusters.

Referenced by cluster_intersecting(), cluster_within_distance(), do_dbscan_test(), ST_ClusterDBSCAN(), test_unionfind_collapse_cluster_ids(), test_unionfind_create(), test_unionfind_path_compression(), and test_unionfind_union().

Here is the call graph for this function:
Here is the caller graph for this function: