diff --git a/src/testCOMPOSE.cpp b/src/testCOMPOSE.cpp index 70e87d7177e0bcc144ad21eab1bee97041bcff57..ba6cb3c2679f31585af5636da70c6f618270d815 100644 --- a/src/testCOMPOSE.cpp +++ b/src/testCOMPOSE.cpp @@ -29,6 +29,7 @@ char * C_FILE = const_cast<char *>(__FILE__); #define C_ASSERTA(x) { if (!(x)) { C_SETERRA(1, "Assert failure %s", #x); }} #include <maphys.hpp> +#include <maphys/solver/GMRES.hpp> #include <memory> #include <cstring> #include <string> @@ -71,8 +72,8 @@ int testCOMPOSE_FEM(double * relative_error){ int row_max = N; int col_min = 1; int col_max = N; - int nnz; - NonZero * matComp = (NonZero *) malloc(sizeof(NonZero)); // For some reason, realloc is used on this + int nnz = 0; // Must be initialized to 0 + NonZero * matComp = (NonZero *) calloc(1, sizeof(NonZero)); // For some reason, realloc is used on this freeFemMatrix(); createFemMatrix(); @@ -155,6 +156,14 @@ int testCOMPOSE_FEM(double * relative_error){ //Mumps<SparseMatrixCOO<Scalar>, DenseMatrix<Scalar>> solver(A); solver.factorize(); + /*using Real = typename arithmetic_real<Scalar>::type; + const Real tol = 1.0e-6; + GMRES<SparseMatrixCOO<Scalar>, DenseMatrix<Scalar>> solver(A); + solver.setup(parameters::verbose{true}, + parameters::max_iter{500}, + parameters::tolerance{tol}); + */ + temps_final = getTime(); temps_cpu = temps_final - temps_initial; @@ -165,7 +174,6 @@ int testCOMPOSE_FEM(double * relative_error){ doubleToSimple(solCLA, vectorSize); B = DenseMatrix<Scalar>::view(N, nbRHS, (Scalar*) solCLA, N); - //B.display("B"); solCOMPOSE = MpfCalloc(vectorSize, sizeof(D_type)) ; C_CHKPTRQ(solCOMPOSE) ; X = DenseMatrix<Scalar>::view(N, nbRHS, (Scalar*) solCOMPOSE, N); @@ -347,7 +355,7 @@ int testCOMPOSE_BEM(double * relative_error){ int testCOMPOSE(double * relative_error){ - int ierr = 0; + int ierr; if(testedModel == _bem){ switch(stype) { @@ -388,7 +396,7 @@ int testCOMPOSE(double * relative_error){ } } - return 0; + return ierr; } #else // HAVE_COMPOSE not defined