ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
wkkm_boundary_only.c File Reference
#include "metis.h"
#include <float.h>
Include dependency graph for wkkm_boundary_only.c:

Go to the source code of this file.

Functions

void Compute_Weights (CtrlType *ctrl, GraphType *graph, idxtype *w)
 
void transform_matrix (CtrlType *ctrl, GraphType *graph, idxtype *w, float *m_adjwgt)
 
void pingpong (CtrlType *ctrl, GraphType *graph, int nparts, int chain_length, float *tpwgts, float ubfactor, int toplevel)
 
void Weighted_kernel_k_means (CtrlType *ctrl, GraphType *graph, int nparts, idxtype *w, float *tpwgts, float ubfactor)
 
float onePoint_move (GraphType *graph, int nparts, idxtype *sum, idxtype *squared_sum, idxtype *w, idxtype *self_sim, int **linearTerm, int ii)
 
void move1Point2EmptyCluster (GraphType *graph, int nparts, idxtype *sum, idxtype *squared_sum, idxtype *w, idxtype *self_sim, int **linearTerm, int k)
 
int local_search (CtrlType *ctrl, GraphType *graph, int nparts, int chain_length, idxtype *w, float *tpwgts, float ubfactor)
 
void remove_empty_clusters_l1 (CtrlType *ctrl, GraphType *graph, int nparts, idxtype *w, float *tpwgts, float ubfactor)
 
void remove_empty_clusters_l2 (CtrlType *ctrl, GraphType *graph, int nparts, idxtype *w, float *tpwgts, float ubfactor)
 
void MLKKMRefine (CtrlType *ctrl, GraphType *orggraph, GraphType *graph, int nparts, int chain_length, float *tpwgts, float ubfactor)
 

Variables

int cutType
 
int memory_saving
 
int boundary_points
 

Function Documentation

◆ Compute_Weights()

void Compute_Weights ( CtrlType ctrl,
GraphType graph,
idxtype w 
)

Definition at line 19 of file wkkm_boundary_only.c.

References graphdef::adjwgt, cutType, NULL, graphdef::nvtxs, RASSO, RCUT, and graphdef::xadj.

Referenced by pingpong().

◆ local_search()

int local_search ( CtrlType ctrl,
GraphType graph,
int  nparts,
int  chain_length,
idxtype w,
float *  tpwgts,
float  ubfactor 
)

Definition at line 699 of file wkkm_boundary_only.c.

Referenced by pingpong(), and remove_empty_clusters_l1().

◆ MLKKMRefine()

◆ move1Point2EmptyCluster()

void move1Point2EmptyCluster ( GraphType graph,
int  nparts,
idxtype sum,
idxtype squared_sum,
idxtype w,
idxtype self_sim,
int **  linearTerm,
int  k 
)

Definition at line 642 of file wkkm_boundary_only.c.

◆ onePoint_move()

float onePoint_move ( GraphType graph,
int  nparts,
idxtype sum,
idxtype squared_sum,
idxtype w,
idxtype self_sim,
int **  linearTerm,
int  ii 
)

Definition at line 543 of file wkkm_boundary_only.c.

◆ pingpong()

void pingpong ( CtrlType ctrl,
GraphType graph,
int  nparts,
int  chain_length,
float *  tpwgts,
float  ubfactor,
int  toplevel 
)

◆ remove_empty_clusters_l1()

void remove_empty_clusters_l1 ( CtrlType ctrl,
GraphType graph,
int  nparts,
idxtype w,
float *  tpwgts,
float  ubfactor 
)

Definition at line 785 of file wkkm_boundary_only.c.

References clusterSize(), imalloc, and local_search().

Referenced by pingpong().

◆ remove_empty_clusters_l2()

void remove_empty_clusters_l2 ( CtrlType ctrl,
GraphType graph,
int  nparts,
idxtype w,
float *  tpwgts,
float  ubfactor 
)

Definition at line 802 of file wkkm_boundary_only.c.

References clusterSize(), and imalloc.

Referenced by pingpong().

◆ transform_matrix()

void transform_matrix ( CtrlType ctrl,
GraphType graph,
idxtype w,
float *  m_adjwgt 
)

◆ Weighted_kernel_k_means()

void Weighted_kernel_k_means ( CtrlType ctrl,
GraphType graph,
int  nparts,
idxtype w,
float *  tpwgts,
float  ubfactor 
)

Definition at line 135 of file wkkm_boundary_only.c.

Referenced by pingpong().

Variable Documentation

◆ boundary_points

int boundary_points

Definition at line 17 of file wkkm_boundary_only.c.

◆ cutType

int cutType
extern

Definition at line 3 of file metis.c.

Referenced by Compute_Weights(), MLKKMRefine(), and transform_matrix().

◆ memory_saving

int memory_saving

Definition at line 17 of file wkkm_boundary_only.c.

Referenced by pingpong().