NeoPZ
rcm.h
Go to the documentation of this file.
1 int adj_bandwidth ( int node_num, int adj_num, int adj_row[], int adj[] );
2 bool adj_contains_ij ( int node_num, int adj_num, int adj_row[], int adj[],
3  int i, int j );
4 void adj_insert_ij ( int node_num, int adj_max, int *adj_num, int adj_row[],
5  int adj[], int i, int j );
6 int adj_perm_bandwidth ( int node_num, int adj_num, int adj_row[], int adj[],
7  int perm[], int perm_inv[] );
8 void adj_perm_show ( int node_num, int adj_num, int adj_row[], int adj[],
9  int perm[], int perm_inv[] );
10 void adj_print ( int node_num, int adj_num, int adj_row[], int adj[],
11  string title );
12 void adj_print_some ( int node_num, int node_lo, int node_hi, int adj_num,
13  int adj_row[], int adj[], string title );
14 void adj_set ( int node_num, int adj_max, int *adj_num, int adj_row[],
15  int adj[], int irow, int jcol );
16 void adj_show ( int node_num, int adj_num, int adj_row[], int adj[] );
17 void degree ( int root, int adj_num, int adj_row[], int adj[], int mask[],
18  int deg[], int *iccsze, int ls[], int node_num );
19 void genrcm ( int node_num, int adj_num, int adj_row[], int adj[], int perm[] );
20 void graph_01_adj ( int node_num, int adj_num, int adj_row[], int adj[] );
21 void graph_01_size ( int *node_num, int *adj_num );
22 int i4_max ( int i1, int i2 );
23 int i4_min ( int i1, int i2 );
24 int i4_sign ( int i );
25 void i4_swap ( int *i, int *j );
26 int i4_uniform ( int a, int b, int *seed );
27 int i4col_compare ( int m, int n, int a[], int i, int j );
28 void i4col_sort_a ( int m, int n, int a[] );
29 void i4col_swap ( int m, int n, int a[], int irow1, int irow2 );
30 void i4mat_print_some ( int m, int n, int a[], int ilo, int jlo, int ihi,
31  int jhi, string title );
32 void i4mat_transpose_print ( int m, int n, int a[], string title );
33 void i4mat_transpose_print_some ( int m, int n, int a[], int ilo, int jlo,
34  int ihi, int jhi, string title );
35 void i4vec_heap_d ( int n, int a[] );
36 int *i4vec_indicator ( int n );
37 void i4vec_print ( int n, int a[], string title );
38 void i4vec_reverse ( int n, int a[] );
39 void i4vec_sort_heap_a ( int n, int a[] );
40 void level_set ( int root, int adj_num, int adj_row[], int adj[], int mask[],
41  int *level_num, int level_row[], int level[], int node_num );
42 void level_set_print ( int node_num, int level_num, int level_row[],
43  int level[] );
44 bool perm_check ( int n, int p[] );
45 void perm_inverse3 ( int n, int perm[], int perm_inv[] );
46 int *perm_uniform ( int n, int *seed );
47 float r4_abs ( float x );
48 int r4_nint ( float x );
49 void r82vec_permute ( int n, double a[], int p[] );
50 void r8mat_print_some ( int m, int n, double a[], int ilo, int jlo, int ihi,
51  int jhi, string title );
52 void r8mat_transpose_print_some ( int m, int n, double a[], int ilo, int jlo,
53  int ihi, int jhi, string title );
54 void rcm ( int root, int adj_num, int adj_row[], int adj[], int mask[],
55  int perm[], int *iccsze, int node_num );
56 void root_find ( int *root, int adj_num, int adj_row[], int adj[], int mask[],
57  int *level_num, int level_row[], int level[], int node_num );
58 void sort_heap_external ( int n, int *indx, int *i, int *j, int isgn );
59 void timestamp ( );
60 int *triangulation_neighbor_triangles ( int triangle_order, int triangle_num,
61  int triangle_node[] );
62 int triangulation_order3_adj_count ( int node_num, int triangle_num,
63  int triangle_node[], int triangle_neighbor[], int adj_col[] );
64 int *triangulation_order3_adj_set ( int node_num, int triangle_num,
65  int triangle_node[], int triangle_neighbor[], int adj_num, int adj_col[] );
66 void triangulation_order3_example2 ( int node_num, int triangle_num,
67  double node_xy[], int triangle_node[], int triangle_neighbor[] );
68 void triangulation_order3_example2_size ( int *node_num, int *triangle_num,
69  int *hole_num );
70 int triangulation_order6_adj_count ( int node_num, int triangle_num,
71  int triangle_node[], int triangle_neighbor[], int adj_col[] );
72 int *triangulation_order6_adj_set ( int node_num, int triangle_num,
73  int triangle_node[], int triangle_neighbor[], int adj_num, int adj_col[] );
74 void triangulation_order6_example2 ( int node_num, int triangle_num,
75  double node_xy[], int triangle_node[], int triangle_neighbor[] );
76 void triangulation_order6_example2_size ( int *node_num, int *triangle_num,
77  int *hole_num );
int adj_bandwidth(int node_num, int adj_num, int adj_row[], int adj[])
Definition: rcm.cpp:19
void adj_show(int node_num, int adj_num, int adj_row[], int adj[])
Definition: rcm.cpp:776
float r4_abs(float x)
Definition: rcm.cpp:2736
void timestamp()
Definition: rcm.cpp:3719
void level_set_print(int node_num, int level_num, int level_row[], int level[])
Definition: rcm.cpp:2479
void sort_heap_external(int n, int *indx, int *i, int *j, int isgn)
Definition: rcm.cpp:3533
void i4col_swap(int m, int n, int a[], int irow1, int irow2)
Definition: rcm.cpp:1687
void r82vec_permute(int n, double a[], int p[])
Definition: rcm.cpp:2832
int * triangulation_neighbor_triangles(int triangle_order, int triangle_num, int triangle_node[])
Definition: rcm.cpp:3767
void root_find(int *root, int adj_num, int adj_row[], int adj[], int mask[], int *level_num, int level_row[], int level[], int node_num)
Definition: rcm.cpp:3340
void adj_print_some(int node_num, int node_lo, int node_hi, int adj_num, int adj_row[], int adj[], string title)
Definition: rcm.cpp:522
int * i4vec_indicator(int n)
Definition: rcm.cpp:2127
int adj_perm_bandwidth(int node_num, int adj_num, int adj_row[], int adj[], int perm[], int perm_inv[])
Definition: rcm.cpp:279
void adj_insert_ij(int node_num, int adj_max, int *adj_num, int adj_row[], int adj[], int i, int j)
Definition: rcm.cpp:187
int triangulation_order3_adj_count(int node_num, int triangle_num, int triangle_node[], int triangle_neighbor[], int adj_col[])
Definition: rcm.cpp:4000
void triangulation_order6_example2(int node_num, int triangle_num, double node_xy[], int triangle_node[], int triangle_neighbor[])
Definition: rcm.cpp:5293
int * triangulation_order3_adj_set(int node_num, int triangle_num, int triangle_node[], int triangle_neighbor[], int adj_num, int adj_col[])
Definition: rcm.cpp:4205
void i4vec_heap_d(int n, int a[])
Definition: rcm.cpp:1999
void triangulation_order6_example2_size(int *node_num, int *triangle_num, int *hole_num)
Definition: rcm.cpp:5436
void degree(int root, int adj_num, int adj_row[], int adj[], int mask[], int deg[], int *iccsze, int ls[], int node_num)
Definition: rcm.cpp:875
int i4_min(int i1, int i2)
Definition: rcm.cpp:1277
int i4_max(int i1, int i2)
Definition: rcm.cpp:1238
void i4vec_sort_heap_a(int n, int a[])
Definition: rcm.cpp:2264
void triangulation_order3_example2(int node_num, int triangle_num, double node_xy[], int triangle_node[], int triangle_neighbor[])
Definition: rcm.cpp:4433
void level_set(int root, int adj_num, int adj_row[], int adj[], int mask[], int *level_num, int level_row[], int level[], int node_num)
Definition: rcm.cpp:2341
bool adj_contains_ij(int node_num, int adj_num, int adj_row[], int adj[], int i, int j)
Definition: rcm.cpp:92
void i4mat_transpose_print_some(int m, int n, int a[], int ilo, int jlo, int ihi, int jhi, string title)
Definition: rcm.cpp:1901
void graph_01_size(int *node_num, int *adj_num)
Definition: rcm.cpp:1198
int i4_sign(int i)
Definition: rcm.cpp:1316
void i4mat_print_some(int m, int n, int a[], int ilo, int jlo, int ihi, int jhi, string title)
Definition: rcm.cpp:1765
void i4vec_print(int n, int a[], string title)
Definition: rcm.cpp:2168
void i4vec_reverse(int n, int a[])
Definition: rcm.cpp:2212
void r8mat_transpose_print_some(int m, int n, double a[], int ilo, int jlo, int ihi, int jhi, string title)
Definition: rcm.cpp:3066
void adj_perm_show(int node_num, int adj_num, int adj_row[], int adj[], int perm[], int perm_inv[])
Definition: rcm.cpp:357
void adj_print(int node_num, int adj_num, int adj_row[], int adj[], string title)
Definition: rcm.cpp:468
void i4mat_transpose_print(int m, int n, int a[], string title)
Definition: rcm.cpp:1863
void i4_swap(int *i, int *j)
Definition: rcm.cpp:1356
void i4col_sort_a(int m, int n, int a[])
Definition: rcm.cpp:1600
void adj_set(int node_num, int adj_max, int *adj_num, int adj_row[], int adj[], int irow, int jcol)
Definition: rcm.cpp:637
void graph_01_adj(int node_num, int adj_num, int adj_row[], int adj[])
Definition: rcm.cpp:1127
int * triangulation_order6_adj_set(int node_num, int triangle_num, int triangle_node[], int triangle_neighbor[], int adj_num, int adj_col[])
Definition: rcm.cpp:4954
int * perm_uniform(int n, int *seed)
Definition: rcm.cpp:2679
int r4_nint(float x)
Definition: rcm.cpp:2777
void rcm(int root, int adj_num, int adj_row[], int adj[], int mask[], int perm[], int *iccsze, int node_num)
Definition: rcm.cpp:3153
bool perm_check(int n, int p[])
Definition: rcm.cpp:2577
int i4col_compare(int m, int n, int a[], int i, int j)
Definition: rcm.cpp:1490
void r8mat_print_some(int m, int n, double a[], int ilo, int jlo, int ihi, int jhi, string title)
Definition: rcm.cpp:2968
int i4_uniform(int a, int b, int *seed)
Definition: rcm.cpp:1392
void perm_inverse3(int n, int perm[], int perm_inv[])
Definition: rcm.cpp:2639
clarg::argString m("-m", "input matrix file name (text format)", "matrix.txt")
int triangulation_order6_adj_count(int node_num, int triangle_num, int triangle_node[], int triangle_neighbor[], int adj_col[])
Definition: rcm.cpp:4667
void genrcm(int node_num, int adj_num, int adj_row[], int adj[], int perm[])
Definition: rcm.cpp:1014
void triangulation_order3_example2_size(int *node_num, int *triangle_num, int *hole_num)
Definition: rcm.cpp:4613