45 #include "amg_header.h"
57 #define AMG_LINES_PER_PAGE 60
58 #define AMG_COLS_PER_LINE 3
72 char name[AMG_NAME_SIZE];
84 #define AMG_VECTOR_NAME(p) ((p)->name)
85 #define AMG_VECTOR_N(p) ((p)->n)
86 #define AMG_VECTOR_B(p) ((p)->b)
87 #define AMG_VECTOR_X(p) ((p)->x)
88 #define AMG_VECTOR_ENTRY(p,i,ii) ((p)->x[(i)*(p)->b+(ii)])
90 AMG_VECTOR *AMG_NewVector (
int n,
int b,
char *name);
98 char name[AMG_NAME_SIZE];
103 int system_as_scalar;
124 #define AMG_MATRIX_NAME(p) ((p)->name)
125 #define AMG_MATRIX_N(p) ((p)->n)
126 #define AMG_MATRIX_M(p) ((p)->m)
127 #define AMG_MATRIX_B(p) ((p)->b)
128 #define AMG_MATRIX_BB(p) ((p)->bb)
129 #define AMG_MATRIX_SAS(p) ((p)->system_as_scalar)
130 #define AMG_MATRIX_BLDI(p) ((p)->blocks_in_diag)
131 #define AMG_MATRIX_NONZEROS(p) ((p)->nonzeros)
132 #define AMG_MATRIX_CONNECTIONS(p) ((p)->connections)
133 #define AMG_MATRIX_BW(p) ((p)->bandwidth)
134 #define AMG_MATRIX_RA(p) ((p)->ra)
135 #define AMG_MATRIX_JA(p) ((p)->ja)
136 #define AMG_MATRIX_A(p) ((p)->a)
139 AMG_MATRIX *AMG_NewMatrix (
int n,
int b,
int nonzeros,
int system_as_scalar,
140 int blocks_in_diag,
int allocate_row,
int allocate_column,
char *name);
142 int AMG_SetRowLength (
AMG_MATRIX *A,
int i,
int l);
143 int AMG_FindEntry (
AMG_MATRIX *A,
int i,
int j);
144 int AMG_InsertEntry (
AMG_MATRIX *A,
int i,
int j);
145 int AMG_InsertValues (
AMG_MATRIX *A,
int i,
int j,
double *aij);
146 int AMG_AddValues (
AMG_MATRIX *A,
int i,
int j,
double *aij);
149 int AMG_PrintVector (
int k,
AMG_VECTOR **vlist,
char *text);
150 int AMG_PrintMatrix (
AMG_MATRIX *A,
char *text);