From af68b32a2c4e18bdc9e066a215f3f1ab80da3d4f Mon Sep 17 00:00:00 2001 From: Michele Martone Date: Tue, 19 Apr 2011 13:12:38 +0000 Subject: [PATCH] psblas3-trunk: bugfix: psb_d_rsb_csgetptn returned nz=0. added a naive rscale/cscale handling in psb_d_rsb_csgetrow/psb_d_rsb_csgetrow --- opt/psb_d_rsb_mat_mod.F90 | 60 ++++++++++++++++++++++++++++++++------- 1 file changed, 49 insertions(+), 11 deletions(-) diff --git a/opt/psb_d_rsb_mat_mod.F90 b/opt/psb_d_rsb_mat_mod.F90 index 29ef9f85..6ce82a68 100644 --- a/opt/psb_d_rsb_mat_mod.F90 +++ b/opt/psb_d_rsb_mat_mod.F90 @@ -19,9 +19,11 @@ module psb_d_rsb_mat_mod #if 1 #define PSBRSB_DEBUG(MSG) write(*,*) __FILE__,':',__LINE__,':',MSG #define PSBRSB_ERROR(MSG) write(*,*) __FILE__,':',__LINE__,':'," ERROR: ",MSG +#define PSBRSB_WARNING(MSG) write(*,*) __FILE__,':',__LINE__,':'," WARNING: ",MSG #else #define PSBRSB_DEBUG(MSG) #define PSBRSB_ERROR(MSG) +#define PSBRSB_WARNING(MSG) #endif integer, parameter :: c_d_typecode=68 ! FIXME: this is only valid for 'double' integer, parameter :: c_for_flags=1 ! : here should use RSB_FLAG_FORTRAN_INDICES_INTERFACE @@ -34,6 +36,7 @@ module psb_d_rsb_mat_mod integer, parameter :: c_def_flags =c_for_flags ! FIXME: here should use .. integer :: c_f_order=c_for_flags ! FIXME: here should use RSB_FLAG_WANT_COLUMN_MAJOR_ORDER integer, parameter :: c_upd_flags =c_for_flags ! flags for when updating the assembled rsb matrix + integer, parameter :: c_psbrsb_err_ =psb_err_internal_error_ type, extends(psb_d_base_sparse_mat) :: psb_d_rsb_sparse_mat #ifdef HAVE_LIBRSB type(c_ptr) :: rsbmptr=c_null_ptr @@ -655,6 +658,8 @@ subroutine psb_d_rsb_csgetrow(imin,imax,a,nz,ia,ja,val,info,& if ((imax