From 2becae4636c17b39eed2405104fca3119aae7c0b Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Wed, 12 Apr 2006 16:20:56 +0000 Subject: [PATCH] Changed psb_const_mod to include psb_const.fh, to have constants defined in just one place. --- src/internals/psi_sort_dl.f90 | 1 + src/modules/Makefile | 2 ++ src/modules/psb_const.fh | 63 +++++++++++++++++---------------- src/modules/psb_const_mod.f90 | 50 +------------------------- src/modules/psb_error_mod.f90 | 7 ++-- src/modules/psb_realloc_mod.f90 | 3 +- src/prec/psb_dilu_fct.f90 | 1 + src/serial/csr/dcocrupd.f | 1 - src/serial/csr/dcrcrupd.f | 1 - src/serial/psb_dcoins.f90 | 2 +- 10 files changed, 44 insertions(+), 87 deletions(-) diff --git a/src/internals/psi_sort_dl.f90 b/src/internals/psi_sort_dl.f90 index be164cf4..36291837 100644 --- a/src/internals/psi_sort_dl.f90 +++ b/src/internals/psi_sort_dl.f90 @@ -33,6 +33,7 @@ subroutine psi_sort_dl(dep_list,l_dep_list,np,info) ! interface between former sort_dep_list subroutine ! and new srtlist ! + use psb_const_mod use psb_error_mod implicit none diff --git a/src/modules/Makefile b/src/modules/Makefile index 85f7cc19..1cf62f73 100644 --- a/src/modules/Makefile +++ b/src/modules/Makefile @@ -15,6 +15,8 @@ LIBDIR = ../../lib psb_realloc_mod.o : psb_error_mod.o psb_spmat_type.o : psb_realloc_mod.o psb_const_mod.o +psb_error_mod.o: psb_const_mod.o +psb_const_mod.f90: psb_const.fh lib: $(MODULES) $(OBJS) $(AR) $(LIBDIR)/$(LIBNAME) $(MODULES) $(OBJS) diff --git a/src/modules/psb_const.fh b/src/modules/psb_const.fh index aed7e364..e7348c62 100644 --- a/src/modules/psb_const.fh +++ b/src/modules/psb_const.fh @@ -1,33 +1,33 @@ -C -C Parallel Sparse BLAS v2.0 -C (C) Copyright 2006 Salvatore Filippone University of Rome Tor Vergata -C Alfredo Buttari University of Rome Tor Vergata -C -C Redistribution and use in source and binary forms, with or without -C modification, are permitted provided that the following conditions -C are met: -C 1. Redistributions of source code must retain the above copyright -C notice, this list of conditions and the following disclaimer. -C 2. Redistributions in binary form must reproduce the above copyright -C notice, this list of conditions, and the following disclaimer in the -C documentation and/or other materials provided with the distribution. -C 3. The name of the PSBLAS group or the names of its contributors may -C not be used to endorse or promote products derived from this -C software without specific written permission. -C -C THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -C ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -C TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -C PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PSBLAS GROUP OR ITS CONTRIBUTORS -C BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -C CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -C SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -C INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -C CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -C ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -C POSSIBILITY OF SUCH DAMAGE. -C -C +! +! Parallel Sparse BLAS v2.0 +! (C) Copyright 2006 Salvatore Filippone University of Rome Tor Vergata +! Alfredo Buttari University of Rome Tor Vergata +! +! Redistribution and use in source and binary forms, with or without +! modification, are permitted provided that the following conditions +! are met: +! 1. Redistributions of source code must retain the above copyright +! notice, this list of conditions and the following disclaimer. +! 2. Redistributions in binary form must reproduce the above copyright +! notice, this list of conditions, and the following disclaimer in the +! documentation and/or other materials provided with the distribution. +! 3. The name of the PSBLAS group or the names of its contributors may +! not be used to endorse or promote products derived from this +! software without specific written permission. +! +! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +! TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +! PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PSBLAS GROUP OR ITS CONTRIBUTORS +! BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +! POSSIBILITY OF SUCH DAMAGE. +! +! integer, parameter :: psb_nohalo_=0, psb_halo_=4 integer, parameter :: psb_none_=0, psb_sum_=1 integer, parameter :: psb_avg_=2, psb_square_root_=3 @@ -58,12 +58,12 @@ C integer, parameter :: psb_elem_send_=3, psb_n_ovrlp_elem_=1 integer, parameter :: psb_ovrlp_elem_to_=2, psb_ovrlp_elem_=0 integer, parameter :: psb_n_dom_ovr_=1 - integer, parameter :: psb_nnz_=1 integer, parameter :: psb_no_comm_=-1 integer, parameter :: ione=1, izero=0 integer, parameter :: itwo=2, ithree=3,mone=-1, psb_root_=0 integer, parameter :: psb_nztotreq_=1, psb_nzrowreq_=2 integer, parameter :: psb_nzsizereq_=3 + integer, parameter :: psb_nnz_=1 integer, parameter :: psb_del_bnd_=6, psb_srtd_=7 integer, parameter :: psb_state_=8, psb_upd_=9 integer, parameter :: psb_upd_pnt_=10, psb_ifasize_=10 @@ -82,6 +82,7 @@ C real(kind(1.d0)), parameter :: dzero=0.d0, done=1.d0 complex(kind(1.d0)), parameter :: zzero=(0.d0,0.0d0) complex(kind(1.d0)), parameter :: zone=(1.d0,0.0d0) + real(kind(1.d0)), parameter :: epstol=1.d-32 character, parameter :: psb_all_='A', psb_topdef_=' ' character(len=5) :: psb_fidef_='CSR' diff --git a/src/modules/psb_const_mod.f90 b/src/modules/psb_const_mod.f90 index b59d8add..6d1d2f87 100644 --- a/src/modules/psb_const_mod.f90 +++ b/src/modules/psb_const_mod.f90 @@ -31,54 +31,6 @@ module psb_const_mod - integer, parameter :: psb_nohalo_=0, psb_halo_=4 - integer, parameter :: psb_none_=0, psb_sum_=1 - integer, parameter :: psb_avg_=2, psb_square_root_=3 - integer, parameter :: psb_swap_send_=1, psb_swap_recv_=2 - integer, parameter :: psb_swap_sync_=4, psb_swap_mpi_=8 - integer, parameter :: psb_deadlock_check_=0, psb_local_mtrx_check_=1 - integer, parameter :: psb_local_comm_check_=2, psb_consistency_check_=3 - integer, parameter :: psb_global_check_=4, psb_order_communication_=5 - integer, parameter :: psb_change_represent_=6, psb_loc_to_glob_check_=7 - integer, parameter :: psb_convert_halo_=1, psb_convert_ovrlap_=2 - integer, parameter :: psb_act_ret_=0, psb_act_abort_=1, no_err_=0 - integer, parameter :: psb_dec_type_=1, psb_m_=2,psb_n_=3 - integer, parameter :: psb_n_row_=4, psb_n_col_=5,psb_ctxt_=6 - integer, parameter :: psb_loc_to_glob_=7, psb_mpi_c_=9,psb_mdata_size_=10 - integer, parameter :: psb_desc_asb_=3099, psb_desc_bld_=psb_desc_asb_+1 - integer, parameter :: psb_desc_repl_=3199 - integer, parameter :: psb_desc_upd_=psb_desc_bld_+1, psb_desc_upd_asb_=psb_desc_upd_+1 - integer, parameter :: psb_upd_glb_=998, psb_upd_loc_=997 - integer, parameter :: psb_proc_id_=0, psb_n_elem_recv_=1 - integer, parameter :: psb_elem_recv_=2, psb_n_elem_send_=2 - integer, parameter :: psb_elem_send_=3, psb_n_ovrlp_elem_=1 - integer, parameter :: psb_ovrlp_elem_to_=2, psb_ovrlp_elem_=0, psb_n_dom_ovr_=1 - integer, parameter :: psb_nnz_=1 - integer, parameter :: psb_no_comm_=-1 - integer, parameter :: ione=1,izero=0,mone=-1 - integer, parameter :: itwo=2, ithree=3, psb_root_=0 - integer, parameter :: psb_nztotreq_=1, psb_nzrowreq_=2, psb_nzsizereq_=3 - integer, parameter :: psb_del_bnd_=6, psb_srtd_=7 - integer, parameter :: psb_state_=8, psb_upd_=9 - integer, parameter :: psb_upd_pnt_=10, psb_ifasize_=10 - integer, parameter :: psb_spmat_null_=0, psb_spmat_bld_=1 - integer, parameter :: psb_spmat_asb_=2, psb_spmat_upd_=4 - integer, parameter :: psb_ireg_flgs_=10, psb_ip2_=0 - integer, parameter :: psb_iflag_=2, psb_ichk_=3 - integer, parameter :: psb_nnzt_=4, psb_zero_=5,psb_ipc_=6 - integer, parameter :: psb_perm_update_=98765, psb_isrtdcoo_=98764 - integer, parameter :: psb_maxjdrows_=8, psb_minjdrows_=4 - integer, parameter :: psb_dbleint_=2 - integer, parameter :: psb_comm_halo_=0, psb_comm_ovr_=1 - - real(kind(1.d0)), parameter :: psb_colrow_=0.33, psb_percent_=0.7 - real(kind(1.d0)), parameter :: dzero=0.d0, done=1.d0 - complex(kind(1.d0)), parameter :: zzero=(0.d0,0.0d0), zone=(1.d0,0.0d0) - real(kind(1.d0)), parameter :: epstol=1.d-32 - - character, parameter :: psb_all_='A', psb_topdef_=' ' - character(len=5) :: psb_fidef_='CSR' - - + include 'psb_const.fh' end module psb_const_mod diff --git a/src/modules/psb_error_mod.f90 b/src/modules/psb_error_mod.f90 index 52afa67c..35612755 100644 --- a/src/modules/psb_error_mod.f90 +++ b/src/modules/psb_error_mod.f90 @@ -30,17 +30,18 @@ !!$ module psb_error_mod + use psb_const_mod public psb_errpush, psb_error, psb_get_errstatus,& & psb_get_errverbosity, psb_set_errverbosity,psb_errcomm, & - & psb_erractionsave, psb_erractionrestore, act_ret, act_abort, & - & no_err, psb_get_erraction, psb_set_erraction + & psb_erractionsave, psb_erractionrestore, & + & psb_get_erraction, psb_set_erraction interface psb_error module procedure psb_serror module procedure psb_perror end interface - integer, parameter :: act_ret=0, act_abort=1, no_err=0 +!!$ integer, parameter :: act_ret=0, act_abort=1, no_err=0 private diff --git a/src/modules/psb_realloc_mod.f90 b/src/modules/psb_realloc_mod.f90 index 61871b13..9ed0a2c6 100644 --- a/src/modules/psb_realloc_mod.f90 +++ b/src/modules/psb_realloc_mod.f90 @@ -29,8 +29,9 @@ !!$ !!$ module psb_realloc_mod + use psb_const_mod implicit none - + Interface psb_realloc module procedure psb_dreallocate1i module procedure psb_dreallocate2i diff --git a/src/prec/psb_dilu_fct.f90 b/src/prec/psb_dilu_fct.f90 index 1447f065..3f112bea 100644 --- a/src/prec/psb_dilu_fct.f90 +++ b/src/prec/psb_dilu_fct.f90 @@ -44,6 +44,7 @@ subroutine psb_dilu_fct(a,l,u,d,info,blck) use psb_serial_mod use psb_tools_mod use psb_error_mod + use psb_const_mod implicit none ! .. Scalar Arguments .. integer, intent(out) :: info diff --git a/src/serial/csr/dcocrupd.f b/src/serial/csr/dcocrupd.f index 9f868f4c..8389ea38 100644 --- a/src/serial/csr/dcocrupd.f +++ b/src/serial/csr/dcocrupd.f @@ -56,7 +56,6 @@ C .. Local scalars .. INTEGER J, NNZ, IP1, NNZI C .. Local arrays .. IERROR = 0 -c$$$ write(0,*) 'dcocrupd ',infoa(upd_),ibits(infoa(upd_),2,1) IF (IBITS(INFOA(PSB_UPD_),2,1).EQ.1) THEN C C Smart update capability diff --git a/src/serial/csr/dcrcrupd.f b/src/serial/csr/dcrcrupd.f index 51bf8d82..6e5c7af3 100644 --- a/src/serial/csr/dcrcrupd.f +++ b/src/serial/csr/dcrcrupd.f @@ -57,7 +57,6 @@ C .. Local scalars .. + NRC, IPH, JPH, JPA, LPA, IRET, LNK, NNZ, IP1 C .. Local arrays .. IERROR = 0 -c$$$ write(0,*) 'dcrcrupd ',infoa(upd_),ibits(infoa(upd_),2,1) IF (IBITS(INFOA(PSB_UPD_),2,1).EQ.1) THEN C C Smart update capability diff --git a/src/serial/psb_dcoins.f90 b/src/serial/psb_dcoins.f90 index 826185b0..f54b20df 100644 --- a/src/serial/psb_dcoins.f90 +++ b/src/serial/psb_dcoins.f90 @@ -108,7 +108,7 @@ subroutine psb_dcoins(nz,ia,ja,val,a,gtl,imin,imax,jmin,jmax,info) endif if ((nza+nz)>isza) then - call psb_sp_reall(a,nza+nz,info) + call psb_sp_reall(a,max(nza+nz,int(1.5*isza)),info) if(info.ne.izero) then info=4010 ch_err='psb_sp_reall'