46 #include <std::string.h>
48 #include "az_ifpack.h"
50 void AZ_ifpack_solve(
double x[],
double b[],
int options[],
double params[],
51 int indx[],
int bindx[],
int rpntr[],
int cpntr[],
int bpntr[],
52 double val[],
int data_org[],
double status[],
int proc_config[])
56 Amat = AZ_matrix_create(data_org[AZ_N_internal]+data_org[AZ_N_border]);
58 options[AZ_output] = 1;
59 if (data_org[AZ_matrix_type] == AZ_MSR_MATRIX)
60 AZ_set_MSR(Amat, bindx, val, data_org, 0, NULL, AZ_LOCAL);
61 else if (data_org[AZ_matrix_type] == AZ_VBR_MATRIX)
62 AZ_set_VBR(Amat, rpntr, cpntr, bpntr, indx, bindx, val,
63 data_org, 0, NULL, AZ_LOCAL);
65 fprintf(stderr,
"Unknown matrix type (%d)\n",data_org[AZ_matrix_type]);
66 fprintf(stderr,
"Matrix-free is now available via AZ_iterate()\n");
70 AZ_ifpack_iterate(x, b, options, params, status, proc_config, Amat);
72 AZ_matrix_destroy(&Amat);