From aee8aaaf183bdbeeb66f800e26aec6d8e9474150 Mon Sep 17 00:00:00 2001 From: wdaniau Date: Sun, 11 Apr 2010 11:49:07 +0000 Subject: [PATCH] Added a function to get meaning of umfpack returned code git-svn-id: https://lxsd.femto-st.fr/svn/fvn@72 b657c933-2333-4658-acf2-d3c7c2708721 --- fvn_sparse/fvn_sparse.f90 | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/fvn_sparse/fvn_sparse.f90 b/fvn_sparse/fvn_sparse.f90 index 2fd3f2b..a7abc81 100644 --- a/fvn_sparse/fvn_sparse.f90 +++ b/fvn_sparse/fvn_sparse.f90 @@ -11,6 +11,46 @@ interface fvn_sparse_det module procedure fvn_zl_sparse_det,fvn_zi_sparse_det,fvn_dl_sparse_det,fvn_di_sparse_det end interface fvn_sparse_det contains + +function umfpack_return_code(c) + implicit none + integer(4), intent(in) :: c + character(len=80) :: umfpack_return_code + select case(c) + case(0) + umfpack_return_code="UMFPACK_OK" + case(1) + umfpack_return_code="UMFPACK_WARNING_singular_matrix" + case(2) + umfpack_return_code="UMFPACK_WARNING_determinant_underflow" + case(3) + umfpack_return_code="UMFPACK_WARNING_determinant_overflow" + case(-1) + umfpack_return_code="UMFPACK_ERROR_out_of_memory" + case(-3) + umfpack_return_code="UMFPACK_ERROR_invalid_Numeric_object" + case(-4) + umfpack_return_code="UMFPACK_ERROR_invalid_Symbolic_object" + case(-5) + umfpack_return_code="UMFPACK_ERROR_argument_missing" + case(-6) + umfpack_return_code="UMFPACK_ERROR_n_nonpositive" + case(-8) + umfpack_return_code="UMFPACK_ERROR_invalid_matrix" + case(-11) + umfpack_return_code="UMFPACK_ERROR_different_pattern" + case(-13) + umfpack_return_code="UMFPACK_ERROR_invalid_system" + case(-15) + umfpack_return_code="UMFPACK_ERROR_invalid_permutation" + case(-911) + umfpack_return_code="UMFPACK_ERROR_internal_error" + case(-17) + umfpack_return_code="UMFPACK_ERROR_file_IO" + case default + umfpack_return_code="Unknown return code" + end select +end function !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! SPARSE RESOLUTION -- 2.16.4